From db1144604ca861cfc438bc42d93ce4b26d268aca Mon Sep 17 00:00:00 2001 From: Mahmoud Adam Date: Tue, 15 May 2018 10:46:34 +0200 Subject: [PATCH] Firefox v11.x --- .gitattributes | 0 .gitignore | 0 .swiftlint.yml | 0 AUTHORS | 0 Account/Account-Bridging-Header.h | 0 Account/FirefoxAccount.swift | 0 Account/FirefoxAccountConfiguration.swift | 0 Account/FxAClient10.swift | 0 Account/FxADevice.swift | 0 Account/FxADeviceRegistration.swift | 0 Account/FxALoginStateMachine.swift | 0 Account/FxAPushMessageHandler.swift | 0 Account/FxAState.swift | 0 Account/HawkHelper.swift | 0 Account/Info.plist | 2 +- Account/SyncAuthState.swift | 0 Account/TokenServerClient.swift | 0 AccountTests/FirefoxAccountTests.swift | 0 AccountTests/FxAClient10Tests.swift | 0 AccountTests/FxALoginStateMachineTests.swift | 0 AccountTests/FxAStateTests.swift | 0 AccountTests/HawkHelperTests.swift | 0 AccountTests/Info.plist | 2 +- AccountTests/LiveAccountTest.swift | 0 AccountTests/SyncAuthStateTests.swift | 0 AccountTests/TokenServerClientTests.swift | 0 Cartfile | 8 +- Cartfile.resolved | 26 +- Client-Bridging-Header.h | 0 Client.xcodeproj/project.pbxproj | 147 +- .../contents.xcworkspacedata | 0 .../xcshareddata/WorkspaceSettings.xcsettings | 0 ...FE8885C6-BB1A-48D2-9B90-E9F952C98F6B.plist | 0 .../Info.plist | 0 ...F9839E4F-67D2-4920-8CE8-94CEE3A6C3D7.plist | 0 .../Info.plist | 0 .../xcshareddata/xcschemes/Account.xcscheme | 0 .../xcshareddata/xcschemes/Fennec.xcscheme | 0 .../xcschemes/Fennec_Enterprise.xcscheme | 0 .../Fennec_Enterprise_UITests.xcscheme | 0 .../Fennec_Enterprise_XCUITests.xcscheme | 21 + .../Fennec_Enterprise_XCUITests_iPad.xcscheme | 21 + .../xcshareddata/xcschemes/Firefox.xcscheme | 90 + .../xcschemes/FirefoxBeta.xcscheme | 90 + .../xcschemes/L10nSnapshotTests.xcscheme | 3 + .../xcschemes/MarketingUITests.xcscheme | 0 .../xcschemes/ReadingList.xcscheme | 0 .../xcshareddata/xcschemes/SendTo.xcscheme | 0 .../xcshareddata/xcschemes/ShareTo.xcscheme | 0 .../xcshareddata/xcschemes/Shared.xcscheme | 0 .../xcshareddata/xcschemes/Storage.xcscheme | 0 .../xcshareddata/xcschemes/Sync.xcscheme | 0 .../xcshareddata/xcschemes/Telemetry.xcscheme | 0 .../xcshareddata/xcschemes/Today.xcscheme | 0 .../xcshareddata/xcschemes/ViewLater.xcscheme | 0 Client/Application/AdjustIntegration.swift | 0 Client/Application/AppDelegate.swift | 241 +- Client/Application/Crasher.h | 0 Client/Application/Crasher.m | 0 .../DebugSettingsBundleOptions.swift | 0 Client/Application/LaunchScreen.xib | 0 Client/Application/LeanplumIntegration.swift | 36 +- Client/Application/NavigationRouter.swift | 206 ++ Client/Application/QuickActions.swift | 0 Client/Application/Settings.bundle/Root.plist | 0 .../Settings.bundle/en.lproj/Root.strings | Bin Client/Application/TestAppDelegate.swift | 0 Client/Application/WebServer.swift | 0 Client/Application/main.swift | 0 Client/Assets/About/Licenses.html | 0 Client/Assets/AllFramesAtDocumentEnd.js | 2 +- Client/Assets/AllFramesAtDocumentStart.js | 2 +- Client/Assets/CertError.css | 0 Client/Assets/CertError.html | 0 .../AtDocumentEnd => Assets}/FxASignIn.js | 0 .../AddSearch.imageset/AddSearch.png | Bin .../AddSearch.imageset/AddSearch@2x.png | Bin .../AddSearch.imageset/AddSearch@3x.png | Bin .../AddSearch.imageset/Contents.json | 0 .../AppIcon.appiconset/Contents.json | 0 .../AppIcon.appiconset/icon-29.png | Bin .../AppIcon.appiconset/icon-29@2x.png | Bin .../AppIcon.appiconset/icon-29@3x.png | Bin .../AppIcon.appiconset/icon-40.png | Bin .../AppIcon.appiconset/icon-40@2x.png | Bin .../AppIcon.appiconset/icon-40@3x.png | Bin .../AppIcon.appiconset/icon-512@2x.png | Bin .../AppIcon.appiconset/icon-60.png | Bin .../AppIcon.appiconset/icon-60@2x.png | Bin .../AppIcon.appiconset/icon-60@3x.png | Bin .../AppIcon.appiconset/icon-76.png | Bin .../AppIcon.appiconset/icon-76@2x.png | Bin .../AppIcon.appiconset/icon-83.5@2x.png | Bin .../AppIcon_Beta.appiconset/Contents.json | 0 .../AppIcon_Beta.appiconset/icon-29.png | Bin .../AppIcon_Beta.appiconset/icon-29@2x.png | Bin .../AppIcon_Beta.appiconset/icon-29@3x.png | Bin .../AppIcon_Beta.appiconset/icon-40.png | Bin .../AppIcon_Beta.appiconset/icon-40@2x.png | Bin .../AppIcon_Beta.appiconset/icon-40@3x.png | Bin .../AppIcon_Beta.appiconset/icon-512@2x.png | Bin .../AppIcon_Beta.appiconset/icon-60.png | Bin .../AppIcon_Beta.appiconset/icon-60@2x.png | Bin .../AppIcon_Beta.appiconset/icon-60@3x.png | Bin .../AppIcon_Beta.appiconset/icon-76.png | Bin .../AppIcon_Beta.appiconset/icon-76@2x.png | Bin .../AppIcon_Beta.appiconset/icon-83.5@2x.png | Bin .../Contents.json | 0 .../Icon-60@2x.png | Bin .../Icon-60@3x.png | Bin .../AppIcon_Developer.appiconset/Icon-72.png | Bin .../Icon-72@2x.png | Bin .../AppIcon_Developer.appiconset/Icon-76.png | Bin .../Icon-76@2x.png | Bin .../Icon-Small-40.png | Bin .../Icon-Small-40@2x.png | Bin .../Icon-Small-50.png | Bin .../Icon-Small-50@2x.png | Bin .../Icon-Small.png | Bin .../Icon-Small@2x.png | Bin .../Icon-iPadPro@2x.png | Bin .../AppIcon_Developer.appiconset/Icon.png | Bin .../AppIcon_Developer.appiconset/Icon@2x.png | Bin Client/Assets/Images.xcassets/Contents.json | 0 .../Find In Page/Contents.json | 0 .../find_close.imageset/Contents.json | 0 .../find_close.imageset/close.png | Bin .../find_close.imageset/close@2x.png | Bin .../find_close.imageset/close@3x.png | Bin .../find_next.imageset/Contents.json | 0 .../find_next.imageset/down-caret.png | Bin .../find_next.imageset/down-caret@2x.png | Bin .../find_next.imageset/down-caret@3x.png | Bin .../find_previous.imageset/Contents.json | 0 .../find_previous.imageset/up-caret.png | Bin .../find_previous.imageset/up-caret@2x.png | Bin .../find_previous.imageset/up-caret@3x.png | Bin .../New Tab - Activity Stream/Contents.json | 0 .../context_bookmark.imageset/Contents.json | 0 .../context-bookmark.png | Bin .../context-bookmark@2x.png | Bin .../context-bookmark@3x.png | Bin .../context_open.imageset/Contents.json | 0 .../context_open.imageset/context-open.png | Bin .../context_open.imageset/context-open@2x.png | Bin .../context_open.imageset/context-open@3x.png | Bin .../context_sync.imageset/Contents.json | 0 .../context_sync.imageset/context-sync.png | Bin .../context_sync.imageset/context-sync@2x.png | Bin .../context_sync.imageset/context-sync@3x.png | Bin .../context_viewed.imageset/Contents.json | 0 .../context-viewed.png | Bin .../context-viewed@2x.png | Bin .../context-viewed@3x.png | Bin .../defaultTopSiteIcon.imageset/Contents.json | 0 .../defaultTopSiteIcon.png | Bin .../defaultTopSiteIcon@2x.png | Bin .../defaultTopSiteIcon@3x.png | Bin .../pin_small.imageset/Contents.json | 0 .../pin_small.imageset/pin-small.png | Bin .../pin_small.imageset/pin-small@2x.png | Bin .../pin_small.imageset/pin-small@3x.png | Bin .../New Tab - Context menu/Contents.json | 0 .../action_bookmark.imageset/Contents.json | 0 .../Contents.json | 0 .../action_delete.imageset/Contents.json | 0 .../action_pin.imageset/Contents.json | 0 .../action_pin.imageset/pin-28.png | Bin .../action_remove.imageset/Contents.json | 0 .../action_share.imageset/Contents.json | 0 .../action_unpin.imageset/Contents.json | 0 .../action_unpin.imageset/pinremove.png | Bin .../action_unpin.imageset/pinremove@2x.png | Bin .../action_unpin.imageset/pinremove@3x.png | Bin .../New Tab - Reader/Contents.json | 0 .../MarkAsRead.imageset/Contents.json | 0 .../MarkAsRead.imageset/UnRead.png | Bin .../MarkAsRead.imageset/UnRead@2x.png | Bin .../MarkAsRead.imageset/UnRead@3x.png | Bin .../MarkAsUnread.imageset/Contents.json | 0 .../MarkAsUnread.imageset/Read.png | Bin .../MarkAsUnread.imageset/Read@2x.png | Bin .../MarkAsUnread.imageset/Read@3x.png | Bin .../ReaderModeActive.imageset/Contents.json | 0 .../reader-active.png | Bin .../reader-active@2x.png | Bin .../reader-active@3x.png | Bin .../Contents.json | 0 .../readerOff.png | Bin .../readerOff@2x.png | Bin .../readerOff@3x.png | Bin .../SettingsSansSerif.imageset/AaFira.png | Bin .../SettingsSansSerif.imageset/AaFira@2x.png | Bin .../SettingsSansSerif.imageset/AaFira@3x.png | Bin .../SettingsSansSerif.imageset/Contents.json | 0 .../SettingsSerif.imageset/AaCharis.png | Bin .../SettingsSerif.imageset/AaCharis@2x.png | Bin .../SettingsSerif.imageset/AaCharis@3x.png | Bin .../SettingsSerif.imageset/Contents.json | 0 .../addToReadingList.imageset/Contents.json | 0 .../reading-list-add.png | Bin .../reading-list-add@2x.png | Bin .../reading-list-add@3x.png | Bin .../brightnessMax.imageset/Contents.json | 0 .../brightnessMax.imageset/brightnessMax.png | Bin .../brightnessMax@2x.png | Bin .../brightnessMax@3x.png | Bin .../brightnessMin.imageset/Contents.json | 0 .../brightnessMin.imageset/brightnessMin.png | Bin .../brightnessMin@2x.png | Bin .../brightnessMin@3x.png | Bin .../Contents.json | 0 .../removeFromList.png | Bin .../removeFromList@2x.png | Bin .../removeFromList@3x.png | Bin .../Images.xcassets/TabToolbar/Contents.json | 0 .../TabToolbar/nav-add.imageset/Contents.json | 0 .../TabToolbar/nav-add.imageset/nav-add.png | Bin .../nav-add.imageset/nav-add@2x.png | Bin .../nav-add.imageset/nav-add@3x.png | Bin .../nav-back.imageset/Contents.json | 3 + .../nav-forward.imageset/Contents.json | 3 + .../nav-menu.imageset/Contents.json | 0 .../nav-refresh.imageset/Contents.json | 0 .../nav-share.imageset/Contents.json | 0 .../TabToolbar/nav-share.imageset/share.png | Bin .../nav-share.imageset/share@2x.png | Bin .../nav-share.imageset/share@3x.png | Bin .../nav-stop.imageset/Contents.json | 0 .../bookmark.imageset/Contents.json | 0 .../bookmark.imageset/bookmark.png | Bin .../bookmark.imageset/bookmark@2x.png | Bin .../bookmark.imageset/bookmark@3x.png | Bin .../bookmarkFolder.imageset/Contents.json | 0 .../bookmarkFolder.imageset/icon-folder.png | Bin .../icon-folder@2x.png | Bin .../icon-folder@3x.png | Bin .../Contents.json | 0 .../bookmarkHighlighted.png | Bin .../bookmarkHighlighted@2x.png | Bin .../bookmarkHighlighted@3x.png | Bin .../bookmarked.imageset/Contents.json | 0 .../bookmarked.imageset/bookmarkPressed.png | Bin .../bookmarkPressed@2x.png | Bin .../bookmarkPressed@3x.png | Bin .../bookmarked_passive.imageset/Contents.json | 0 .../bookmarked_passive.png | Bin .../bookmarked_passive@2x.png | Bin .../bookmarked_passive@3x.png | Bin .../context_pocket.imageset/Contents.json | 0 .../context_pocket.png | Bin .../context_pocket@2x.png | Bin .../context_pocket@3x.png | Bin .../defaultFavicon.imageset/Contents.json | 0 .../defaultFavicon.imageset/newtab-icon.png | Bin .../newtab-icon@2x.png | Bin .../newtab-icon@3x.png | Bin .../deviceTypeDesktop.imageset/Contents.json | 0 .../deviceTypeDesktop.png | Bin .../deviceTypeDesktop@2x.png | Bin .../deviceTypeDesktop@3x.png | Bin .../deviceTypeMobile.imageset/Contents.json | 0 .../deviceTypeMobile.png | Bin .../deviceTypeMobile@2x.png | Bin .../deviceTypeMobile@3x.png | Bin .../faviconFox.imageset/Contents.json | 0 .../faviconFox.imageset/back-panel-home.png | Bin .../back-panel-home@2x.png | Bin .../back-panel-home@3x.png | Bin .../fxLogo.imageset/Contents.json | 0 .../fxLogo.imageset/fxLogo.png | Bin .../fxLogo.imageset/fxLogo@2x.png | Bin .../fxLogo.imageset/fxLogo@3x.png | Bin .../fxa_get_started.imageset/Contents.json | 0 .../fxa_get_started.png | Bin .../fxa_get_started@2x.png | Bin .../goBack.imageset/Contents.json | 3 + .../goBack.imageset/goback.png | Bin .../goBack.imageset/goback@2x.png | Bin .../goBack.imageset/goback@3x.png | Bin .../key.imageset/Contents.json | 0 .../Images.xcassets/key.imageset/key.png | Bin .../Images.xcassets/key.imageset/key@2x.png | Bin .../Images.xcassets/key.imageset/key@3x.png | Bin .../largePrivateMask.imageset/Contents.json | 0 .../largePrivateMask.pdf | Bin .../lock_verified.imageset/Contents.json | 0 .../lock_verified.imageset/lock-small.png | Bin .../lock_verified.imageset/lock-small@2x.png | Bin .../lock_verified.imageset/lock-small@3x.png | Bin .../loginSelected.imageset/Contents.json | 0 .../loginSelected.imageset/loginSelected.png | Bin .../loginSelected@2x.png | Bin .../loginSelected@3x.png | Bin .../loginUnselected.imageset/Contents.json | 0 .../loginUnselected.png | Bin .../loginUnselected@2x.png | Bin .../loginUnselected@3x.png | Bin .../quickSearch.imageset/Contents.json | 0 .../quickSearch.imageset/quick-search.png | Bin .../quickSearch.imageset/quick-search@2x.png | Bin .../quickSearch.imageset/quick-search@3x.png | Bin .../Contents.json | 0 .../go-to-copied.png | Bin .../go-to-copied2x.png | Bin .../go-to-copied@3x.png | Bin .../Contents.json | 0 .../last-bookmark.png | Bin .../last-bookmark@2x.png | Bin .../last-bookmark@3x.png | Bin .../Contents.json | 0 .../open-tab.png | Bin .../open-tab2x.png | Bin .../open-tab@3x.png | Bin .../Contents.json | 0 .../new-private-tab.png | Bin .../new-private-tab@2x.png | Bin .../new-private-tab@3x.png | Bin .../Contents.json | 0 .../quick_action_new_tab.imageset/new-tab.png | Bin .../new-tab@2x.png | Bin .../new-tab@3x.png | Bin .../Contents.json | 0 .../reading-list.png | Bin .../reading-list2x.png | Bin .../reading-list@3x.png | Bin .../reader.imageset/Contents.json | 0 .../reader.imageset/readermode.png | Bin .../reader.imageset/readermode@2x.png | Bin .../reader.imageset/readermode@3x.png | Bin .../recently_closed.imageset/Contents.json | 0 .../closedRecently.png | Bin .../closedRecently@2x.png | Bin .../closedRecently@3x.png | Bin .../search.imageset/Contents.json | 0 .../search-suggestion-magnifying-glass.png | Bin .../search-suggestion-magnifying-glass@2x.png | Bin .../search-suggestion-magnifying-glass@3x.png | Bin .../settings.imageset/Contents.json | 0 .../settings.imageset/Settings-cog.png | Bin .../settings.imageset/Settings-cog@2x.png | Bin .../settings.imageset/Settings-cog@3x.png | Bin .../Contents.json | 0 .../shareRequestDesktopSite.imageset/RDS.png | Bin .../RDS@2x.png | Bin .../RDS@3x.png | Bin .../Contents.json | 0 .../shareRequestMobileSite.imageset/RMS.png | Bin .../RMS@2x.png | Bin .../RMS@3x.png | Bin .../smallPrivateMask.imageset/Contents.json | 0 .../new-private-tab.png | Bin .../new-private-tab@2x.png | Bin .../new-private-tab@3x.png | Bin .../splash.imageset/Contents.json | 0 .../splash.imageset/splash.png | Bin .../splash.imageset/splash@2x.png | Bin .../splash.imageset/splash@3x.png | Bin .../synced_devices.imageset/Contents.json | 0 .../synced_devices.imageset/Synced Panel.png | Bin .../Synced Panel@2x.png | Bin .../Synced Panel@3x.png | Bin .../tab_close.imageset/Contents.json | 23 + .../tab_close.imageset/close-medium.png | Bin 0 -> 226 bytes .../tab_close.imageset/close-medium@2x.png | Bin 0 -> 427 bytes .../tab_close.imageset/close-medium@3x.png | Bin 0 -> 570 bytes .../topTabs-closeTabs.imageset/Contents.json | 0 .../topTabs-closeTabs.imageset/closeTab.png | Bin .../closeTab@2x.png | Bin .../closeTab@3x.png | Bin .../Contents.json | 23 + .../trackingprotection-off-medium.png | Bin 0 -> 402 bytes .../trackingprotection-off-medium@2x.png | Bin 0 -> 698 bytes .../trackingprotection-off-medium@3x.png | Bin 0 -> 1133 bytes .../Contents.json | 23 + .../trackingprotection-medium.png | Bin 0 -> 387 bytes .../trackingprotection-medium@2x.png | Bin 0 -> 702 bytes .../trackingprotection-medium@3x.png | Bin 0 -> 1117 bytes Client/Assets/MainFrameAtDocumentEnd.js | 2 +- Client/Assets/MainFrameAtDocumentStart.js | 2 +- Client/Assets/NetError.css | 0 Client/Assets/NetError.html | 0 Client/Assets/Search/README.md | 0 Client/Assets/Search/SearchOverlays/baidu.xml | 0 Client/Assets/Search/SearchOverlays/bing.xml | 0 .../Search/SearchOverlays/duckduckgo.xml | 0 Client/Assets/Search/SearchOverlays/qwant.xml | 0 Client/Assets/Search/SearchOverlays/yahoo.xml | 0 .../Assets/Search/SearchPlugins/amazon-au.xml | 0 .../Assets/Search/SearchPlugins/amazon-br.xml | 0 .../Assets/Search/SearchPlugins/amazon-ca.xml | 0 .../Search/SearchPlugins/amazon-co-uk.xml | 0 .../Assets/Search/SearchPlugins/amazon-de.xml | 0 .../Assets/Search/SearchPlugins/amazon-fr.xml | 0 .../Assets/Search/SearchPlugins/amazon-in.xml | 0 .../Assets/Search/SearchPlugins/amazon-jp.xml | 0 .../Assets/Search/SearchPlugins/amazon-mx.xml | 0 .../Assets/Search/SearchPlugins/amazon-nl.xml | 0 .../Search/SearchPlugins/amazondotcom.xml | 0 .../Assets/Search/SearchPlugins/azerdict.xml | 0 .../Assets/Search/SearchPlugins/azet-sk.xml | 0 Client/Assets/Search/SearchPlugins/baidu.xml | 0 Client/Assets/Search/SearchPlugins/bing.xml | 0 .../Search/SearchPlugins/bolcom-fy-NL.xml | 0 .../Assets/Search/SearchPlugins/bolcom-nl.xml | 0 Client/Assets/Search/SearchPlugins/ceneje.xml | 0 Client/Assets/Search/SearchPlugins/coccoc.xml | 0 .../Assets/Search/SearchPlugins/danawa-kr.xml | 0 .../Assets/Search/SearchPlugins/daum-kr.xml | 0 Client/Assets/Search/SearchPlugins/ddg.xml | 0 Client/Assets/Search/SearchPlugins/diec2.xml | 0 Client/Assets/Search/SearchPlugins/drae.xml | 0 .../Search/SearchPlugins/duckduckgo.xml | 0 .../Assets/Search/SearchPlugins/elebila.xml | 0 .../Search/SearchPlugins/faclair-beag.xml | 0 .../Search/SearchPlugins/google-2018.xml | 0 .../Search/SearchPlugins/google-nocodes.xml | 0 Client/Assets/Search/SearchPlugins/google.xml | 0 .../SearchPlugins/gulesider-mobile-NO.xml | 0 .../Search/SearchPlugins/heureka-cz.xml | 0 .../Assets/Search/SearchPlugins/leit-is.xml | 0 .../Search/SearchPlugins/leo_ende_de.xml | 0 .../Assets/Search/SearchPlugins/list-am.xml | 0 Client/Assets/Search/SearchPlugins/list.json | 142 +- .../Assets/Search/SearchPlugins/mapy-cz.xml | 0 .../Search/SearchPlugins/mercadolibre-ar.xml | 0 .../Search/SearchPlugins/mercadolibre-cl.xml | 0 .../Search/SearchPlugins/mercadolibre-mx.xml | 0 .../Assets/Search/SearchPlugins/naver-kr.xml | 0 .../Assets/Search/SearchPlugins/odpiralni.xml | 0 .../Search/SearchPlugins/pledarigrond.xml | 0 .../Search/SearchPlugins/prisjakt-sv-SE.xml | 0 Client/Assets/Search/SearchPlugins/qwant.xml | 0 Client/Assets/Search/SearchPlugins/rediff.xml | 0 .../Search/SearchPlugins/reta-vortaro.xml | 0 .../Search/SearchPlugins/salidzinilv.xml | 0 .../Assets/Search/SearchPlugins/seznam-cz.xml | 0 .../Assets/Search/SearchPlugins/skroutz.xml | 0 .../Search/SearchPlugins/slovnik-sk.xml | 0 Client/Assets/Search/SearchPlugins/sslv.xml | 0 .../Search/SearchPlugins/sztaki-en-hu.xml | 0 Client/Assets/Search/SearchPlugins/taobao.xml | 0 Client/Assets/Search/SearchPlugins/tearma.xml | 0 .../Search/SearchPlugins/twitter-ja.xml | 0 .../Assets/Search/SearchPlugins/twitter.xml | 0 Client/Assets/Search/SearchPlugins/vatera.xml | 0 .../Search/SearchPlugins/wikipedia-NN.xml | 0 .../Search/SearchPlugins/wikipedia-NO.xml | 0 .../Search/SearchPlugins/wikipedia-an.xml | 0 .../Search/SearchPlugins/wikipedia-ar.xml | 0 .../Search/SearchPlugins/wikipedia-as.xml | 0 .../Search/SearchPlugins/wikipedia-ast.xml | 0 .../Search/SearchPlugins/wikipedia-az.xml | 0 .../Search/SearchPlugins/wikipedia-be.xml | 0 .../Search/SearchPlugins/wikipedia-bg.xml | 0 .../Search/SearchPlugins/wikipedia-bn.xml | 0 .../Search/SearchPlugins/wikipedia-br.xml | 0 .../Search/SearchPlugins/wikipedia-bs.xml | 0 .../Search/SearchPlugins/wikipedia-ca.xml | 0 .../Search/SearchPlugins/wikipedia-cy.xml | 0 .../Search/SearchPlugins/wikipedia-cz.xml | 0 .../Search/SearchPlugins/wikipedia-da.xml | 0 .../Search/SearchPlugins/wikipedia-de.xml | 0 .../Search/SearchPlugins/wikipedia-dsb.xml | 0 .../Search/SearchPlugins/wikipedia-el.xml | 0 .../Search/SearchPlugins/wikipedia-eo.xml | 0 .../Search/SearchPlugins/wikipedia-es.xml | 0 .../Search/SearchPlugins/wikipedia-et.xml | 0 .../Search/SearchPlugins/wikipedia-eu.xml | 0 .../Search/SearchPlugins/wikipedia-fa.xml | 0 .../Search/SearchPlugins/wikipedia-fi.xml | 0 .../Search/SearchPlugins/wikipedia-fr.xml | 0 .../Search/SearchPlugins/wikipedia-fy-NL.xml | 0 .../Search/SearchPlugins/wikipedia-ga-IE.xml | 0 .../Search/SearchPlugins/wikipedia-gd.xml | 0 .../Search/SearchPlugins/wikipedia-gl.xml | 0 .../Search/SearchPlugins/wikipedia-gn.xml | 0 .../Search/SearchPlugins/wikipedia-gu.xml | 0 .../Search/SearchPlugins/wikipedia-he.xml | 0 .../Search/SearchPlugins/wikipedia-hi.xml | 0 .../Search/SearchPlugins/wikipedia-hr.xml | 0 .../Search/SearchPlugins/wikipedia-hsb.xml | 0 .../Search/SearchPlugins/wikipedia-hu.xml | 0 .../Search/SearchPlugins/wikipedia-hy-AM.xml | 0 .../Search/SearchPlugins/wikipedia-ia.xml | 0 .../Search/SearchPlugins/wikipedia-id.xml | 0 .../Search/SearchPlugins/wikipedia-is.xml | 0 .../Search/SearchPlugins/wikipedia-it.xml | 0 .../Search/SearchPlugins/wikipedia-ja.xml | 0 .../Search/SearchPlugins/wikipedia-ka.xml | 0 .../Search/SearchPlugins/wikipedia-kab.xml | 0 .../Search/SearchPlugins/wikipedia-kk.xml | 0 .../Search/SearchPlugins/wikipedia-km.xml | 0 .../Search/SearchPlugins/wikipedia-kn.xml | 0 .../Search/SearchPlugins/wikipedia-lo.xml | 0 .../Search/SearchPlugins/wikipedia-lt.xml | 0 .../Search/SearchPlugins/wikipedia-ltg.xml | 0 .../Search/SearchPlugins/wikipedia-lv.xml | 0 .../Search/SearchPlugins/wikipedia-ml.xml | 0 .../Search/SearchPlugins/wikipedia-mr.xml | 0 .../Search/SearchPlugins/wikipedia-ms.xml | 0 .../Search/SearchPlugins/wikipedia-my.xml | 0 .../Search/SearchPlugins/wikipedia-ne.xml | 0 .../Search/SearchPlugins/wikipedia-nl.xml | 0 .../Search/SearchPlugins/wikipedia-oc.xml | 0 .../Search/SearchPlugins/wikipedia-or.xml | 0 .../Search/SearchPlugins/wikipedia-pa.xml | 0 .../Search/SearchPlugins/wikipedia-pl.xml | 0 .../Search/SearchPlugins/wikipedia-pt.xml | 0 .../Search/SearchPlugins/wikipedia-rm.xml | 0 .../Search/SearchPlugins/wikipedia-ro.xml | 0 .../Search/SearchPlugins/wikipedia-ru.xml | 0 .../Search/SearchPlugins/wikipedia-sk.xml | 0 .../Search/SearchPlugins/wikipedia-sl.xml | 0 .../Search/SearchPlugins/wikipedia-sq.xml | 0 .../Search/SearchPlugins/wikipedia-sr.xml | 0 .../Search/SearchPlugins/wikipedia-sv-SE.xml | 0 .../Search/SearchPlugins/wikipedia-ta.xml | 0 .../Search/SearchPlugins/wikipedia-te.xml | 0 .../Search/SearchPlugins/wikipedia-th.xml | 0 .../Search/SearchPlugins/wikipedia-tr.xml | 0 .../Search/SearchPlugins/wikipedia-uk.xml | 0 .../Search/SearchPlugins/wikipedia-ur.xml | 0 .../Search/SearchPlugins/wikipedia-uz.xml | 0 .../Search/SearchPlugins/wikipedia-vi.xml | 0 .../Search/SearchPlugins/wikipedia-wo.xml | 0 .../Search/SearchPlugins/wikipedia-zh-CN.xml | 0 .../Search/SearchPlugins/wikipedia-zh-TW.xml | 0 .../Assets/Search/SearchPlugins/wikipedia.xml | 0 .../Search/SearchPlugins/wiktionary-kn.xml | 0 .../Search/SearchPlugins/wiktionary-oc.xml | 0 .../Search/SearchPlugins/wiktionary-or.xml | 0 .../Search/SearchPlugins/wiktionary-ta.xml | 0 .../Search/SearchPlugins/wiktionary-te.xml | 0 .../Assets/Search/SearchPlugins/yahoo-br.xml | 22 - .../Assets/Search/SearchPlugins/yahoo-ch.xml | 21 - .../Assets/Search/SearchPlugins/yahoo-cl.xml | 22 - .../Assets/Search/SearchPlugins/yahoo-de.xml | 22 - .../Search/SearchPlugins/yahoo-en-GB.xml | 22 - .../Assets/Search/SearchPlugins/yahoo-es.xml | 22 - .../Search/SearchPlugins/yahoo-espanol.xml | 22 - .../Assets/Search/SearchPlugins/yahoo-fi.xml | 22 - .../Search/SearchPlugins/yahoo-france.xml | 22 - .../Assets/Search/SearchPlugins/yahoo-id.xml | 22 - .../Assets/Search/SearchPlugins/yahoo-in.xml | 22 - .../Assets/Search/SearchPlugins/yahoo-it.xml | 22 - .../Assets/Search/SearchPlugins/yahoo-jp.xml | 0 .../Assets/Search/SearchPlugins/yahoo-mx.xml | 22 - Client/Assets/Search/SearchPlugins/yahoo.xml | 29 - .../Search/SearchPlugins/yandex-market.xml | 0 .../Assets/Search/SearchPlugins/yandex-ru.xml | 0 .../Assets/Search/SearchPlugins/yandex-tr.xml | 0 .../Assets/Search/SearchPlugins/yandex.by.xml | 0 Client/Assets/Search/SearchPlugins/yandex.xml | 0 .../Assets/Search/Tests/Base/testplugin.xml | 0 .../Assets/Search/Tests/Expected/append.xml | 0 .../Assets/Search/Tests/Expected/replace.xml | 0 .../Assets/Search/Tests/Overlays/append.xml | 0 .../Assets/Search/Tests/Overlays/replace.xml | 0 Client/Assets/SessionRestore.html | 0 Client/Assets/SpotlightHelper.js | 0 Client/Assets/TopSites/mozilla-com.png | Bin Client/Assets/topdomains.txt | 0 .../Configuration/Fennec.enterprise.xcconfig | 0 Client/Configuration/Fennec.xcconfig | 0 Client/Configuration/Firefox.xcconfig | 0 Client/Configuration/FirefoxBeta.xcconfig | 0 Client/DispatchQueueExtensions.swift | 0 .../FennecApplication.entitlements | 0 .../FennecEnterpriseApplication.entitlements | 0 .../FirefoxApplication.entitlements | 0 .../FirefoxBetaApplication.entitlements | 0 Client/Extensions/GeometryExtensions.swift | 0 .../NSAttributedStringExtensions.swift | 0 Client/Extensions/NSURLExtensionsMailTo.swift | 0 Client/Extensions/SnapKitExtensions.swift | 0 .../UIAlertControllerExtensions.swift | 0 Client/Extensions/UIImageViewExtensions.swift | 0 .../Extensions/UIPasteboardExtensions.swift | 0 Client/Extensions/UIViewExtensions.swift | 0 .../Accessors/HomePageAccessors.swift | 0 .../Frontend/Accessors/NewTabAccessors.swift | 0 .../AppAuthenticator.swift | 0 .../AuthenticationManagerConstants.swift | 0 ...AuthenticationSettingsViewController.swift | 4 - .../BasePasscodeViewController.swift | 0 .../ChangePasscodeViewController.swift | 0 .../PagingPasscodeViewController.swift | 0 .../PasscodeEntryViewController.swift | 0 .../AuthenticationManager/PasscodeViews.swift | 0 .../RemovePasscodeViewController.swift | 0 ...equirePasscodeIntervalViewController.swift | 0 .../SensitiveViewController.swift | 0 .../SetupPasscodeViewController.swift | 0 .../Frontend/Browser/AboutHomeHandler.swift | 0 Client/Frontend/Browser/Authenticator.swift | 0 .../Browser/BackForwardListAnimator.swift | 0 .../BackForwardListViewController.swift | 0 .../Browser/BackForwardTableViewCell.swift | 0 Client/Frontend/Browser/BrowserPrompts.swift | 0 .../Browser/BrowserTrayAnimators.swift | 1 + .../Browser/BrowserViewController.swift | 241 +- .../BrowserViewController+KeyCommands.swift | 82 +- ...Controller+UIDropInteractionDelegate.swift | 7 + ...rViewController+WKNavigationDelegate.swift | 0 Client/Frontend/Browser/ButtonToast.swift | 0 .../Browser/ClipboardBarDisplayHandler.swift | 0 .../Frontend/Browser/ContextMenuHelper.swift | 0 .../Browser/CustomSearchHandler.swift | 0 .../Frontend/Browser/DefaultSearchPrefs.swift | 0 Client/Frontend/Browser/ErrorPageHelper.swift | 0 Client/Frontend/Browser/FaviconHandler.swift | 6 +- Client/Frontend/Browser/FaviconManager.swift | 0 Client/Frontend/Browser/FindInPageBar.swift | 14 +- .../Frontend/Browser/FindInPageHelper.swift | 0 Client/Frontend/Browser/FocusHelper.swift | 45 + Client/Frontend/Browser/FormPostHelper.swift | 0 .../Frontend/Browser/HistoryStateHelper.swift | 0 Client/Frontend/Browser/HomePageHelper.swift | 0 .../Frontend/Browser/LocalRequestHelper.swift | 0 Client/Frontend/Browser/LoginsHelper.swift | 0 Client/Frontend/Browser/MailProviders.swift | 0 .../Frontend/Browser/MailtoLinkHandler.swift | 0 .../Browser/MetadataParserHelper.swift | 104 +- Client/Frontend/Browser/NightModeHelper.swift | 0 .../Frontend/Browser/NoImageModeHelper.swift | 0 Client/Frontend/Browser/OpenInHelper.swift | 0 Client/Frontend/Browser/OpenSearch.swift | 0 .../OpenWithSettingsViewController.swift | 0 Client/Frontend/Browser/PrintHelper.swift | 0 .../Frontend/Browser/PrivilegedRequest.swift | 0 Client/Frontend/Browser/Punycode.swift | 0 .../Browser/QRCode.xcassets/Contents.json | 0 .../qrcode-goBack.imageset/Contents.json | 0 .../qrcode-goBack.imageset/qrcode-goBack.png | Bin .../qrcode-goBack@2x.png | Bin .../qrcode-goBack@3x.png | Bin .../qrcode-isLighting.imageset/Contents.json | 0 .../qrcode-isLighting.png | Bin .../qrcode-isLighting@2x.png | Bin .../qrcode-isLighting@3x.png | Bin .../qrcode-light.imageset/Contents.json | 0 .../qrcode-light.imageset/qrcode-light.png | Bin .../qrcode-light.imageset/qrcode-light@2x.png | Bin .../qrcode-light.imageset/qrcode-light@3x.png | Bin .../qrcode-scanBorder.imageset/Contents.json | 0 .../qrcode-scanBorder.png | Bin .../qrcode-scanLine.imageset/Contents.json | 0 .../qrcode-scanLine.png | Bin .../Browser/QRCodeViewController.swift | 0 .../Frontend/Browser/ReaderModeBarView.swift | 0 .../Frontend/Browser/ScreenshotHelper.swift | 0 Client/Frontend/Browser/SearchEngines.swift | 3 +- Client/Frontend/Browser/SearchLoader.swift | 11 +- .../Browser/SearchSuggestClient.swift | 0 .../Browser/SearchViewController.swift | 77 +- Client/Frontend/Browser/SessionData.swift | 0 .../Browser/SessionRestoreHandler.swift | 0 .../Browser/SessionRestoreHelper.swift | 0 Client/Frontend/Browser/SimpleToast.swift | 0 Client/Frontend/Browser/SwipeAnimator.swift | 0 Client/Frontend/Browser/Tab.swift | 1 + Client/Frontend/Browser/TabLocationView.swift | 189 +- Client/Frontend/Browser/TabManager.swift | 65 +- .../Browser/TabPeekViewController.swift | 0 .../Browser/TabPrintPageRenderer.swift | 0 .../Browser/TabScrollController.swift | 7 +- Client/Frontend/Browser/TabToolbar.swift | 0 .../Browser/TabTrayButtonExtensions.swift | 0 .../TabTrayController+KeyCommands.swift | 82 + .../Frontend/Browser/TabTrayController.swift | 204 +- .../Browser/ThirdPartySearchAlerts.swift | 0 Client/Frontend/Browser/TopTabsLayout.swift | 0 .../Browser/TopTabsViewController.swift | 225 +- Client/Frontend/Browser/TopTabsViews.swift | 5 + Client/Frontend/Browser/URIFixup.swift | 0 Client/Frontend/Browser/URLBarView.swift | 35 +- .../Frontend/Browser/UserScriptManager.swift | 42 +- ...ontentBlockerHelper+TabContentScript.swift | 46 + .../ContentBlockerHelper+Whitelist.swift | 103 + .../ContentBlocker/ContentBlockerHelper.swift | 368 +-- .../ContentBlockerSettingViewController.swift | 84 +- .../Lists/disconnect-advertising.json | 1480 +++++++++++++ .../Lists/disconnect-analytics.json | 259 +++ .../Lists/disconnect-content.json | 517 +++++ .../Lists/disconnect-social.json | 67 + .../TrackingProtectionPageStats.swift | 228 ++ .../ContentBlocker/build-disconnect.py | 139 ++ .../disconnect-advertising.json | 1 - .../ContentBlocker/disconnect-analytics.json | 1 - .../ContentBlocker/disconnect-content.json | 1 - .../ContentBlocker/disconnect-social.json | 1 - .../Frontend/Home/ActivityStreamPanel.swift | 11 +- .../Home/ActivityStreamTopSitesCell.swift | 38 +- Client/Frontend/Home/BookmarksPanel.swift | 6 +- Client/Frontend/Home/HistoryPanel.swift | 0 .../Contents.json | 0 .../reading list add circle.png | Bin .../reading list add circle@2x.png | Bin .../reading list add circle@3x.png | Bin .../Frontend/Home/Home.xcassets/Contents.json | 0 .../ReaderModeCircle.imageset/Contents.json | 0 .../reader view circle.png | Bin .../reader view circle@2x.png | Bin .../reader view circle@3x.png | Bin .../clear.imageset/Contents.json | 0 .../Home.xcassets/clear.imageset/clear.png | Bin .../Home.xcassets/clear.imageset/clear@2x.png | Bin .../Home.xcassets/clear.imageset/clear@3x.png | Bin .../BookmarksEmptyPanel.png | Bin .../BookmarksEmptyPanel@2x.png | Bin .../BookmarksEmptyPanel@3x.png | Bin .../emptyBookmarks.imageset/Contents.json | 0 .../emptyHistory.imageset/Contents.json | 0 .../historyEmptyPanel.png | Bin .../historyEmptyPanel@2x.png | Bin .../historyEmptyPanel@3x.png | Bin .../emptySync.imageset/Contents.json | 0 .../emptySync.imageset/sync-devices.png | Bin .../emptySync.imageset/sync-devices@2x.png | Bin .../emptySync.imageset/sync-devices@3x.png | Bin .../emptyTopSites.imageset/Contents.json | 0 .../topSitesEmptyPanel.png | Bin .../topSitesEmptyPanel@2x.png | Bin .../topSitesEmptyPanel@3x.png | Bin .../panelIconBookmarks.imageset/Contents.json | 0 .../bookmark-Outline.png | Bin .../bookmark-Outline@2x.png | Bin .../bookmark-Outline@3x.png | Bin .../panelIconHistory.imageset/Contents.json | 0 .../panelIconHistory.imageset/history.png | Bin .../panelIconHistory.imageset/history@2x.png | Bin .../panelIconHistory.imageset/history@3x.png | Bin .../Contents.json | 0 .../reading-list.png | Bin .../reading-list@2x.png | Bin .../reading-list@3x.png | Bin .../Contents.json | 0 .../Synced Panel.png | Bin .../Synced Panel@2x.png | Bin .../Synced Panel@3x.png | Bin .../panelIconTopSites.imageset/Contents.json | 0 .../panelIconTopSites.imageset/topsites.png | Bin .../topsites@2x.png | Bin .../topsites@3x.png | Bin .../Home/HomePanelViewController.swift | 0 Client/Frontend/Home/HomePanels.swift | 0 Client/Frontend/Home/PanelDataObservers.swift | 5 +- Client/Frontend/Home/ReaderPanel.swift | 23 + .../Home/RecentlyClosedTabsPanel.swift | 0 Client/Frontend/Home/RemoteTabsPanel.swift | 5 +- .../Intro/Intro.xcassets/Contents.json | 0 .../tour-Mail.imageset/Contents.json | 0 .../tour-Mail.imageset/tour-Mail.png | Bin .../tour-Mail.imageset/tour-Mail@2x.png | Bin .../tour-Mail.imageset/tour-Mail@3x.png | Bin .../tour-Private.imageset/Contents.json | 0 .../tour-Private.imageset/tour-Private.png | Bin .../tour-Private.imageset/tour-Private@2x.png | Bin .../tour-Private.imageset/tour-Private@3x.png | Bin .../tour-Search.imageset/Contents.json | 0 .../tour-Search.imageset/tour-Search.png | Bin .../tour-Search.imageset/tour-Search@2x.png | Bin .../tour-Search.imageset/tour-Search@3x.png | Bin .../tour-Sync.imageset/Contents.json | 0 .../tour-Sync.imageset/tour-Sync.png | Bin .../tour-Sync.imageset/tour-Sync@2x.png | Bin .../tour-Sync.imageset/tour-Sync@3x.png | Bin .../tour-Welcome.imageset/Contents.json | 0 .../tour-Welcome.imageset/tour-Welcome.png | Bin .../tour-Welcome.imageset/tour-Welcome@2x.png | Bin .../tour-Welcome.imageset/tour-Welcome@3x.png | Bin .../Frontend/Intro/IntroViewController.swift | 107 +- .../LoginListViewController.swift | 6 +- .../Frontend/Login/LoginViewController.swift | 0 .../Frontend/Menu/Menu.xcassets/Contents.json | 0 .../Contents.json | 0 .../bookmark-remove.png | Bin .../bookmark-remove@2x.png | Bin .../bookmark-remove@3x.png | Bin .../menu-Bookmark.imageset/Contents.json | 0 .../menu-Bookmark.imageset/menu-Bookmark.png | Bin .../menu-Bookmark@2x.png | Bin .../menu-Bookmark@3x.png | Bin .../menu-CloseTabs.imageset/Contents.json | 0 .../menu-CloseTabs.png | Bin .../menu-CloseTabs@2x.png | Bin .../menu-CloseTabs@3x.png | Bin .../menu-Copy-Link.imageset/Contents.json | 0 .../menu-Copy-Link.imageset/link.png | Bin .../menu-Copy-Link.imageset/link@2x.png | Bin .../menu-Copy-Link.imageset/link@3x.png | Bin .../menu-Disclosure.imageset/Contents.json | 23 + .../menu-Disclosure.png | Bin 0 -> 260 bytes .../menu-Disclosure@2x.png | Bin 0 -> 476 bytes .../menu-Disclosure@3x.png | Bin 0 -> 692 bytes .../menu-FindInPage.imageset/Contents.json | 0 .../menu-FindInPage.imageset/search.png | Bin .../menu-FindInPage.imageset/search@2x.png | Bin .../menu-FindInPage.imageset/search@3x.png | Bin .../menu-Home.imageset/Contents.json | 0 .../menu-Home.imageset/bottomNav-Home.png | Bin .../menu-Home.imageset/bottomNav-Home@2x.png | Bin .../menu-Home.imageset/bottomNav-Home@3x.png | Bin .../menu-Info.imageset/Contents.json | 23 + .../Menu.xcassets/menu-Info.imageset/info.png | Bin 0 -> 381 bytes .../menu-Info.imageset/info@2x.png | Bin 0 -> 720 bytes .../menu-Info.imageset/info@3x.png | Bin 0 -> 1196 bytes .../menu-More-Options.imageset/Contents.json | 0 .../menu-More-Options.imageset/action.png | Bin .../menu-More-Options.imageset/action@2x.png | Bin .../menu-More-Options.imageset/action@3x.png | Bin .../menu-NewPrivateTab.imageset/Contents.json | 0 .../new-private-tab.png | Bin .../new-private-tab@2x.png | Bin .../new-private-tab@3x.png | Bin .../menu-NewTab.imageset/Contents.json | 0 .../menu-NewTab.imageset/menu-NewTab.png | Bin .../menu-NewTab.imageset/menu-NewTab@2x.png | Bin .../menu-NewTab.imageset/menu-NewTab@3x.png | Bin .../menu-NightMode.imageset/Contents.json | 0 .../menu-NightMode.png | Bin .../menu-NightMode@2x.png | Bin .../menu-NightMode@3x.png | Bin .../menu-NoImageMode.imageset/Contents.json | 0 .../menu-NoImageMode.png | Bin .../menu-NoImageMode@2x.png | Bin .../menu-NoImageMode@3x.png | Bin .../menu-Paste.imageset/Contents.json | 23 + .../menu-Paste.imageset/paste.png | Bin 0 -> 320 bytes .../menu-Paste.imageset/paste@2x.png | Bin 0 -> 522 bytes .../menu-Paste.imageset/paste@3x.png | Bin 0 -> 812 bytes .../menu-PasteAndGo.imageset/Contents.json | 23 + .../menu-PasteAndGo.imageset/paste.png | Bin 0 -> 320 bytes .../menu-PasteAndGo.imageset/paste@2x.png | Bin 0 -> 522 bytes .../menu-PasteAndGo.imageset/paste@3x.png | Bin 0 -> 812 bytes .../Contents.json | 0 .../menu-RequestDesktopSite.png | Bin .../menu-RequestDesktopSite@2x.png | Bin .../menu-RequestDesktopSite@3x.png | Bin .../menu-ScanQRCode.imageset/Contents.json | 0 .../menu-ScanQRCode.imageset/qrscan.png | Bin .../menu-ScanQRCode.imageset/qrscan@2x.png | Bin .../menu-ScanQRCode.imageset/qrscan@3x.png | Bin .../Contents.json | 0 .../sendtodevice.png | Bin .../sendtodevice@2x.png | Bin .../sendtodevice@3x.png | Bin .../menu-Send.imageset/Contents.json | 0 .../menu-Send.imageset/sendMenu.png | Bin .../menu-Send.imageset/sendMenu@2x.png | Bin .../menu-Send.imageset/sendMenu@3x.png | Bin .../menu-Settings.imageset/Contents.json | 0 .../menu-Settings.imageset/menu-Settings.png | Bin .../menu-Settings@2x.png | Bin .../menu-Settings@3x.png | Bin .../menu-Show-Tabs.imageset/Contents.json | 0 .../menu-Show-Tabs.imageset/showtabs.png | Bin .../menu-Show-Tabs.imageset/showtabs@2x.png | Bin .../menu-Show-Tabs.imageset/showtabs@3x.png | Bin .../menu-Toggle-Off.imageset/ Switch-Off.png | Bin 0 -> 924 bytes .../ Switch-Off@2x.png | Bin 0 -> 1892 bytes .../ Switch-Off@3x.png | Bin 0 -> 3047 bytes .../menu-Toggle-Off.imageset/Contents.json | 26 + .../menu-Toggle-On.imageset/ Switch-On.png | Bin 0 -> 866 bytes .../menu-Toggle-On.imageset/ Switch-On@2x.png | Bin 0 -> 1787 bytes .../menu-Toggle-On.imageset/ Switch-On@3x.png | Bin 0 -> 2864 bytes .../menu-Toggle-On.imageset/Contents.json | 26 + .../menu-Tools.imageset/Contents.json | 23 + .../menu-Tools.imageset/menu-Tools.png | Bin 0 -> 470 bytes .../menu-Tools.imageset/menu-Tools@2x.png | Bin 0 -> 913 bytes .../menu-Tools.imageset/menu-Tools@3x.png | Bin 0 -> 1463 bytes .../Contents.json | 23 + .../trackingprotection-off.png | Bin 0 -> 434 bytes .../trackingprotection-off@2x.png | Bin 0 -> 846 bytes .../trackingprotection-off@3x.png | Bin 0 -> 1277 bytes .../Contents.json | 0 .../trackingprotection.png | Bin 424 -> 434 bytes .../trackingprotection@2x.png | Bin 752 -> 820 bytes .../trackingprotection@3x.png | Bin 1106 -> 1243 bytes .../menu-ViewMobile.imageset/Contents.json | 0 .../menu-ViewMobile.png | Bin .../menu-ViewMobile@2x.png | Bin .../menu-ViewMobile@3x.png | Bin .../Contents.json | 0 .../bookmark-filled.png | Bin .../bookmark-filled@2x.png | Bin .../bookmark-filled@3x.png | Bin .../menu-panel-History.imageset/Contents.json | 0 .../menu-panel-History.imageset/history.png | Bin .../history@2x.png | Bin .../history@3x.png | Bin .../Contents.json | 0 .../reading-list.png | Bin .../reading-list@2x.png | Bin .../reading-list@3x.png | Bin .../Contents.json | 0 .../menu-panel-TopSites.imageset/topsites.png | Bin .../topsites@2x.png | Bin .../topsites@3x.png | Bin Client/Frontend/OldStrings.swift | 0 Client/Frontend/Reader/FSReadingList.h | 0 Client/Frontend/Reader/FSReadingList.m | 0 .../Frontend/Reader/ReadabilityService.swift | 36 +- Client/Frontend/Reader/Reader.css | 0 Client/Frontend/Reader/Reader.html | 0 Client/Frontend/Reader/ReaderMode.swift | 23 +- Client/Frontend/Reader/ReaderModeCache.swift | 0 .../Frontend/Reader/ReaderModeHandlers.swift | 4 +- .../ReaderModeStyleViewController.swift | 0 Client/Frontend/Reader/ReaderModeUtils.swift | 0 Client/Frontend/Reader/ReaderViewLoading.html | 0 .../AdvanceAccountSettingViewController.swift | 0 .../Settings/AppSettingsOptions.swift | 2 +- .../AppSettingsTableViewController.swift | 0 .../ClearPrivateDataTableViewController.swift | 28 +- Client/Frontend/Settings/Clearables.swift | 17 + .../Settings/CustomSearchViewController.swift | 0 .../Settings/FxAContentViewController.swift | 8 + .../HomePageSettingsViewController.swift | 0 .../Settings/LoginDetailViewController.swift | 0 .../Settings/NewTabChoiceViewController.swift | 0 .../NewTabContentSettingsViewController.swift | 5 + .../Settings/SearchEnginePicker.swift | 0 .../SearchSettingsTableViewController.swift | 0 .../AmberCaution.imageset/AmberCaution.png | Bin .../AmberCaution.imageset/AmberCaution@2x.png | Bin .../AmberCaution.imageset/AmberCaution@3x.png | Bin .../AmberCaution.imageset/Contents.json | 0 .../Settings/Settings.xcassets/Contents.json | 0 .../FxA-Default.imageset/Contents.json | 0 .../FxA-Default.imageset/FxA-Default.png | Bin .../FxA-Default.imageset/FxA-Default@2x.png | Bin .../FxA-Default.imageset/FxA-Default@3x.png | Bin .../FxA-Sync-Blue.imageset/Contents.json | 0 .../FxA-Sync-Blue.imageset/FxA-Sync-Blue.png | Bin .../FxA-Sync-Blue@2x.png | Bin .../FxA-Sync-Blue@3x.png | Bin .../FxA-Sync.imageset/Contents.json | 0 .../FxA-Sync.imageset/FxA-Sync.png | Bin .../FxA-Sync.imageset/FxA-Sync@2x.png | Bin .../FxA-Sync.imageset/FxA-Sync@3x.png | Bin .../RedCaution.imageset/Contents.json | 0 .../RedCaution.imageset/RedCaution.png | Bin .../RedCaution.imageset/RedCaution@2x.png | Bin .../RedCaution.imageset/RedCaution@3x.png | Bin .../placeholder-avatar.imageset/Contents.json | 0 .../placeholder-avatar.png | Bin .../placeholder-avatar@2x.png | Bin .../placeholder-avatar@3x.png | Bin .../SettingsContentViewController.swift | 0 .../SettingsNavigationController.swift | 0 .../SettingsTableViewController.swift | 7 +- .../SyncContentSettingsViewController.swift | 2 +- .../Frontend/Share/ShareExtensionHelper.swift | 0 .../Share/TitleActivityItemProvider.swift | 0 Client/Frontend/Strings.swift | 77 +- Client/Frontend/UIConstants.swift | 0 .../AllFrames/AtDocumentEnd/ContextMenu.js | 45 +- .../AllFrames/AtDocumentEnd/FocusHelper.js | 44 + .../AllFrames/AtDocumentEnd/LoginsHelper.js | 1285 ++++++----- .../AllFrames/AtDocumentEnd/PrintHandler.js | 15 +- .../AllFrames/AtDocumentEnd/__firefox__.js | 38 +- .../AllFrames/AtDocumentStart/__firefox__.js | 38 +- .../AtDocumentEnd/CustomSearchHandler.js | 3 - .../MainFrame/AtDocumentEnd/FindInPage.js | 500 +++-- .../MainFrame/AtDocumentEnd/MetadataHelper.js | 58 +- .../AtDocumentStart/FormPostHandler.js | 122 - .../AtDocumentStart/HistoryStateHelper.js | 7 +- .../AtDocumentStart/NightModeHelper.js | 3 - .../AtDocumentStart/NoImageModeHelper.js | 5 +- .../MainFrame/AtDocumentStart/ReaderMode.js | 107 +- .../TrackingProtectionStats.js | 166 ++ .../Widgets/ActivityStreamHighlightCell.swift | 0 .../Widgets/AutocompleteTextField.swift | 38 +- Client/Frontend/Widgets/ChevronView.swift | 0 Client/Frontend/Widgets/ErrorToast.swift | 0 .../Widgets/GradientProgressBar.swift | 0 .../Frontend/Widgets/HistoryBackButton.swift | 0 .../Frontend/Widgets/InnerStrokedView.swift | 0 Client/Frontend/Widgets/InsetButton.swift | 0 .../Frontend/Widgets/LoginTableViewCell.swift | 30 +- .../Frontend/Widgets/PhotonActionSheet.swift | 482 ++-- .../Widgets/PhotonActionSheetAnimator.swift | 0 .../Widgets/PhotonActionSheetProtocol.swift | 211 +- Client/Frontend/Widgets/SearchInputView.swift | 0 .../Frontend/Widgets/SeparatorTableCell.swift | 0 .../Widgets/SiteTableViewController.swift | 24 +- Client/Frontend/Widgets/SnackBar.swift | 0 Client/Frontend/Widgets/TabsButton.swift | 0 Client/Frontend/Widgets/Theme.swift | 0 Client/Frontend/Widgets/ToggleButton.swift | 0 Client/Frontend/Widgets/TwoLineCell.swift | 29 +- Client/Helpers/DynamicFontHelper.swift | 0 Client/Helpers/FxALoginHelper.swift | 0 Client/Helpers/MenuHelper.swift | 0 Client/Helpers/TabEventHandler.swift | 16 + Client/Helpers/UserActivityHandler.swift | 59 +- Client/Info.plist | 4 +- Client/MailSchemes.plist | 0 Client/TabEventHandlers.swift | 15 +- Client/Telemetry/ActivityStreamTopics.swift | 0 Client/Telemetry/UnifiedTelemetry.swift | 23 +- Client/UIScrollViewSwizzled.swift | 17 +- Client/Utils/FaviconFetcher.swift | 0 Client/Utils/Swizzling.h | 0 Client/Utils/Swizzling.m | 0 Client/Utils/Try.h | 0 Client/Utils/Try.m | 0 Client/en.lproj/InfoPlist.strings | 0 ClientTests/ActivityStreamTests.swift | 6 +- ClientTests/AuthenticatorTests.swift | 0 ClientTests/ClientTests.swift | 0 ClientTests/CustomSearchEnginesTest.swift | 0 ClientTests/DefaultSearchPrefsTests.swift | 12 +- ClientTests/FileAccessorTests.swift | 0 ClientTests/FxADeepLinkingTests.swift | 0 ClientTests/FxAPushMessageTest.swift | 0 ClientTests/HomePageTests.swift | 0 ClientTests/Info.plist | 2 +- ClientTests/MockProfile.swift | 4 + ClientTests/MockableHistory.swift | 0 ClientTests/NavigationRouterTests.swift | 54 + ClientTests/PanelDataObserversTests.swift | 0 ClientTests/PingCentreTests.swift | 0 ClientTests/PocketFeedTests.swift | 0 ClientTests/PrefsTests.swift | 0 ClientTests/ProfileTest.swift | 0 ClientTests/RelativeDatesTests.swift | 0 ClientTests/ResetTests.swift | 0 ClientTests/SearchEnginesTests.swift | 11 +- ClientTests/SearchTests.swift | 0 ClientTests/StringExtensionsTests.swift | 0 ClientTests/SyncStatusResolverTests.swift | 0 ClientTests/TabEventHandlerTests.swift | 0 ClientTests/TabManagerTests.swift | 22 +- ClientTests/TestBookmarks.swift | 25 +- ClientTests/TestFavicons.swift | 0 ClientTests/TestHashExtensions.swift | 0 ClientTests/TestHistory.swift | 0 ClientTests/UIImageViewExtensionsTests.swift | 0 ClientTests/UIPasteboardExtensionsTests.swift | 0 ClientTests/WebServerTests.swift | 0 ClientTests/XCTestCaseExtensions.swift | 0 ClientTests/image.gif | Bin ClientTests/image.png | Bin ClientTests/pocketglobalfeed.json | 0 Dangerfile | 0 DeferredTestUtils.swift | 0 Docs/BUILDING.md | 0 Docs/Dependency Graphs/README.md | 0 .../digraph-carthage-fxios.jpg | Bin .../digraph-fxios-carthage.jpg | Bin Docs/Dependency Graphs/digraph-fxios.jpg | Bin .../dot-files/digraph-carthage-fxios.dot | 3 +- .../dot-files/digraph-fxios-carthage.dot | 1 - .../dot-files/digraph-fxios.dot | 0 .../dot-files/digraph-fxios.jpg | Bin Docs/browserdb.md | 0 Docs/sync.md | 0 Extensions/Entitlements/Fennec.entitlements | 0 .../FennecEnterprise.entitlements | 0 Extensions/Entitlements/Firefox.entitlements | 0 .../Entitlements/FirefoxBeta.entitlements | 0 .../ExtensionProfile.swift | 0 Extensions/NotificationService/Info.plist | 2 +- .../NotificationService.swift | 0 Extensions/SendTo/ActionViewController.swift | 0 .../SendTo/Base.lproj/InfoPlist.strings | 0 .../SendTo/ClientPickerViewController.swift | 116 +- .../AppIcon.appiconset/Contents.json | 0 .../deviceTypeDesktop.imageset/Contents.json | 0 .../deviceTypeDesktop.png | Bin .../deviceTypeDesktop@2x.png | Bin .../deviceTypeDesktop@3x.png | Bin .../deviceTypeMobile.imageset/Contents.json | 0 .../deviceTypeMobile.png | Bin .../deviceTypeMobile@2x.png | Bin .../deviceTypeMobile@3x.png | Bin .../emptySync.imageset/Contents.json | 0 .../emptySync.imageset/emptySync.png | Bin .../emptySync.imageset/emptySync@2x.png | Bin .../emptySync.imageset/emptySync@3x.png | Bin Extensions/SendTo/Info.plist | 2 +- .../SendTo/InstructionsViewController.swift | 0 Extensions/SendTo/MainInterface.storyboard | 0 Extensions/SendTo/en.lproj/InfoPlist.strings | 0 .../AddToBookmarks.imageset/Contents.json | 0 .../AddToBookmarks.imageset/menu-Bookmark.png | Bin .../menu-Bookmark@2x.png | Bin .../menu-Bookmark@3x.png | Bin .../AddToReadingList.imageset/Contents.json | 0 .../reading-list-add.png | Bin .../reading-list-add@2x.png | Bin .../reading-list-add@3x.png | Bin .../Icon-Small.imageset/Contents.json | 0 .../Icon-Small.imageset/icon-40.png | Bin .../Icon-Small.imageset/icon-40@2x.png | Bin .../Icon-Small.imageset/icon-40@3x.png | Bin Extensions/ShareTo/Info.plist | 2 +- .../ShareTo/InitialViewController.swift | 0 Extensions/ShareTo/ShareViewController.swift | 0 .../copy_link_icon.imageset/Contents.json | 0 .../todayCopiedLink.png | Bin .../todayCopiedLink@2x.png | Bin .../todayCopiedLink@3x.png | Bin .../Contents.json | 0 .../newPrivateTabHighlight.png | Bin .../newPrivateTabHighlight@2x.png | Bin .../newPrivateTabHighlight@3x.png | Bin .../Contents.json | 0 .../newPrivateTab.png | Bin .../newPrivateTab@2x.png | Bin .../newPrivateTab@3x.png | Bin .../Contents.json | 0 .../newTabHighlight.png | Bin .../newTabHighlight@2x.png | Bin .../newTabHighlight@3x.png | Bin .../Contents.json | 0 .../new_tab_button_normal.imageset/newTab.png | Bin .../newTab@2x.png | Bin .../newTab@3x.png | Bin Extensions/Today/Info.plist | 2 +- Extensions/Today/TodayViewController.swift | 0 .../ViewLater/ActionRequestHandler.swift | 0 .../ViewLater/Base.lproj/InfoPlist.strings | 0 Extensions/ViewLater/Info.plist | 2 +- .../AppIcon.appiconset/Contents.json | 0 .../ViewLater/en.lproj/InfoPlist.strings | 0 FxA/FxA.xcodeproj/project.pbxproj | 0 .../contents.xcworkspacedata | 0 .../xcshareddata/WorkspaceSettings.xcsettings | 0 .../xcshareddata/xcschemes/FxA.xcscheme | 0 FxA/FxA/ASNUtils.h | 0 FxA/FxA/ASNUtils.m | 0 FxA/FxA/CHMath.h | 0 FxA/FxA/CHMutableNumber.h | 0 FxA/FxA/CHMutableNumber.m | 0 FxA/FxA/CHNumber.h | 0 FxA/FxA/CHNumber.m | 0 FxA/FxA/CHNumber_Private.h | 0 FxA/FxA/FxA.h | 0 FxA/FxA/Info.plist | 0 FxA/FxA/JSONWebTokenUtils.h | 0 FxA/FxA/JSONWebTokenUtils.m | 0 FxA/FxA/KeyPair.h | 0 FxA/FxA/KeyPair.m | 0 FxA/FxA/NSData+Base16.h | 0 FxA/FxA/NSData+Base16.m | 0 FxA/FxA/NSData+Base32.h | 0 FxA/FxA/NSData+Base32.m | 0 FxA/FxA/NSData+KeyDerivation.h | 0 FxA/FxA/NSData+KeyDerivation.m | 0 FxA/FxA/NSData+SHA.h | 0 FxA/FxA/NSData+SHA.m | 0 FxA/FxA/NSData+Utils.h | 0 FxA/FxA/NSData+Utils.m | 0 FxA/FxA/NSString+Utils.h | 0 FxA/FxA/NSString+Utils.m | 0 FxA/FxA/PrivateKey.h | 0 FxA/FxA/PrivateKey.m | 0 FxA/FxA/PublicKey.h | 0 FxA/FxA/PublicKey.m | 0 FxA/FxA/RSAKeyPair.h | 0 FxA/FxA/RSAKeyPair.m | 0 FxA/FxA/include/openssl/aes.h | 0 FxA/FxA/include/openssl/asn1.h | 0 FxA/FxA/include/openssl/asn1_mac.h | 0 FxA/FxA/include/openssl/asn1t.h | 0 FxA/FxA/include/openssl/async.h | 0 FxA/FxA/include/openssl/bio.h | 0 FxA/FxA/include/openssl/blowfish.h | 0 FxA/FxA/include/openssl/bn.h | 0 FxA/FxA/include/openssl/buffer.h | 0 FxA/FxA/include/openssl/camellia.h | 0 FxA/FxA/include/openssl/cast.h | 0 FxA/FxA/include/openssl/cmac.h | 0 FxA/FxA/include/openssl/cms.h | 0 FxA/FxA/include/openssl/comp.h | 0 FxA/FxA/include/openssl/conf.h | 0 FxA/FxA/include/openssl/conf_api.h | 0 FxA/FxA/include/openssl/crypto.h | 0 FxA/FxA/include/openssl/ct.h | 0 FxA/FxA/include/openssl/des.h | 0 FxA/FxA/include/openssl/dh.h | 0 FxA/FxA/include/openssl/dsa.h | 0 FxA/FxA/include/openssl/dtls1.h | 0 FxA/FxA/include/openssl/e_os2.h | 0 FxA/FxA/include/openssl/ebcdic.h | 0 FxA/FxA/include/openssl/ec.h | 0 FxA/FxA/include/openssl/ecdh.h | 0 FxA/FxA/include/openssl/ecdsa.h | 0 FxA/FxA/include/openssl/engine.h | 0 FxA/FxA/include/openssl/err.h | 0 FxA/FxA/include/openssl/evp.h | 0 FxA/FxA/include/openssl/hmac.h | 0 FxA/FxA/include/openssl/idea.h | 0 FxA/FxA/include/openssl/kdf.h | 0 FxA/FxA/include/openssl/lhash.h | 0 FxA/FxA/include/openssl/md2.h | 0 FxA/FxA/include/openssl/md4.h | 0 FxA/FxA/include/openssl/md5.h | 0 FxA/FxA/include/openssl/mdc2.h | 0 FxA/FxA/include/openssl/modes.h | 0 FxA/FxA/include/openssl/obj_mac.h | 0 FxA/FxA/include/openssl/objects.h | 0 FxA/FxA/include/openssl/ocsp.h | 0 FxA/FxA/include/openssl/opensslconf.h | 0 .../include/openssl/opensslconf_ios_arm64.h | 0 .../include/openssl/opensslconf_ios_armv7.h | 0 .../include/openssl/opensslconf_ios_armv7s.h | 0 .../include/openssl/opensslconf_ios_i386.h | 0 .../include/openssl/opensslconf_ios_x86_64.h | 0 .../include/openssl/opensslconf_tvos_arm64.h | 0 .../include/openssl/opensslconf_tvos_x86_64.h | 0 FxA/FxA/include/openssl/opensslv.h | 0 FxA/FxA/include/openssl/ossl_typ.h | 0 FxA/FxA/include/openssl/pem.h | 0 FxA/FxA/include/openssl/pem2.h | 0 FxA/FxA/include/openssl/pkcs12.h | 0 FxA/FxA/include/openssl/pkcs7.h | 0 FxA/FxA/include/openssl/rand.h | 0 FxA/FxA/include/openssl/rc2.h | 0 FxA/FxA/include/openssl/rc4.h | 0 FxA/FxA/include/openssl/rc5.h | 0 FxA/FxA/include/openssl/ripemd.h | 0 FxA/FxA/include/openssl/rsa.h | 0 FxA/FxA/include/openssl/safestack.h | 0 FxA/FxA/include/openssl/seed.h | 0 FxA/FxA/include/openssl/sha.h | 0 FxA/FxA/include/openssl/srp.h | 0 FxA/FxA/include/openssl/srtp.h | 0 FxA/FxA/include/openssl/ssl.h | 0 FxA/FxA/include/openssl/ssl2.h | 0 FxA/FxA/include/openssl/ssl3.h | 0 FxA/FxA/include/openssl/stack.h | 0 FxA/FxA/include/openssl/symhacks.h | 0 FxA/FxA/include/openssl/tls1.h | 0 FxA/FxA/include/openssl/ts.h | 0 FxA/FxA/include/openssl/txt_db.h | 0 FxA/FxA/include/openssl/ui.h | 0 FxA/FxA/include/openssl/whrlpool.h | 0 FxA/FxA/include/openssl/x509.h | 0 FxA/FxA/include/openssl/x509_vfy.h | 0 FxA/FxA/include/openssl/x509v3.h | 0 FxA/FxA/lib/libcrypto.a | Bin FxA/FxA/lib/libssl.a | Bin FxA/FxATests/FxATests.m | 0 FxA/FxATests/Info.plist | 0 Gemfile | 0 ISSUE_TEMPLATE.md | 0 L10nSnapshotTests-Info.plist | 0 L10nSnapshotTests/Info.plist | 2 +- L10nSnapshotTests/L10nBaseSnapshotTests.swift | 0 .../L10nIntroSnapshotTests.swift | 0 .../L10nPermissionStringsSnapshotTests.swift | 0 L10nSnapshotTests/L10nSnapshotTests.swift | 2 +- LICENSE | 0 Leanplum.json | 0 MMA.md | 0 MarketingUITests/Info.plist | 2 +- MarketingUITests/MarketingUITests.swift | 0 Mocking.swift | 0 PULL_REQUEST_TEMPLATE | 0 Providers/NSUserDefaultsPrefs.swift | 0 Providers/PocketFeed.swift | 0 Providers/Profile.swift | 23 +- Providers/SyncStatusResolver.swift | 0 Push/PushClient.swift | 0 Push/PushConfiguration.swift | 0 Push/PushCrypto.swift | 0 Push/PushRegistration.swift | 0 PushTests/LivePushClientTests.swift | 0 PushTests/PushCryptoTests.swift | 0 README.md | 0 ReadingList/Info.plist | 2 +- ReadingList/ReadingList-Bridging-Header.h | 0 ReadingList/ReadingListAuthenticator.swift | 0 .../ReadingListBasicAuthAuthenticator.swift | 0 .../ReadingListBatchRecordResponse.swift | 0 .../ReadingListChangeAccumulator.swift | 0 ReadingList/ReadingListClient.swift | 0 ReadingList/ReadingListClientMetadata.swift | 0 ReadingList/ReadingListClientRecord.swift | 0 ReadingList/ReadingListError.swift | 0 ReadingList/ReadingListFetchSpec.swift | 0 .../ReadingListOAuthAuthenticator.swift | 0 ReadingList/ReadingListRecord.swift | 0 ReadingList/ReadingListRecordResponse.swift | 0 ReadingList/ReadingListRecordsResponse.swift | 0 ReadingList/ReadingListResponse.swift | 0 ReadingList/ReadingListSQLStorage.swift | 0 ReadingList/ReadingListServerMetadata.swift | 0 ReadingList/ReadingListServerRecord.swift | 0 ReadingList/ReadingListService.swift | 0 ReadingList/ReadingListStorage.swift | 0 ReadingList/ReadingListSyncMetadata.swift | 0 ReadingList/ReadingListSynchronizer.swift | 0 ReadingList/ReadingListUtils.swift | 0 ReadingListTests/Info.plist | 2 +- .../ReadingListClientRecordTestCase.swift | 0 .../ReadingListStorageTestCase.swift | 0 Shared/Accessibility.swift | 2 +- Shared/AppConstants.swift | 15 +- Shared/AppInfo.swift | 0 Shared/AsyncReducer.swift | 0 Shared/AuthenticationKeychainInfo.swift | 0 Shared/Bytes.swift | 0 Shared/Cancellable.swift | 0 Shared/CrashSimulator.h | 0 Shared/CrashSimulator.m | 0 Shared/DeferredUtils.swift | 0 Shared/DeviceInfo.swift | 0 Shared/Extensions/ArrayExtensions.swift | 0 Shared/Extensions/DataExtensions.swift | 0 Shared/Extensions/DictionaryExtensions.swift | 0 Shared/Extensions/HashExtensions.swift | 0 Shared/Extensions/HexExtensions.swift | 0 Shared/Extensions/JSONExtensions.swift | 0 .../KeychainWrapperExtensions.swift | 0 .../Extensions/NSCharacterSetExtensions.swift | 0 Shared/Extensions/NSCoderExtensions.swift | 0 .../Extensions/NSFileManagerExtensions.swift | 0 .../NSMutableAttributedStringExtensions.swift | 0 Shared/Extensions/NSScannerExtensions.swift | 0 Shared/Extensions/NSStringExtensions.swift | 0 Shared/Extensions/NSURLExtensions.swift | 0 .../NSURLProtectionSpaceExtensions.swift | 0 Shared/Extensions/OptionalExtensions.swift | 0 Shared/Extensions/SetExtensions.swift | 0 Shared/Extensions/StringExtensions.swift | 0 Shared/Extensions/UIColorExtensions.swift | 0 Shared/Extensions/UIImageExtensions.swift | 0 Shared/Extensions/URLRequestExtensions.swift | 0 Shared/FSUtils.h | 0 Shared/FSUtils.m | 0 Shared/FeatureSwitch.swift | 0 Shared/Functions.swift | 0 Shared/GeneralUtils.swift | 0 Shared/KeyboardHelper.swift | 0 Shared/KeychainCache.swift | 0 Shared/LaunchArguments.swift | 0 Shared/Loader.swift | 0 Shared/Logger.swift | 0 Shared/NotificationConstants.swift | 6 +- Shared/Prefs.swift | 0 Shared/RemoteDevices.swift | 0 Shared/RollingFileLogger.swift | 0 Shared/SentryIntegration.swift | 0 Shared/Shared-Bridging-Header.h | 0 Shared/SupportUtils.swift | 0 Shared/Supporting Files/Info.plist | 2 +- Shared/SystemUtils.swift | 0 Shared/TimeConstants.swift | 0 Shared/UserAgent.swift | 0 Shared/WeakList.swift | 0 Shared/effective_tld_names.dat | 0 SharedTests/ArrayExtensionTests.swift | 0 SharedTests/AsyncReducerTests.swift | 0 .../AuthenticationKeychainInfoTests.swift | 0 SharedTests/DeferredTests.swift | 0 SharedTests/FeatureSwitchTests.swift | 0 SharedTests/HexExtensionsTests.swift | 0 SharedTests/Info.plist | 2 +- ...tableAttributedStringExtensionsTests.swift | 0 SharedTests/NSURLExtensionsTests.swift | 0 SharedTests/ResultTests.swift | 0 SharedTests/RollingFileLoggerTests.swift | 0 SharedTests/SupportUtilsTests.swift | 0 SharedTests/UtilsTests.swift | 0 Storage/Bookmarks/Bookmarks.swift | 0 Storage/Bookmarks/BookmarksModel.swift | 0 Storage/Bookmarks/CachingItemSource.swift | 0 Storage/Bookmarks/Trees.swift | 0 Storage/CertStore.swift | 0 Storage/Clients.swift | 0 Storage/CompletionOps.swift | 0 Storage/Cursor.swift | 0 Storage/DatabaseError.swift | 0 Storage/DefaultSuggestedSites.swift | 0 Storage/DiskImageStore.swift | 0 Storage/ExtensionUtils.swift | 0 Storage/Favicons.swift | 0 Storage/FileAccessor.swift | 0 Storage/History.swift | 0 Storage/Info.plist | 2 +- Storage/Logins.swift | 0 Storage/Metadata.swift | 0 Storage/MockLogins.swift | 0 Storage/PageMetadata.swift | 49 +- Storage/Queue.swift | 0 Storage/RecentlyClosedTabs.swift | 0 Storage/RemoteTabs.swift | 2 - Storage/SQL/BrowserDB.swift | 0 Storage/SQL/BrowserSchema.swift | 0 Storage/SQL/LoginsSchema.swift | 0 Storage/SQL/SQLiteBookmarksBase.swift | 0 Storage/SQL/SQLiteBookmarksHelpers.swift | 0 Storage/SQL/SQLiteBookmarksModel.swift | 0 Storage/SQL/SQLiteBookmarksResetting.swift | 0 Storage/SQL/SQLiteBookmarksSyncing.swift | 0 Storage/SQL/SQLiteFavicons.swift | 0 Storage/SQL/SQLiteHistory.swift | 0 Storage/SQL/SQLiteHistoryFactories.swift | 2 +- .../SQL/SQLiteHistoryRecommendations.swift | 0 Storage/SQL/SQLiteLogins.swift | 0 Storage/SQL/SQLiteMetadata.swift | 0 Storage/SQL/SQLiteQueue.swift | 0 Storage/SQL/SQLiteRemoteClientsAndTabs.swift | 4 - Storage/SQL/Schema.swift | 0 Storage/Sharing.swift | 0 Storage/Site.swift | 0 Storage/Storage-Bridging-Header.h | 0 Storage/Storage.xcodeproj/project.pbxproj | 0 Storage/SuggestedSites.swift | 0 Storage/SyncQueue.swift | 0 Storage/Syncable.swift | 0 Storage/ThirdParty/SwiftData.swift | 0 Storage/Visit.swift | 0 StoragePerfTests/Info.plist | 2 +- StoragePerfTests/StoragePerfTests.swift | 0 StorageTests/CertTests.swift | 0 StorageTests/DiskImageStoreTests.swift | 0 StorageTests/Info.plist | 2 +- StorageTests/MockFiles.swift | 0 StorageTests/StorageTestUtils.swift | 0 StorageTests/SyncCommandsTests.swift | 0 StorageTests/SyncTelemetryTests.swift | 0 StorageTests/TestBrowserDB.swift | 0 StorageTests/TestLogins.swift | 0 StorageTests/TestSQLiteBookmarks.swift | 0 StorageTests/TestSQLiteHistory.swift | 0 .../TestSQLiteHistoryRecommendations.swift | 8 +- StorageTests/TestSQLiteMetadata.swift | 12 +- .../TestSQLiteRemoteClientsAndTabs.swift | 4 - StorageTests/TestSwiftData.swift | 0 StorageTests/fixtures/v33.db | Bin StorageTests/testcert1.pem | Bin StorageTests/testcert2.pem | Bin Sync/BatchingClient.swift | 0 Sync/BookmarkPayload.swift | 0 Sync/BookmarkTelemetryPing.swift | 0 Sync/CleartextPayloadJSON.swift | 0 Sync/ClientPayload.swift | 0 Sync/EncryptedJSON.swift | 0 Sync/EnvelopeJSON.swift | 0 Sync/HistoryPayload.swift | 0 Sync/Info.plist | 2 +- Sync/Info.swift | 0 Sync/KeyBundle.swift | 0 Sync/KeysPayload.swift | 0 Sync/LoginPayload.swift | 0 Sync/Record.swift | 0 Sync/RequestExtensions.swift | 0 Sync/State.swift | 0 Sync/StorageClient.swift | 0 Sync/Sync-Bridging-Header.h | 0 Sync/SyncConstants.swift | 0 Sync/SyncMeta.swift | 0 Sync/SyncStateMachine.swift | 0 Sync/SyncTelemetryUtils.swift | 0 .../Bookmarks/BookmarksDownloader.swift | 0 .../Bookmarks/BookmarksRepairRequestor.swift | 2 +- .../Bookmarks/BookmarksSynchronizer.swift | 0 Sync/Synchronizers/Bookmarks/Merging.swift | 0 .../Bookmarks/ThreeWayTreeMerger.swift | 0 Sync/Synchronizers/ClientsSynchronizer.swift | 4 +- Sync/Synchronizers/Downloader.swift | 0 Sync/Synchronizers/HistorySynchronizer.swift | 0 .../IndependentRecordSynchronizer.swift | 0 Sync/Synchronizers/LoginsSynchronizer.swift | 0 Sync/Synchronizers/Synchronizer.swift | 0 Sync/Synchronizers/TabsSynchronizer.swift | 0 Sync/TabsPayload.swift | 0 SyncTelemetry/Info.plist | 2 +- SyncTelemetry/SyncPingCentre.swift | 0 SyncTelemetry/SyncTelemetry.h | 0 SyncTelemetry/SyncTelemetry.swift | 0 SyncTelemetry/SyncTelemetryEvents.swift | 0 SyncTelemetryTests/EventTests.swift | 0 SyncTelemetryTests/Info.plist | 2 +- SyncTests/BatchingClientTests.swift | 0 SyncTests/CryptoTests.swift | 0 SyncTests/DownloadTests.swift | 0 SyncTests/HistorySynchronizerTests.swift | 0 SyncTests/Info.plist | 2 +- SyncTests/InfoTests.swift | 0 SyncTests/LiveStorageClientTests.swift | 0 SyncTests/MetaGlobalTests.swift | 0 SyncTests/MockSyncServer.swift | 0 SyncTests/MockSyncServerTests.swift | 0 SyncTests/RecordTests.swift | 0 SyncTests/StateTests.swift | 0 SyncTests/StorageClientTests.swift | 0 SyncTests/SyncTests-Bridging-Header.h | 0 SyncTests/TabsPayloadTests.swift | 0 SyncTests/TestBookmarkModel.swift | 0 SyncTests/TestBookmarkTreeMerging.swift | 0 SyncTests/TestBookmarksRepairRequestor.swift | 4 - SyncTests/TestBookmarksSynchronizer.swift | 0 ThirdParty/Apple/UIImage+ImageEffects.h | 0 ThirdParty/Apple/UIImage+ImageEffects.m | 0 ThirdParty/Box/Box.swift | 0 ThirdParty/Box/BoxType.swift | 0 ThirdParty/Box/LICENSE | 0 ThirdParty/Box/MutableBox.swift | 0 ThirdParty/Box/README.md | 0 .../BuddyBuildSDK.framework/BuddyBuildSDK | Bin .../Headers/BuddyBuildSDK.h | 0 .../BuddyBuildSDK.framework/build.num | 0 ThirdParty/FilledPageControl.swift | 0 .../Leanplum.framework/Headers/LPInbox.h | 0 .../Leanplum.framework/Headers/Leanplum.h | 2 +- .../Leanplum/Leanplum.framework/Info.plist | Bin 737 -> 739 bytes .../Leanplum/Leanplum.framework/Leanplum | Bin 10260104 -> 10277256 bytes .../Modules/module.modulemap | 0 ThirdParty/Reachability.swift | 0 ThirdParty/Result/Error.swift | 0 ThirdParty/Result/LICENSE | 0 ThirdParty/Result/README.md | 0 ThirdParty/Result/Result.swift | 0 ThirdParty/SQLite.swift/.cocoadocs.yml | 0 ThirdParty/SQLite.swift/.gitignore | 0 ThirdParty/SQLite.swift/.gitmodules | 0 ThirdParty/SQLite.swift/.swift-version | 0 ThirdParty/SQLite.swift/.travis.yml | 0 ThirdParty/SQLite.swift/CHANGELOG.md | 0 ThirdParty/SQLite.swift/CONTRIBUTING.md | 0 .../CocoaPods/appletvos/module.modulemap | 0 .../appletvsimulator/module.modulemap | 0 .../CocoaPods/iphoneos-10.0/module.modulemap | 0 .../CocoaPods/iphoneos/module.modulemap | 0 .../iphonesimulator-10.0/module.modulemap | 0 .../iphonesimulator/module.modulemap | 0 .../CocoaPods/macosx-10.11/module.modulemap | 0 .../CocoaPods/macosx-10.12/module.modulemap | 0 .../CocoaPods/macosx/module.modulemap | 0 .../CocoaPods/watchos/module.modulemap | 0 .../CocoaPods/watchsimulator/module.modulemap | 0 .../SQLite.swift/Documentation/Index.md | 0 .../SQLite.swift/Documentation/Planning.md | 0 .../Resources/installation@2x.png | Bin .../Documentation/Resources/playground@2x.png | Bin ThirdParty/SQLite.swift/LICENSE.txt | 0 ThirdParty/SQLite.swift/Makefile | 0 ThirdParty/SQLite.swift/Package.swift | 0 ThirdParty/SQLite.swift/README.md | 0 .../SQLite.playground/Contents.swift | 0 .../SQLite.playground/contents.xcplayground | 0 ThirdParty/SQLite.swift/SQLite.swift.podspec | 0 .../SQLite.xcodeproj/project.pbxproj | 0 .../contents.xcworkspacedata | 0 .../Sources/SQLite/Core/Blob.swift | 0 .../Sources/SQLite/Core/Connection.swift | 0 .../Sources/SQLite/Core/Statement.swift | 0 .../Sources/SQLite/Core/Value.swift | 0 .../Sources/SQLite/Extensions/Cipher.swift | 0 .../Sources/SQLite/Extensions/FTS4.swift | 0 .../Sources/SQLite/Extensions/FTS5.swift | 0 .../Sources/SQLite/Extensions/RTree.swift | 0 .../Sources/SQLite/Foundation.swift | 0 .../SQLite.swift/Sources/SQLite/Helpers.swift | 0 .../SQLite.swift/Sources/SQLite/Info.plist | 0 .../SQLite.swift/Sources/SQLite/SQLite.h | 0 .../SQLite/Typed/AggregateFunctions.swift | 0 .../Sources/SQLite/Typed/Collation.swift | 0 .../Sources/SQLite/Typed/CoreFunctions.swift | 0 .../SQLite/Typed/CustomFunctions.swift | 0 .../Sources/SQLite/Typed/Expression.swift | 0 .../Sources/SQLite/Typed/Operators.swift | 0 .../Sources/SQLite/Typed/Query.swift | 0 .../Sources/SQLite/Typed/Schema.swift | 0 .../Sources/SQLite/Typed/Setter.swift | 0 .../Sources/SQLiteObjc/SQLite-Bridging.m | 0 .../Sources/SQLiteObjc/fts3_tokenizer.h | 0 .../SQLiteObjc/include/SQLite-Bridging.h | 0 .../SQLite.swift/Tests/CocoaPods/.gitignore | 0 .../SQLite.swift/Tests/CocoaPods/Gemfile | 0 .../SQLite.swift/Tests/CocoaPods/Gemfile.lock | 0 .../SQLite.swift/Tests/CocoaPods/Makefile | 0 .../Tests/CocoaPods/test_running_validator.rb | 0 .../SQLiteTests/AggregateFunctionsTests.swift | 0 .../Tests/SQLiteTests/BlobTests.swift | 0 .../Tests/SQLiteTests/CipherTests.swift | 0 .../Tests/SQLiteTests/ConnectionTests.swift | 0 .../SQLiteTests/CoreFunctionsTests.swift | 0 .../SQLiteTests/CustomFunctionsTests.swift | 0 .../Tests/SQLiteTests/ExpressionTests.swift | 0 .../Tests/SQLiteTests/FTS4Tests.swift | 0 .../Tests/SQLiteTests/FTS5Tests.swift | 0 .../Tests/SQLiteTests/Fixtures.swift | 0 .../Tests/SQLiteTests/FoundationTests.swift | 0 .../SQLite.swift/Tests/SQLiteTests/Info.plist | 0 .../Tests/SQLiteTests/OperatorsTests.swift | 0 .../Tests/SQLiteTests/QueryTests.swift | 0 .../Tests/SQLiteTests/RTreeTests.swift | 0 .../Tests/SQLiteTests/SchemaTests.swift | 0 .../Tests/SQLiteTests/SetterTests.swift | 0 .../Tests/SQLiteTests/StatementTests.swift | 0 .../Tests/SQLiteTests/TestHelpers.swift | 0 .../Tests/SQLiteTests/ValueTests.swift | 0 .../SQLiteTests/fixtures/encrypted.sqlite | Bin ThirdParty/SWTableViewCell/AppDelegate.h | 0 ThirdParty/SWTableViewCell/AppDelegate.m | 0 .../SWTableViewCell/Default-568h@2x.png | Bin ThirdParty/SWTableViewCell/Default.png | Bin ThirdParty/SWTableViewCell/Default@2x.png | Bin ThirdParty/SWTableViewCell/MI.png | Bin .../NSMutableArray+SWUtilityButtons.h | 0 .../NSMutableArray+SWUtilityButtons.m | 0 .../SWTableViewCell-Info.plist | 0 .../SWTableViewCell-Prefix.pch | 0 ThirdParty/SWTableViewCell/UMTableViewCell.h | 0 ThirdParty/SWTableViewCell/UMTableViewCell.m | 0 ThirdParty/SWTableViewCell/ViewController.h | 0 ThirdParty/SWTableViewCell/ViewController.m | 0 ThirdParty/SWTableViewCell/check@2x.png | Bin ThirdParty/SWTableViewCell/clock@2x.png | Bin ThirdParty/SWTableViewCell/cross@2x.png | Bin .../en.lproj/InfoPlist.strings | 0 .../en.lproj/MainStoryboard.storyboard | 0 ThirdParty/SWTableViewCell/list@2x.png | Bin ThirdParty/SWTableViewCell/main.m | 0 ThirdParty/SWTableViewCell/um.png | Bin ThirdParty/UIImageColors.swift | 0 .../ImageAlignment.xcodeproj/project.pbxproj | 0 .../Example/ImageAlignment/AppDelegate.h | 0 .../Example/ImageAlignment/AppDelegate.m | 0 .../ImageAlignment/Base.lproj/Main.storyboard | 0 .../ImageAlignment/ImageAlignment-Info.plist | 0 .../ImageAlignment/ImageAlignment-Prefix.pch | 0 .../AppIcon.appiconset/Contents.json | 0 .../LaunchImage.launchimage/Contents.json | 0 .../Example/ImageAlignment/ViewController.h | 0 .../Example/ImageAlignment/ViewController.m | 0 .../ImageAlignment/en.lproj/InfoPlist.strings | 0 .../Example/ImageAlignment/main.m | 0 .../ImageAlignment/melinda_landscape.jpg | Bin .../ImageAlignment/melinda_portrait.jpg | Bin .../ImageAlignmentTests-Info.plist | 0 .../ImageAlignmentTests/ImageAlignmentTests.m | 0 .../en.lproj/InfoPlist.strings | 0 ThirdParty/UIImageViewAligned/LICENSE | 0 ThirdParty/UIImageViewAligned/README.md | 0 .../UIImageViewAligned.podspec | 0 .../UIImageViewAligned/UIImageViewAligned.h | 0 .../UIImageViewAligned/UIImageViewAligned.m | 0 .../UIImageViewAligned/docs/IBsetup.png | Bin ThirdParty/ecec/CMakeLists.txt | 0 ThirdParty/ecec/LICENSE | 0 ThirdParty/ecec/README.md | 0 ThirdParty/ecec/include/ece.h | 0 ThirdParty/ecec/include/ece/keys.h | 0 ThirdParty/ecec/include/ece/trailer.h | 0 ThirdParty/ecec/src/base64url.c | 0 ThirdParty/ecec/src/decrypt.c | 0 ThirdParty/ecec/src/encrypt.c | 0 ThirdParty/ecec/src/keys.c | 0 ThirdParty/ecec/src/params.c | 0 ThirdParty/ecec/src/trailer.c | 0 ThirdParty/ecec/test/base64url.c | 0 ThirdParty/ecec/test/decrypt/aes128gcm.c | 0 ThirdParty/ecec/test/decrypt/aesgcm.c | 0 ThirdParty/ecec/test/e2e.c | 0 ThirdParty/ecec/test/encrypt/aes128gcm.c | 0 ThirdParty/ecec/test/encrypt/aesgcm.c | 0 ThirdParty/ecec/test/params.c | 0 ThirdParty/ecec/test/test.c | 0 ThirdParty/ecec/test/test.h | 0 ThirdParty/ecec/tool/decrypt.c | 0 ThirdParty/ecec/tool/keygen.c | 0 ThirdParty/sqlcipher/.gitignore | 0 ThirdParty/sqlcipher/CHANGELOG.md | 0 ThirdParty/sqlcipher/LICENSE | 0 ThirdParty/sqlcipher/README.md | 0 ThirdParty/sqlcipher/VERSION | 0 .../sqlcipher.xcodeproj/project.pbxproj | 0 ThirdParty/sqlcipher/sqlite3.c | 0 ThirdParty/sqlcipher/sqlite3.h | 0 ThirdParty/sqlcipher/sqlite3ext.h | 0 UITests/AuthenticationTests.swift | 0 UITests/BookmarksPanelTests.swift | 0 UITests/BrowserTests.swift | 0 UITests/ClearPrivateDataTests.swift | 16 + UITests/DomainAutocompleteTests.swift | 5 + UITests/EarlGrey.swift | 0 UITests/Global.swift | 14 +- UITests/HistoryTests.swift | 0 UITests/Info.plist | 2 +- UITests/JSPrompt.html | 0 UITests/KIFHelper.js | 0 UITests/LoginInputTests.swift | 0 UITests/LoginManagerTests.swift | 15 +- UITests/MenuTests.swift | 0 UITests/NavigationDelegateTests.swift | 0 UITests/NoImageModeTests.swift | 10 +- UITests/ReadingListTest.swift | 0 UITests/SecurityTests.swift | 0 UITests/SessionRestoreTests.swift | 0 UITests/ToolbarTests.swift | 0 UITests/TrackingProtectionTests.swift | 166 +- UITests/UITests-Bridging-Header.h | 0 UITests/ViewMemoryLeakTests.swift | 0 UITests/findPage.html | 0 UITests/localhostLoad.html | 0 UITests/loginForm.html | 0 UITests/navigationDelegate.html | 0 UITests/noTitle.html | 0 UITests/numberedPage.html | 0 UITests/readablePage.html | 0 UITests/readerContent.html | 0 UITests/scrollablePage.html | 0 UITests/youtube.ico | Bin XCUITests/ActivityStreamTest.swift | 3 +- XCUITests/AuthenticationTest.swift | 0 XCUITests/BaseTestCase.swift | 2 +- XCUITests/BookmarkingTests.swift | 0 XCUITests/BrowsingPDFTests.swift | 14 +- XCUITests/ClipBoardTests.swift | 0 XCUITests/CopiedLinksTests.swift | 0 XCUITests/DomainAutocompleteTest.swift | 35 + XCUITests/DragAndDropTests.swift | 119 + XCUITests/FindInPageTest.swift | 0 XCUITests/FirstRunTourTests.swift | 97 + XCUITests/FxScreenGraph.swift | 180 +- XCUITests/FxScreenGraphTests.swift | 0 XCUITests/HistoryTests.swift | 132 +- XCUITests/HomePageSettingsTest.swift | 0 XCUITests/HomePageSettingsUITest.swift | 4 +- XCUITests/HomePageUITest.swift | 0 XCUITests/Info.plist | 2 +- XCUITests/MailAppSettingsTests.swift | 0 XCUITests/NavigationTest.swift | 88 +- XCUITests/NewTabSettings.swift | 0 XCUITests/NightModeTests.swift | 25 +- XCUITests/NoImageTests.swift | 21 +- XCUITests/PhotonActionSheetTest.swift | 16 +- XCUITests/PrivateBrowsingTest.swift | 0 XCUITests/ReaderViewUITest.swift | 0 XCUITests/ScreenGraphTest.swift | 20 +- XCUITests/SearchSettingsUITest.swift | 0 XCUITests/SearchTest.swift | 1 - XCUITests/SettingsTest.swift | 0 XCUITests/SiteLoadTest.swift | 0 XCUITests/SyncFAUITests.swift | 85 + XCUITests/ThirdPartySearchTest.swift | 7 + XCUITests/ToolbarTest.swift | 62 + XCUITests/TopTabsTest.swift | 67 +- XCUITests/TrackingProtectionTests.swift | 212 +- XCUITests/XCUITests-Bridging-Header.h | 0 buddybuild_postbuild.sh | 0 buddybuild_postclone.sh | 14 +- buddybuild_prebuild.sh | 8 +- codecov.yml | 0 fastlane/Fastfile | 0 fastlane/actions/import_build_tools.rb | 0 package-lock.json | 1963 ++++++++++++++--- package.json | 10 +- shipping_locales.txt | 8 + webpack.config.js | 20 + 1760 files changed, 10641 insertions(+), 3399 deletions(-) mode change 100644 => 100755 .gitattributes mode change 100644 => 100755 .gitignore mode change 100644 => 100755 .swiftlint.yml mode change 100644 => 100755 AUTHORS mode change 100644 => 100755 Account/Account-Bridging-Header.h mode change 100644 => 100755 Account/FirefoxAccount.swift mode change 100644 => 100755 Account/FirefoxAccountConfiguration.swift mode change 100644 => 100755 Account/FxAClient10.swift mode change 100644 => 100755 Account/FxADevice.swift mode change 100644 => 100755 Account/FxADeviceRegistration.swift mode change 100644 => 100755 Account/FxALoginStateMachine.swift mode change 100644 => 100755 Account/FxAPushMessageHandler.swift mode change 100644 => 100755 Account/FxAState.swift mode change 100644 => 100755 Account/HawkHelper.swift mode change 100644 => 100755 Account/Info.plist mode change 100644 => 100755 Account/SyncAuthState.swift mode change 100644 => 100755 Account/TokenServerClient.swift mode change 100644 => 100755 AccountTests/FirefoxAccountTests.swift mode change 100644 => 100755 AccountTests/FxAClient10Tests.swift mode change 100644 => 100755 AccountTests/FxALoginStateMachineTests.swift mode change 100644 => 100755 AccountTests/FxAStateTests.swift mode change 100644 => 100755 AccountTests/HawkHelperTests.swift mode change 100644 => 100755 AccountTests/Info.plist mode change 100644 => 100755 AccountTests/LiveAccountTest.swift mode change 100644 => 100755 AccountTests/SyncAuthStateTests.swift mode change 100644 => 100755 AccountTests/TokenServerClientTests.swift mode change 100644 => 100755 Cartfile mode change 100644 => 100755 Cartfile.resolved mode change 100644 => 100755 Client-Bridging-Header.h mode change 100644 => 100755 Client.xcodeproj/project.pbxproj mode change 100644 => 100755 Client.xcodeproj/project.xcworkspace/contents.xcworkspacedata mode change 100644 => 100755 Client.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcbaselines/2FCAE2231ABB51F800877008.xcbaseline/FE8885C6-BB1A-48D2-9B90-E9F952C98F6B.plist mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcbaselines/2FCAE2231ABB51F800877008.xcbaseline/Info.plist mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcbaselines/E6F9650B1B2F1CF20034B023.xcbaseline/F9839E4F-67D2-4920-8CE8-94CEE3A6C3D7.plist mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcbaselines/E6F9650B1B2F1CF20034B023.xcbaseline/Info.plist mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/Account.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/Fennec.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/Fennec_Enterprise.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/Fennec_Enterprise_UITests.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/Fennec_Enterprise_XCUITests.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/Fennec_Enterprise_XCUITests_iPad.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/Firefox.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/FirefoxBeta.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/L10nSnapshotTests.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/MarketingUITests.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/ReadingList.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/SendTo.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/ShareTo.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/Shared.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/Storage.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/Sync.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/Telemetry.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/Today.xcscheme mode change 100644 => 100755 Client.xcodeproj/xcshareddata/xcschemes/ViewLater.xcscheme mode change 100644 => 100755 Client/Application/AdjustIntegration.swift mode change 100644 => 100755 Client/Application/AppDelegate.swift mode change 100644 => 100755 Client/Application/Crasher.h mode change 100644 => 100755 Client/Application/Crasher.m mode change 100644 => 100755 Client/Application/DebugSettingsBundleOptions.swift mode change 100644 => 100755 Client/Application/LaunchScreen.xib mode change 100644 => 100755 Client/Application/LeanplumIntegration.swift create mode 100755 Client/Application/NavigationRouter.swift mode change 100644 => 100755 Client/Application/QuickActions.swift mode change 100644 => 100755 Client/Application/Settings.bundle/Root.plist mode change 100644 => 100755 Client/Application/Settings.bundle/en.lproj/Root.strings mode change 100644 => 100755 Client/Application/TestAppDelegate.swift mode change 100644 => 100755 Client/Application/WebServer.swift mode change 100644 => 100755 Client/Application/main.swift mode change 100644 => 100755 Client/Assets/About/Licenses.html mode change 100644 => 100755 Client/Assets/AllFramesAtDocumentEnd.js mode change 100644 => 100755 Client/Assets/AllFramesAtDocumentStart.js mode change 100644 => 100755 Client/Assets/CertError.css mode change 100644 => 100755 Client/Assets/CertError.html rename Client/{Frontend/UserContent/UserScripts/MainFrame/AtDocumentEnd => Assets}/FxASignIn.js (100%) mode change 100644 => 100755 mode change 100644 => 100755 Client/Assets/Images.xcassets/AddSearch.imageset/AddSearch.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AddSearch.imageset/AddSearch@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AddSearch.imageset/AddSearch@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AddSearch.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon.appiconset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon.appiconset/icon-29.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon.appiconset/icon-29@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon.appiconset/icon-29@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon.appiconset/icon-40.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon.appiconset/icon-40@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon.appiconset/icon-40@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon.appiconset/icon-512@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon.appiconset/icon-60.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon.appiconset/icon-60@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon.appiconset/icon-60@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon.appiconset/icon-76.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon.appiconset/icon-76@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon.appiconset/icon-83.5@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Beta.appiconset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Beta.appiconset/icon-29.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Beta.appiconset/icon-29@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Beta.appiconset/icon-29@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Beta.appiconset/icon-40.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Beta.appiconset/icon-40@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Beta.appiconset/icon-40@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Beta.appiconset/icon-512@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Beta.appiconset/icon-60.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Beta.appiconset/icon-60@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Beta.appiconset/icon-60@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Beta.appiconset/icon-76.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Beta.appiconset/icon-76@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Beta.appiconset/icon-83.5@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Developer.appiconset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Developer.appiconset/Icon-60@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Developer.appiconset/Icon-60@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Developer.appiconset/Icon-72.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Developer.appiconset/Icon-72@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Developer.appiconset/Icon-76.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Developer.appiconset/Icon-76@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Developer.appiconset/Icon-Small-40.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Developer.appiconset/Icon-Small-40@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Developer.appiconset/Icon-Small-50.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Developer.appiconset/Icon-Small-50@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Developer.appiconset/Icon-Small.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Developer.appiconset/Icon-Small@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Developer.appiconset/Icon-iPadPro@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Developer.appiconset/Icon.png mode change 100644 => 100755 Client/Assets/Images.xcassets/AppIcon_Developer.appiconset/Icon@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/Find In Page/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/Find In Page/find_close.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/Find In Page/find_close.imageset/close.png mode change 100644 => 100755 Client/Assets/Images.xcassets/Find In Page/find_close.imageset/close@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/Find In Page/find_close.imageset/close@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/Find In Page/find_next.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/Find In Page/find_next.imageset/down-caret.png mode change 100644 => 100755 Client/Assets/Images.xcassets/Find In Page/find_next.imageset/down-caret@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/Find In Page/find_next.imageset/down-caret@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/Find In Page/find_previous.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/Find In Page/find_previous.imageset/up-caret.png mode change 100644 => 100755 Client/Assets/Images.xcassets/Find In Page/find_previous.imageset/up-caret@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/Find In Page/find_previous.imageset/up-caret@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/context_bookmark.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/context_bookmark.imageset/context-bookmark.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/context_bookmark.imageset/context-bookmark@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/context_bookmark.imageset/context-bookmark@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/context_open.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/context_open.imageset/context-open.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/context_open.imageset/context-open@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/context_open.imageset/context-open@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/context_sync.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/context_sync.imageset/context-sync.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/context_sync.imageset/context-sync@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/context_sync.imageset/context-sync@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/context_viewed.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/context_viewed.imageset/context-viewed.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/context_viewed.imageset/context-viewed@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/context_viewed.imageset/context-viewed@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/defaultTopSiteIcon.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/defaultTopSiteIcon.imageset/defaultTopSiteIcon.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/defaultTopSiteIcon.imageset/defaultTopSiteIcon@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/defaultTopSiteIcon.imageset/defaultTopSiteIcon@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/pin_small.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/pin_small.imageset/pin-small.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/pin_small.imageset/pin-small@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Activity Stream/pin_small.imageset/pin-small@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Context menu/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Context menu/action_bookmark.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Context menu/action_bookmark_remove.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Context menu/action_delete.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Context menu/action_pin.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Context menu/action_pin.imageset/pin-28.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Context menu/action_remove.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Context menu/action_share.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Context menu/action_unpin.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Context menu/action_unpin.imageset/pinremove.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Context menu/action_unpin.imageset/pinremove@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Context menu/action_unpin.imageset/pinremove@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/MarkAsRead.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/MarkAsRead.imageset/UnRead.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/MarkAsRead.imageset/UnRead@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/MarkAsRead.imageset/UnRead@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/MarkAsUnread.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/MarkAsUnread.imageset/Read.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/MarkAsUnread.imageset/Read@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/MarkAsUnread.imageset/Read@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/ReaderModeActive.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/ReaderModeActive.imageset/reader-active.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/ReaderModeActive.imageset/reader-active@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/ReaderModeActive.imageset/reader-active@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/ReaderModeAvailable.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/ReaderModeAvailable.imageset/readerOff.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/ReaderModeAvailable.imageset/readerOff@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/ReaderModeAvailable.imageset/readerOff@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/SettingsSansSerif.imageset/AaFira.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/SettingsSansSerif.imageset/AaFira@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/SettingsSansSerif.imageset/AaFira@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/SettingsSansSerif.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/SettingsSerif.imageset/AaCharis.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/SettingsSerif.imageset/AaCharis@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/SettingsSerif.imageset/AaCharis@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/SettingsSerif.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/addToReadingList.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/addToReadingList.imageset/reading-list-add.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/addToReadingList.imageset/reading-list-add@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/addToReadingList.imageset/reading-list-add@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/brightnessMax.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/brightnessMax.imageset/brightnessMax.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/brightnessMax.imageset/brightnessMax@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/brightnessMax.imageset/brightnessMax@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/brightnessMin.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/brightnessMin.imageset/brightnessMin.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/brightnessMin.imageset/brightnessMin@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/brightnessMin.imageset/brightnessMin@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/removeFromReadingList.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/removeFromReadingList.imageset/removeFromList.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/removeFromReadingList.imageset/removeFromList@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/New Tab - Reader/removeFromReadingList.imageset/removeFromList@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/TabToolbar/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/TabToolbar/nav-add.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/TabToolbar/nav-add.imageset/nav-add.png mode change 100644 => 100755 Client/Assets/Images.xcassets/TabToolbar/nav-add.imageset/nav-add@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/TabToolbar/nav-add.imageset/nav-add@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/TabToolbar/nav-back.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/TabToolbar/nav-forward.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/TabToolbar/nav-menu.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/TabToolbar/nav-refresh.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/TabToolbar/nav-share.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/TabToolbar/nav-share.imageset/share.png mode change 100644 => 100755 Client/Assets/Images.xcassets/TabToolbar/nav-share.imageset/share@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/TabToolbar/nav-share.imageset/share@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/TabToolbar/nav-stop.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmark.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmark.imageset/bookmark.png mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmark.imageset/bookmark@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmark.imageset/bookmark@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmarkFolder.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmarkFolder.imageset/icon-folder.png mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmarkFolder.imageset/icon-folder@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmarkFolder.imageset/icon-folder@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmarkHighlighted.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmarkHighlighted.imageset/bookmarkHighlighted.png mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmarkHighlighted.imageset/bookmarkHighlighted@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmarkHighlighted.imageset/bookmarkHighlighted@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmarked.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmarked.imageset/bookmarkPressed.png mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmarked.imageset/bookmarkPressed@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmarked.imageset/bookmarkPressed@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmarked_passive.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmarked_passive.imageset/bookmarked_passive.png mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmarked_passive.imageset/bookmarked_passive@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/bookmarked_passive.imageset/bookmarked_passive@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/context_pocket.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/context_pocket.imageset/context_pocket.png mode change 100644 => 100755 Client/Assets/Images.xcassets/context_pocket.imageset/context_pocket@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/context_pocket.imageset/context_pocket@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/defaultFavicon.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/defaultFavicon.imageset/newtab-icon.png mode change 100644 => 100755 Client/Assets/Images.xcassets/defaultFavicon.imageset/newtab-icon@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/defaultFavicon.imageset/newtab-icon@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/deviceTypeDesktop.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/deviceTypeDesktop.imageset/deviceTypeDesktop.png mode change 100644 => 100755 Client/Assets/Images.xcassets/deviceTypeDesktop.imageset/deviceTypeDesktop@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/deviceTypeDesktop.imageset/deviceTypeDesktop@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/deviceTypeMobile.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/deviceTypeMobile.imageset/deviceTypeMobile.png mode change 100644 => 100755 Client/Assets/Images.xcassets/deviceTypeMobile.imageset/deviceTypeMobile@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/deviceTypeMobile.imageset/deviceTypeMobile@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/faviconFox.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/faviconFox.imageset/back-panel-home.png mode change 100644 => 100755 Client/Assets/Images.xcassets/faviconFox.imageset/back-panel-home@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/faviconFox.imageset/back-panel-home@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/fxLogo.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/fxLogo.imageset/fxLogo.png mode change 100644 => 100755 Client/Assets/Images.xcassets/fxLogo.imageset/fxLogo@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/fxLogo.imageset/fxLogo@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/fxa_get_started.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/fxa_get_started.imageset/fxa_get_started.png mode change 100644 => 100755 Client/Assets/Images.xcassets/fxa_get_started.imageset/fxa_get_started@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/goBack.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/goBack.imageset/goback.png mode change 100644 => 100755 Client/Assets/Images.xcassets/goBack.imageset/goback@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/goBack.imageset/goback@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/key.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/key.imageset/key.png mode change 100644 => 100755 Client/Assets/Images.xcassets/key.imageset/key@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/key.imageset/key@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/largePrivateMask.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/largePrivateMask.imageset/largePrivateMask.pdf mode change 100644 => 100755 Client/Assets/Images.xcassets/lock_verified.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/lock_verified.imageset/lock-small.png mode change 100644 => 100755 Client/Assets/Images.xcassets/lock_verified.imageset/lock-small@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/lock_verified.imageset/lock-small@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/loginSelected.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/loginSelected.imageset/loginSelected.png mode change 100644 => 100755 Client/Assets/Images.xcassets/loginSelected.imageset/loginSelected@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/loginSelected.imageset/loginSelected@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/loginUnselected.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/loginUnselected.imageset/loginUnselected.png mode change 100644 => 100755 Client/Assets/Images.xcassets/loginUnselected.imageset/loginUnselected@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/loginUnselected.imageset/loginUnselected@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quickSearch.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/quickSearch.imageset/quick-search.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quickSearch.imageset/quick-search@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quickSearch.imageset/quick-search@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_go_to_copied.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_go_to_copied.imageset/go-to-copied.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_go_to_copied.imageset/go-to-copied2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_go_to_copied.imageset/go-to-copied@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_last_bookmark.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_last_bookmark.imageset/last-bookmark.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_last_bookmark.imageset/last-bookmark@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_last_bookmark.imageset/last-bookmark@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_last_tab.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_last_tab.imageset/open-tab.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_last_tab.imageset/open-tab2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_last_tab.imageset/open-tab@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_new_private_tab.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_new_private_tab.imageset/new-private-tab.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_new_private_tab.imageset/new-private-tab@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_new_private_tab.imageset/new-private-tab@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_new_tab.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_new_tab.imageset/new-tab.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_new_tab.imageset/new-tab@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_new_tab.imageset/new-tab@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_reading_list.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_reading_list.imageset/reading-list.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_reading_list.imageset/reading-list2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/quick_action_reading_list.imageset/reading-list@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/reader.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/reader.imageset/readermode.png mode change 100644 => 100755 Client/Assets/Images.xcassets/reader.imageset/readermode@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/reader.imageset/readermode@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/recently_closed.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/recently_closed.imageset/closedRecently.png mode change 100644 => 100755 Client/Assets/Images.xcassets/recently_closed.imageset/closedRecently@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/recently_closed.imageset/closedRecently@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/search.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/search.imageset/search-suggestion-magnifying-glass.png mode change 100644 => 100755 Client/Assets/Images.xcassets/search.imageset/search-suggestion-magnifying-glass@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/search.imageset/search-suggestion-magnifying-glass@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/settings.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/settings.imageset/Settings-cog.png mode change 100644 => 100755 Client/Assets/Images.xcassets/settings.imageset/Settings-cog@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/settings.imageset/Settings-cog@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/shareRequestDesktopSite.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/shareRequestDesktopSite.imageset/RDS.png mode change 100644 => 100755 Client/Assets/Images.xcassets/shareRequestDesktopSite.imageset/RDS@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/shareRequestDesktopSite.imageset/RDS@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/shareRequestMobileSite.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/shareRequestMobileSite.imageset/RMS.png mode change 100644 => 100755 Client/Assets/Images.xcassets/shareRequestMobileSite.imageset/RMS@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/shareRequestMobileSite.imageset/RMS@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/smallPrivateMask.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/smallPrivateMask.imageset/new-private-tab.png mode change 100644 => 100755 Client/Assets/Images.xcassets/smallPrivateMask.imageset/new-private-tab@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/smallPrivateMask.imageset/new-private-tab@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/splash.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/splash.imageset/splash.png mode change 100644 => 100755 Client/Assets/Images.xcassets/splash.imageset/splash@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/splash.imageset/splash@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/synced_devices.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/synced_devices.imageset/Synced Panel.png mode change 100644 => 100755 Client/Assets/Images.xcassets/synced_devices.imageset/Synced Panel@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/synced_devices.imageset/Synced Panel@3x.png create mode 100755 Client/Assets/Images.xcassets/tab_close.imageset/Contents.json create mode 100755 Client/Assets/Images.xcassets/tab_close.imageset/close-medium.png create mode 100755 Client/Assets/Images.xcassets/tab_close.imageset/close-medium@2x.png create mode 100755 Client/Assets/Images.xcassets/tab_close.imageset/close-medium@3x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/topTabs-closeTabs.imageset/Contents.json mode change 100644 => 100755 Client/Assets/Images.xcassets/topTabs-closeTabs.imageset/closeTab.png mode change 100644 => 100755 Client/Assets/Images.xcassets/topTabs-closeTabs.imageset/closeTab@2x.png mode change 100644 => 100755 Client/Assets/Images.xcassets/topTabs-closeTabs.imageset/closeTab@3x.png create mode 100755 Client/Assets/Images.xcassets/tracking-protection-off.imageset/Contents.json create mode 100755 Client/Assets/Images.xcassets/tracking-protection-off.imageset/trackingprotection-off-medium.png create mode 100755 Client/Assets/Images.xcassets/tracking-protection-off.imageset/trackingprotection-off-medium@2x.png create mode 100755 Client/Assets/Images.xcassets/tracking-protection-off.imageset/trackingprotection-off-medium@3x.png create mode 100755 Client/Assets/Images.xcassets/tracking-protection.imageset/Contents.json create mode 100755 Client/Assets/Images.xcassets/tracking-protection.imageset/trackingprotection-medium.png create mode 100755 Client/Assets/Images.xcassets/tracking-protection.imageset/trackingprotection-medium@2x.png create mode 100755 Client/Assets/Images.xcassets/tracking-protection.imageset/trackingprotection-medium@3x.png mode change 100644 => 100755 Client/Assets/MainFrameAtDocumentEnd.js mode change 100644 => 100755 Client/Assets/MainFrameAtDocumentStart.js mode change 100644 => 100755 Client/Assets/NetError.css mode change 100644 => 100755 Client/Assets/NetError.html mode change 100644 => 100755 Client/Assets/Search/README.md mode change 100644 => 100755 Client/Assets/Search/SearchOverlays/baidu.xml mode change 100644 => 100755 Client/Assets/Search/SearchOverlays/bing.xml mode change 100644 => 100755 Client/Assets/Search/SearchOverlays/duckduckgo.xml mode change 100644 => 100755 Client/Assets/Search/SearchOverlays/qwant.xml mode change 100644 => 100755 Client/Assets/Search/SearchOverlays/yahoo.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/amazon-au.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/amazon-br.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/amazon-ca.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/amazon-co-uk.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/amazon-de.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/amazon-fr.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/amazon-in.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/amazon-jp.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/amazon-mx.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/amazon-nl.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/amazondotcom.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/azerdict.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/azet-sk.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/baidu.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/bing.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/bolcom-fy-NL.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/bolcom-nl.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/ceneje.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/coccoc.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/danawa-kr.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/daum-kr.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/ddg.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/diec2.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/drae.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/duckduckgo.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/elebila.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/faclair-beag.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/google-2018.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/google-nocodes.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/google.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/gulesider-mobile-NO.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/heureka-cz.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/leit-is.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/leo_ende_de.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/list-am.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/list.json mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/mapy-cz.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/mercadolibre-ar.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/mercadolibre-cl.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/mercadolibre-mx.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/naver-kr.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/odpiralni.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/pledarigrond.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/prisjakt-sv-SE.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/qwant.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/rediff.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/reta-vortaro.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/salidzinilv.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/seznam-cz.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/skroutz.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/slovnik-sk.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/sslv.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/sztaki-en-hu.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/taobao.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/tearma.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/twitter-ja.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/twitter.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/vatera.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-NN.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-NO.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-an.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-ar.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-as.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-ast.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-az.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-be.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-bg.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-bn.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-br.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-bs.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-ca.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-cy.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-cz.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-da.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-de.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-dsb.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-el.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-eo.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-es.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-et.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-eu.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-fa.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-fi.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-fr.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-fy-NL.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-ga-IE.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-gd.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-gl.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-gn.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-gu.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-he.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-hi.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-hr.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-hsb.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-hu.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-hy-AM.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-ia.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-id.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-is.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-it.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-ja.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-ka.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-kab.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-kk.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-km.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-kn.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-lo.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-lt.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-ltg.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-lv.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-ml.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-mr.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-ms.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-my.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-ne.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-nl.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-oc.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-or.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-pa.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-pl.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-pt.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-rm.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-ro.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-ru.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-sk.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-sl.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-sq.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-sr.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-sv-SE.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-ta.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-te.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-th.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-tr.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-uk.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-ur.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-uz.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-vi.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-wo.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-zh-CN.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia-zh-TW.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wikipedia.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wiktionary-kn.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wiktionary-oc.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wiktionary-or.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wiktionary-ta.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/wiktionary-te.xml delete mode 100644 Client/Assets/Search/SearchPlugins/yahoo-br.xml delete mode 100644 Client/Assets/Search/SearchPlugins/yahoo-ch.xml delete mode 100644 Client/Assets/Search/SearchPlugins/yahoo-cl.xml delete mode 100644 Client/Assets/Search/SearchPlugins/yahoo-de.xml delete mode 100644 Client/Assets/Search/SearchPlugins/yahoo-en-GB.xml delete mode 100644 Client/Assets/Search/SearchPlugins/yahoo-es.xml delete mode 100644 Client/Assets/Search/SearchPlugins/yahoo-espanol.xml delete mode 100644 Client/Assets/Search/SearchPlugins/yahoo-fi.xml delete mode 100644 Client/Assets/Search/SearchPlugins/yahoo-france.xml delete mode 100644 Client/Assets/Search/SearchPlugins/yahoo-id.xml delete mode 100644 Client/Assets/Search/SearchPlugins/yahoo-in.xml delete mode 100644 Client/Assets/Search/SearchPlugins/yahoo-it.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/yahoo-jp.xml delete mode 100644 Client/Assets/Search/SearchPlugins/yahoo-mx.xml delete mode 100644 Client/Assets/Search/SearchPlugins/yahoo.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/yandex-market.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/yandex-ru.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/yandex-tr.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/yandex.by.xml mode change 100644 => 100755 Client/Assets/Search/SearchPlugins/yandex.xml mode change 100644 => 100755 Client/Assets/Search/Tests/Base/testplugin.xml mode change 100644 => 100755 Client/Assets/Search/Tests/Expected/append.xml mode change 100644 => 100755 Client/Assets/Search/Tests/Expected/replace.xml mode change 100644 => 100755 Client/Assets/Search/Tests/Overlays/append.xml mode change 100644 => 100755 Client/Assets/Search/Tests/Overlays/replace.xml mode change 100644 => 100755 Client/Assets/SessionRestore.html mode change 100644 => 100755 Client/Assets/SpotlightHelper.js mode change 100644 => 100755 Client/Assets/TopSites/mozilla-com.png mode change 100644 => 100755 Client/Assets/topdomains.txt mode change 100644 => 100755 Client/Configuration/Fennec.enterprise.xcconfig mode change 100644 => 100755 Client/Configuration/Fennec.xcconfig mode change 100644 => 100755 Client/Configuration/Firefox.xcconfig mode change 100644 => 100755 Client/Configuration/FirefoxBeta.xcconfig mode change 100644 => 100755 Client/DispatchQueueExtensions.swift mode change 100644 => 100755 Client/Entitlements/FennecApplication.entitlements mode change 100644 => 100755 Client/Entitlements/FennecEnterpriseApplication.entitlements mode change 100644 => 100755 Client/Entitlements/FirefoxApplication.entitlements mode change 100644 => 100755 Client/Entitlements/FirefoxBetaApplication.entitlements mode change 100644 => 100755 Client/Extensions/GeometryExtensions.swift mode change 100644 => 100755 Client/Extensions/NSAttributedStringExtensions.swift mode change 100644 => 100755 Client/Extensions/NSURLExtensionsMailTo.swift mode change 100644 => 100755 Client/Extensions/SnapKitExtensions.swift mode change 100644 => 100755 Client/Extensions/UIAlertControllerExtensions.swift mode change 100644 => 100755 Client/Extensions/UIImageViewExtensions.swift mode change 100644 => 100755 Client/Extensions/UIPasteboardExtensions.swift mode change 100644 => 100755 Client/Extensions/UIViewExtensions.swift mode change 100644 => 100755 Client/Frontend/Accessors/HomePageAccessors.swift mode change 100644 => 100755 Client/Frontend/Accessors/NewTabAccessors.swift mode change 100644 => 100755 Client/Frontend/AuthenticationManager/AppAuthenticator.swift mode change 100644 => 100755 Client/Frontend/AuthenticationManager/AuthenticationManagerConstants.swift mode change 100644 => 100755 Client/Frontend/AuthenticationManager/AuthenticationSettingsViewController.swift mode change 100644 => 100755 Client/Frontend/AuthenticationManager/BasePasscodeViewController.swift mode change 100644 => 100755 Client/Frontend/AuthenticationManager/ChangePasscodeViewController.swift mode change 100644 => 100755 Client/Frontend/AuthenticationManager/PagingPasscodeViewController.swift mode change 100644 => 100755 Client/Frontend/AuthenticationManager/PasscodeEntryViewController.swift mode change 100644 => 100755 Client/Frontend/AuthenticationManager/PasscodeViews.swift mode change 100644 => 100755 Client/Frontend/AuthenticationManager/RemovePasscodeViewController.swift mode change 100644 => 100755 Client/Frontend/AuthenticationManager/RequirePasscodeIntervalViewController.swift mode change 100644 => 100755 Client/Frontend/AuthenticationManager/SensitiveViewController.swift mode change 100644 => 100755 Client/Frontend/AuthenticationManager/SetupPasscodeViewController.swift mode change 100644 => 100755 Client/Frontend/Browser/AboutHomeHandler.swift mode change 100644 => 100755 Client/Frontend/Browser/Authenticator.swift mode change 100644 => 100755 Client/Frontend/Browser/BackForwardListAnimator.swift mode change 100644 => 100755 Client/Frontend/Browser/BackForwardListViewController.swift mode change 100644 => 100755 Client/Frontend/Browser/BackForwardTableViewCell.swift mode change 100644 => 100755 Client/Frontend/Browser/BrowserPrompts.swift mode change 100644 => 100755 Client/Frontend/Browser/BrowserTrayAnimators.swift mode change 100644 => 100755 Client/Frontend/Browser/BrowserViewController.swift mode change 100644 => 100755 Client/Frontend/Browser/BrowserViewController/BrowserViewController+KeyCommands.swift mode change 100644 => 100755 Client/Frontend/Browser/BrowserViewController/BrowserViewController+UIDropInteractionDelegate.swift mode change 100644 => 100755 Client/Frontend/Browser/BrowserViewController/BrowserViewController+WKNavigationDelegate.swift mode change 100644 => 100755 Client/Frontend/Browser/ButtonToast.swift mode change 100644 => 100755 Client/Frontend/Browser/ClipboardBarDisplayHandler.swift mode change 100644 => 100755 Client/Frontend/Browser/ContextMenuHelper.swift mode change 100644 => 100755 Client/Frontend/Browser/CustomSearchHandler.swift mode change 100644 => 100755 Client/Frontend/Browser/DefaultSearchPrefs.swift mode change 100644 => 100755 Client/Frontend/Browser/ErrorPageHelper.swift mode change 100644 => 100755 Client/Frontend/Browser/FaviconHandler.swift mode change 100644 => 100755 Client/Frontend/Browser/FaviconManager.swift mode change 100644 => 100755 Client/Frontend/Browser/FindInPageBar.swift mode change 100644 => 100755 Client/Frontend/Browser/FindInPageHelper.swift create mode 100755 Client/Frontend/Browser/FocusHelper.swift mode change 100644 => 100755 Client/Frontend/Browser/FormPostHelper.swift mode change 100644 => 100755 Client/Frontend/Browser/HistoryStateHelper.swift mode change 100644 => 100755 Client/Frontend/Browser/HomePageHelper.swift mode change 100644 => 100755 Client/Frontend/Browser/LocalRequestHelper.swift mode change 100644 => 100755 Client/Frontend/Browser/LoginsHelper.swift mode change 100644 => 100755 Client/Frontend/Browser/MailProviders.swift mode change 100644 => 100755 Client/Frontend/Browser/MailtoLinkHandler.swift mode change 100644 => 100755 Client/Frontend/Browser/MetadataParserHelper.swift mode change 100644 => 100755 Client/Frontend/Browser/NightModeHelper.swift mode change 100644 => 100755 Client/Frontend/Browser/NoImageModeHelper.swift mode change 100644 => 100755 Client/Frontend/Browser/OpenInHelper.swift mode change 100644 => 100755 Client/Frontend/Browser/OpenSearch.swift mode change 100644 => 100755 Client/Frontend/Browser/OpenWithSettingsViewController.swift mode change 100644 => 100755 Client/Frontend/Browser/PrintHelper.swift mode change 100644 => 100755 Client/Frontend/Browser/PrivilegedRequest.swift mode change 100644 => 100755 Client/Frontend/Browser/Punycode.swift mode change 100644 => 100755 Client/Frontend/Browser/QRCode.xcassets/Contents.json mode change 100644 => 100755 Client/Frontend/Browser/QRCode.xcassets/qrcode-goBack.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Browser/QRCode.xcassets/qrcode-goBack.imageset/qrcode-goBack.png mode change 100644 => 100755 Client/Frontend/Browser/QRCode.xcassets/qrcode-goBack.imageset/qrcode-goBack@2x.png mode change 100644 => 100755 Client/Frontend/Browser/QRCode.xcassets/qrcode-goBack.imageset/qrcode-goBack@3x.png mode change 100644 => 100755 Client/Frontend/Browser/QRCode.xcassets/qrcode-isLighting.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Browser/QRCode.xcassets/qrcode-isLighting.imageset/qrcode-isLighting.png mode change 100644 => 100755 Client/Frontend/Browser/QRCode.xcassets/qrcode-isLighting.imageset/qrcode-isLighting@2x.png mode change 100644 => 100755 Client/Frontend/Browser/QRCode.xcassets/qrcode-isLighting.imageset/qrcode-isLighting@3x.png mode change 100644 => 100755 Client/Frontend/Browser/QRCode.xcassets/qrcode-light.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Browser/QRCode.xcassets/qrcode-light.imageset/qrcode-light.png mode change 100644 => 100755 Client/Frontend/Browser/QRCode.xcassets/qrcode-light.imageset/qrcode-light@2x.png mode change 100644 => 100755 Client/Frontend/Browser/QRCode.xcassets/qrcode-light.imageset/qrcode-light@3x.png mode change 100644 => 100755 Client/Frontend/Browser/QRCode.xcassets/qrcode-scanBorder.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Browser/QRCode.xcassets/qrcode-scanBorder.imageset/qrcode-scanBorder.png mode change 100644 => 100755 Client/Frontend/Browser/QRCode.xcassets/qrcode-scanLine.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Browser/QRCode.xcassets/qrcode-scanLine.imageset/qrcode-scanLine.png mode change 100644 => 100755 Client/Frontend/Browser/QRCodeViewController.swift mode change 100644 => 100755 Client/Frontend/Browser/ReaderModeBarView.swift mode change 100644 => 100755 Client/Frontend/Browser/ScreenshotHelper.swift mode change 100644 => 100755 Client/Frontend/Browser/SearchEngines.swift mode change 100644 => 100755 Client/Frontend/Browser/SearchLoader.swift mode change 100644 => 100755 Client/Frontend/Browser/SearchSuggestClient.swift mode change 100644 => 100755 Client/Frontend/Browser/SearchViewController.swift mode change 100644 => 100755 Client/Frontend/Browser/SessionData.swift mode change 100644 => 100755 Client/Frontend/Browser/SessionRestoreHandler.swift mode change 100644 => 100755 Client/Frontend/Browser/SessionRestoreHelper.swift mode change 100644 => 100755 Client/Frontend/Browser/SimpleToast.swift mode change 100644 => 100755 Client/Frontend/Browser/SwipeAnimator.swift mode change 100644 => 100755 Client/Frontend/Browser/Tab.swift mode change 100644 => 100755 Client/Frontend/Browser/TabLocationView.swift mode change 100644 => 100755 Client/Frontend/Browser/TabManager.swift mode change 100644 => 100755 Client/Frontend/Browser/TabPeekViewController.swift mode change 100644 => 100755 Client/Frontend/Browser/TabPrintPageRenderer.swift mode change 100644 => 100755 Client/Frontend/Browser/TabScrollController.swift mode change 100644 => 100755 Client/Frontend/Browser/TabToolbar.swift mode change 100644 => 100755 Client/Frontend/Browser/TabTrayButtonExtensions.swift create mode 100755 Client/Frontend/Browser/TabTrayController+KeyCommands.swift mode change 100644 => 100755 Client/Frontend/Browser/TabTrayController.swift mode change 100644 => 100755 Client/Frontend/Browser/ThirdPartySearchAlerts.swift mode change 100644 => 100755 Client/Frontend/Browser/TopTabsLayout.swift mode change 100644 => 100755 Client/Frontend/Browser/TopTabsViewController.swift mode change 100644 => 100755 Client/Frontend/Browser/TopTabsViews.swift mode change 100644 => 100755 Client/Frontend/Browser/URIFixup.swift mode change 100644 => 100755 Client/Frontend/Browser/URLBarView.swift mode change 100644 => 100755 Client/Frontend/Browser/UserScriptManager.swift create mode 100755 Client/Frontend/ContentBlocker/ContentBlockerHelper+TabContentScript.swift create mode 100755 Client/Frontend/ContentBlocker/ContentBlockerHelper+Whitelist.swift mode change 100644 => 100755 Client/Frontend/ContentBlocker/ContentBlockerHelper.swift mode change 100644 => 100755 Client/Frontend/ContentBlocker/ContentBlockerSettingViewController.swift create mode 100755 Client/Frontend/ContentBlocker/Lists/disconnect-advertising.json create mode 100755 Client/Frontend/ContentBlocker/Lists/disconnect-analytics.json create mode 100755 Client/Frontend/ContentBlocker/Lists/disconnect-content.json create mode 100755 Client/Frontend/ContentBlocker/Lists/disconnect-social.json create mode 100755 Client/Frontend/ContentBlocker/TrackingProtectionPageStats.swift create mode 100755 Client/Frontend/ContentBlocker/build-disconnect.py delete mode 100644 Client/Frontend/ContentBlocker/disconnect-advertising.json delete mode 100644 Client/Frontend/ContentBlocker/disconnect-analytics.json delete mode 100644 Client/Frontend/ContentBlocker/disconnect-content.json delete mode 100644 Client/Frontend/ContentBlocker/disconnect-social.json mode change 100644 => 100755 Client/Frontend/Home/ActivityStreamPanel.swift mode change 100644 => 100755 Client/Frontend/Home/ActivityStreamTopSitesCell.swift mode change 100644 => 100755 Client/Frontend/Home/BookmarksPanel.swift mode change 100644 => 100755 Client/Frontend/Home/HistoryPanel.swift mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/AddToReadingListCircle.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/AddToReadingListCircle.imageset/reading list add circle.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/AddToReadingListCircle.imageset/reading list add circle@2x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/AddToReadingListCircle.imageset/reading list add circle@3x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/Contents.json mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/ReaderModeCircle.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/ReaderModeCircle.imageset/reader view circle.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/ReaderModeCircle.imageset/reader view circle@2x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/ReaderModeCircle.imageset/reader view circle@3x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/clear.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/clear.imageset/clear.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/clear.imageset/clear@2x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/clear.imageset/clear@3x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/emptyBookmarks.imageset/BookmarksEmptyPanel.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/emptyBookmarks.imageset/BookmarksEmptyPanel@2x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/emptyBookmarks.imageset/BookmarksEmptyPanel@3x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/emptyBookmarks.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/emptyHistory.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/emptyHistory.imageset/historyEmptyPanel.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/emptyHistory.imageset/historyEmptyPanel@2x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/emptyHistory.imageset/historyEmptyPanel@3x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/emptySync.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/emptySync.imageset/sync-devices.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/emptySync.imageset/sync-devices@2x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/emptySync.imageset/sync-devices@3x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/emptyTopSites.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/emptyTopSites.imageset/topSitesEmptyPanel.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/emptyTopSites.imageset/topSitesEmptyPanel@2x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/emptyTopSites.imageset/topSitesEmptyPanel@3x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconBookmarks.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconBookmarks.imageset/bookmark-Outline.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconBookmarks.imageset/bookmark-Outline@2x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconBookmarks.imageset/bookmark-Outline@3x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconHistory.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconHistory.imageset/history.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconHistory.imageset/history@2x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconHistory.imageset/history@3x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconReadingList.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconReadingList.imageset/reading-list.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconReadingList.imageset/reading-list@2x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconReadingList.imageset/reading-list@3x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconSyncedTabs.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconSyncedTabs.imageset/Synced Panel.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconSyncedTabs.imageset/Synced Panel@2x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconSyncedTabs.imageset/Synced Panel@3x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconTopSites.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconTopSites.imageset/topsites.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconTopSites.imageset/topsites@2x.png mode change 100644 => 100755 Client/Frontend/Home/Home.xcassets/panelIconTopSites.imageset/topsites@3x.png mode change 100644 => 100755 Client/Frontend/Home/HomePanelViewController.swift mode change 100644 => 100755 Client/Frontend/Home/HomePanels.swift mode change 100644 => 100755 Client/Frontend/Home/PanelDataObservers.swift mode change 100644 => 100755 Client/Frontend/Home/ReaderPanel.swift mode change 100644 => 100755 Client/Frontend/Home/RecentlyClosedTabsPanel.swift mode change 100644 => 100755 Client/Frontend/Home/RemoteTabsPanel.swift mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/Contents.json mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Mail.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Mail.imageset/tour-Mail.png mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Mail.imageset/tour-Mail@2x.png mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Mail.imageset/tour-Mail@3x.png mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Private.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Private.imageset/tour-Private.png mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Private.imageset/tour-Private@2x.png mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Private.imageset/tour-Private@3x.png mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Search.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Search.imageset/tour-Search.png mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Search.imageset/tour-Search@2x.png mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Search.imageset/tour-Search@3x.png mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Sync.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Sync.imageset/tour-Sync.png mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Sync.imageset/tour-Sync@2x.png mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Sync.imageset/tour-Sync@3x.png mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Welcome.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Welcome.imageset/tour-Welcome.png mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Welcome.imageset/tour-Welcome@2x.png mode change 100644 => 100755 Client/Frontend/Intro/Intro.xcassets/tour-Welcome.imageset/tour-Welcome@3x.png mode change 100644 => 100755 Client/Frontend/Intro/IntroViewController.swift mode change 100644 => 100755 Client/Frontend/Login Management/LoginListViewController.swift mode change 100644 => 100755 Client/Frontend/Login/LoginViewController.swift mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Bookmark-Remove.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Bookmark-Remove.imageset/bookmark-remove.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Bookmark-Remove.imageset/bookmark-remove@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Bookmark-Remove.imageset/bookmark-remove@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Bookmark.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Bookmark.imageset/menu-Bookmark.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Bookmark.imageset/menu-Bookmark@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Bookmark.imageset/menu-Bookmark@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-CloseTabs.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-CloseTabs.imageset/menu-CloseTabs.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-CloseTabs.imageset/menu-CloseTabs@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-CloseTabs.imageset/menu-CloseTabs@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Copy-Link.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Copy-Link.imageset/link.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Copy-Link.imageset/link@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Copy-Link.imageset/link@3x.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Disclosure.imageset/Contents.json create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Disclosure.imageset/menu-Disclosure.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Disclosure.imageset/menu-Disclosure@2x.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Disclosure.imageset/menu-Disclosure@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-FindInPage.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-FindInPage.imageset/search.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-FindInPage.imageset/search@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-FindInPage.imageset/search@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Home.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Home.imageset/bottomNav-Home.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Home.imageset/bottomNav-Home@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Home.imageset/bottomNav-Home@3x.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Info.imageset/Contents.json create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Info.imageset/info.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Info.imageset/info@2x.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Info.imageset/info@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-More-Options.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-More-Options.imageset/action.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-More-Options.imageset/action@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-More-Options.imageset/action@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-NewPrivateTab.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-NewPrivateTab.imageset/new-private-tab.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-NewPrivateTab.imageset/new-private-tab@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-NewPrivateTab.imageset/new-private-tab@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-NewTab.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-NewTab.imageset/menu-NewTab.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-NewTab.imageset/menu-NewTab@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-NewTab.imageset/menu-NewTab@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-NightMode.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-NightMode.imageset/menu-NightMode.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-NightMode.imageset/menu-NightMode@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-NightMode.imageset/menu-NightMode@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-NoImageMode.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-NoImageMode.imageset/menu-NoImageMode.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-NoImageMode.imageset/menu-NoImageMode@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-NoImageMode.imageset/menu-NoImageMode@3x.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Paste.imageset/Contents.json create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Paste.imageset/paste.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Paste.imageset/paste@2x.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Paste.imageset/paste@3x.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-PasteAndGo.imageset/Contents.json create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-PasteAndGo.imageset/paste.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-PasteAndGo.imageset/paste@2x.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-PasteAndGo.imageset/paste@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-RequestDesktopSite.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-RequestDesktopSite.imageset/menu-RequestDesktopSite.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-RequestDesktopSite.imageset/menu-RequestDesktopSite@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-RequestDesktopSite.imageset/menu-RequestDesktopSite@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-ScanQRCode.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-ScanQRCode.imageset/qrscan.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-ScanQRCode.imageset/qrscan@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-ScanQRCode.imageset/qrscan@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Send-to-Device.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Send-to-Device.imageset/sendtodevice.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Send-to-Device.imageset/sendtodevice@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Send-to-Device.imageset/sendtodevice@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Send.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Send.imageset/sendMenu.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Send.imageset/sendMenu@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Send.imageset/sendMenu@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Settings.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Settings.imageset/menu-Settings.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Settings.imageset/menu-Settings@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Settings.imageset/menu-Settings@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Show-Tabs.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Show-Tabs.imageset/showtabs.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Show-Tabs.imageset/showtabs@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-Show-Tabs.imageset/showtabs@3x.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Toggle-Off.imageset/ Switch-Off.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Toggle-Off.imageset/ Switch-Off@2x.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Toggle-Off.imageset/ Switch-Off@3x.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Toggle-Off.imageset/Contents.json create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Toggle-On.imageset/ Switch-On.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Toggle-On.imageset/ Switch-On@2x.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Toggle-On.imageset/ Switch-On@3x.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Toggle-On.imageset/Contents.json create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Tools.imageset/Contents.json create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Tools.imageset/menu-Tools.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Tools.imageset/menu-Tools@2x.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-Tools.imageset/menu-Tools@3x.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-TrackingProtection-Off.imageset/Contents.json create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-TrackingProtection-Off.imageset/trackingprotection-off.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-TrackingProtection-Off.imageset/trackingprotection-off@2x.png create mode 100755 Client/Frontend/Menu/Menu.xcassets/menu-TrackingProtection-Off.imageset/trackingprotection-off@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-TrackingProtection.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-TrackingProtection.imageset/trackingprotection.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-TrackingProtection.imageset/trackingprotection@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-TrackingProtection.imageset/trackingprotection@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-ViewMobile.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-ViewMobile.imageset/menu-ViewMobile.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-ViewMobile.imageset/menu-ViewMobile@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-ViewMobile.imageset/menu-ViewMobile@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-panel-Bookmarks.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-panel-Bookmarks.imageset/bookmark-filled.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-panel-Bookmarks.imageset/bookmark-filled@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-panel-Bookmarks.imageset/bookmark-filled@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-panel-History.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-panel-History.imageset/history.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-panel-History.imageset/history@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-panel-History.imageset/history@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-panel-ReadingList.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-panel-ReadingList.imageset/reading-list.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-panel-ReadingList.imageset/reading-list@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-panel-ReadingList.imageset/reading-list@3x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-panel-TopSites.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-panel-TopSites.imageset/topsites.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-panel-TopSites.imageset/topsites@2x.png mode change 100644 => 100755 Client/Frontend/Menu/Menu.xcassets/menu-panel-TopSites.imageset/topsites@3x.png mode change 100644 => 100755 Client/Frontend/OldStrings.swift mode change 100644 => 100755 Client/Frontend/Reader/FSReadingList.h mode change 100644 => 100755 Client/Frontend/Reader/FSReadingList.m mode change 100644 => 100755 Client/Frontend/Reader/ReadabilityService.swift mode change 100644 => 100755 Client/Frontend/Reader/Reader.css mode change 100644 => 100755 Client/Frontend/Reader/Reader.html mode change 100644 => 100755 Client/Frontend/Reader/ReaderMode.swift mode change 100644 => 100755 Client/Frontend/Reader/ReaderModeCache.swift mode change 100644 => 100755 Client/Frontend/Reader/ReaderModeHandlers.swift mode change 100644 => 100755 Client/Frontend/Reader/ReaderModeStyleViewController.swift mode change 100644 => 100755 Client/Frontend/Reader/ReaderModeUtils.swift mode change 100644 => 100755 Client/Frontend/Reader/ReaderViewLoading.html mode change 100644 => 100755 Client/Frontend/Settings/AdvanceAccountSettingViewController.swift mode change 100644 => 100755 Client/Frontend/Settings/AppSettingsOptions.swift mode change 100644 => 100755 Client/Frontend/Settings/AppSettingsTableViewController.swift mode change 100644 => 100755 Client/Frontend/Settings/ClearPrivateDataTableViewController.swift mode change 100644 => 100755 Client/Frontend/Settings/Clearables.swift mode change 100644 => 100755 Client/Frontend/Settings/CustomSearchViewController.swift mode change 100644 => 100755 Client/Frontend/Settings/FxAContentViewController.swift mode change 100644 => 100755 Client/Frontend/Settings/HomePageSettingsViewController.swift mode change 100644 => 100755 Client/Frontend/Settings/LoginDetailViewController.swift mode change 100644 => 100755 Client/Frontend/Settings/NewTabChoiceViewController.swift mode change 100644 => 100755 Client/Frontend/Settings/NewTabContentSettingsViewController.swift mode change 100644 => 100755 Client/Frontend/Settings/SearchEnginePicker.swift mode change 100644 => 100755 Client/Frontend/Settings/SearchSettingsTableViewController.swift mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/AmberCaution.imageset/AmberCaution.png mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/AmberCaution.imageset/AmberCaution@2x.png mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/AmberCaution.imageset/AmberCaution@3x.png mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/AmberCaution.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/Contents.json mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/FxA-Default.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/FxA-Default.imageset/FxA-Default.png mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/FxA-Default.imageset/FxA-Default@2x.png mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/FxA-Default.imageset/FxA-Default@3x.png mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/FxA-Sync-Blue.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/FxA-Sync-Blue.imageset/FxA-Sync-Blue.png mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/FxA-Sync-Blue.imageset/FxA-Sync-Blue@2x.png mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/FxA-Sync-Blue.imageset/FxA-Sync-Blue@3x.png mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/FxA-Sync.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/FxA-Sync.imageset/FxA-Sync.png mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/FxA-Sync.imageset/FxA-Sync@2x.png mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/FxA-Sync.imageset/FxA-Sync@3x.png mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/RedCaution.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/RedCaution.imageset/RedCaution.png mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/RedCaution.imageset/RedCaution@2x.png mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/RedCaution.imageset/RedCaution@3x.png mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/placeholder-avatar.imageset/Contents.json mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/placeholder-avatar.imageset/placeholder-avatar.png mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/placeholder-avatar.imageset/placeholder-avatar@2x.png mode change 100644 => 100755 Client/Frontend/Settings/Settings.xcassets/placeholder-avatar.imageset/placeholder-avatar@3x.png mode change 100644 => 100755 Client/Frontend/Settings/SettingsContentViewController.swift mode change 100644 => 100755 Client/Frontend/Settings/SettingsNavigationController.swift mode change 100644 => 100755 Client/Frontend/Settings/SettingsTableViewController.swift mode change 100644 => 100755 Client/Frontend/Settings/SyncContentSettingsViewController.swift mode change 100644 => 100755 Client/Frontend/Share/ShareExtensionHelper.swift mode change 100644 => 100755 Client/Frontend/Share/TitleActivityItemProvider.swift mode change 100644 => 100755 Client/Frontend/Strings.swift mode change 100644 => 100755 Client/Frontend/UIConstants.swift mode change 100644 => 100755 Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/ContextMenu.js create mode 100755 Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/FocusHelper.js mode change 100644 => 100755 Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/LoginsHelper.js mode change 100644 => 100755 Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/PrintHandler.js mode change 100644 => 100755 Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/__firefox__.js mode change 100644 => 100755 Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentStart/__firefox__.js mode change 100644 => 100755 Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentEnd/CustomSearchHandler.js mode change 100644 => 100755 Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentEnd/FindInPage.js mode change 100644 => 100755 Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentEnd/MetadataHelper.js delete mode 100644 Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/FormPostHandler.js mode change 100644 => 100755 Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/HistoryStateHelper.js mode change 100644 => 100755 Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/NightModeHelper.js mode change 100644 => 100755 Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/NoImageModeHelper.js mode change 100644 => 100755 Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/ReaderMode.js create mode 100755 Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/TrackingProtectionStats.js mode change 100644 => 100755 Client/Frontend/Widgets/ActivityStreamHighlightCell.swift mode change 100644 => 100755 Client/Frontend/Widgets/AutocompleteTextField.swift mode change 100644 => 100755 Client/Frontend/Widgets/ChevronView.swift mode change 100644 => 100755 Client/Frontend/Widgets/ErrorToast.swift mode change 100644 => 100755 Client/Frontend/Widgets/GradientProgressBar.swift mode change 100644 => 100755 Client/Frontend/Widgets/HistoryBackButton.swift mode change 100644 => 100755 Client/Frontend/Widgets/InnerStrokedView.swift mode change 100644 => 100755 Client/Frontend/Widgets/InsetButton.swift mode change 100644 => 100755 Client/Frontend/Widgets/LoginTableViewCell.swift mode change 100644 => 100755 Client/Frontend/Widgets/PhotonActionSheet.swift mode change 100644 => 100755 Client/Frontend/Widgets/PhotonActionSheetAnimator.swift mode change 100644 => 100755 Client/Frontend/Widgets/PhotonActionSheetProtocol.swift mode change 100644 => 100755 Client/Frontend/Widgets/SearchInputView.swift mode change 100644 => 100755 Client/Frontend/Widgets/SeparatorTableCell.swift mode change 100644 => 100755 Client/Frontend/Widgets/SiteTableViewController.swift mode change 100644 => 100755 Client/Frontend/Widgets/SnackBar.swift mode change 100644 => 100755 Client/Frontend/Widgets/TabsButton.swift mode change 100644 => 100755 Client/Frontend/Widgets/Theme.swift mode change 100644 => 100755 Client/Frontend/Widgets/ToggleButton.swift mode change 100644 => 100755 Client/Frontend/Widgets/TwoLineCell.swift mode change 100644 => 100755 Client/Helpers/DynamicFontHelper.swift mode change 100644 => 100755 Client/Helpers/FxALoginHelper.swift mode change 100644 => 100755 Client/Helpers/MenuHelper.swift mode change 100644 => 100755 Client/Helpers/TabEventHandler.swift mode change 100644 => 100755 Client/Helpers/UserActivityHandler.swift mode change 100644 => 100755 Client/Info.plist mode change 100644 => 100755 Client/MailSchemes.plist mode change 100644 => 100755 Client/TabEventHandlers.swift mode change 100644 => 100755 Client/Telemetry/ActivityStreamTopics.swift mode change 100644 => 100755 Client/Telemetry/UnifiedTelemetry.swift mode change 100644 => 100755 Client/UIScrollViewSwizzled.swift mode change 100644 => 100755 Client/Utils/FaviconFetcher.swift mode change 100644 => 100755 Client/Utils/Swizzling.h mode change 100644 => 100755 Client/Utils/Swizzling.m mode change 100644 => 100755 Client/Utils/Try.h mode change 100644 => 100755 Client/Utils/Try.m mode change 100644 => 100755 Client/en.lproj/InfoPlist.strings mode change 100644 => 100755 ClientTests/ActivityStreamTests.swift mode change 100644 => 100755 ClientTests/AuthenticatorTests.swift mode change 100644 => 100755 ClientTests/ClientTests.swift mode change 100644 => 100755 ClientTests/CustomSearchEnginesTest.swift mode change 100644 => 100755 ClientTests/DefaultSearchPrefsTests.swift mode change 100644 => 100755 ClientTests/FileAccessorTests.swift mode change 100644 => 100755 ClientTests/FxADeepLinkingTests.swift mode change 100644 => 100755 ClientTests/FxAPushMessageTest.swift mode change 100644 => 100755 ClientTests/HomePageTests.swift mode change 100644 => 100755 ClientTests/Info.plist mode change 100644 => 100755 ClientTests/MockProfile.swift mode change 100644 => 100755 ClientTests/MockableHistory.swift create mode 100755 ClientTests/NavigationRouterTests.swift mode change 100644 => 100755 ClientTests/PanelDataObserversTests.swift mode change 100644 => 100755 ClientTests/PingCentreTests.swift mode change 100644 => 100755 ClientTests/PocketFeedTests.swift mode change 100644 => 100755 ClientTests/PrefsTests.swift mode change 100644 => 100755 ClientTests/ProfileTest.swift mode change 100644 => 100755 ClientTests/RelativeDatesTests.swift mode change 100644 => 100755 ClientTests/ResetTests.swift mode change 100644 => 100755 ClientTests/SearchEnginesTests.swift mode change 100644 => 100755 ClientTests/SearchTests.swift mode change 100644 => 100755 ClientTests/StringExtensionsTests.swift mode change 100644 => 100755 ClientTests/SyncStatusResolverTests.swift mode change 100644 => 100755 ClientTests/TabEventHandlerTests.swift mode change 100644 => 100755 ClientTests/TabManagerTests.swift mode change 100644 => 100755 ClientTests/TestBookmarks.swift mode change 100644 => 100755 ClientTests/TestFavicons.swift mode change 100644 => 100755 ClientTests/TestHashExtensions.swift mode change 100644 => 100755 ClientTests/TestHistory.swift mode change 100644 => 100755 ClientTests/UIImageViewExtensionsTests.swift mode change 100644 => 100755 ClientTests/UIPasteboardExtensionsTests.swift mode change 100644 => 100755 ClientTests/WebServerTests.swift mode change 100644 => 100755 ClientTests/XCTestCaseExtensions.swift mode change 100644 => 100755 ClientTests/image.gif mode change 100644 => 100755 ClientTests/image.png mode change 100644 => 100755 ClientTests/pocketglobalfeed.json mode change 100644 => 100755 Dangerfile mode change 100644 => 100755 DeferredTestUtils.swift mode change 100644 => 100755 Docs/BUILDING.md mode change 100644 => 100755 Docs/Dependency Graphs/README.md mode change 100644 => 100755 Docs/Dependency Graphs/digraph-carthage-fxios.jpg mode change 100644 => 100755 Docs/Dependency Graphs/digraph-fxios-carthage.jpg mode change 100644 => 100755 Docs/Dependency Graphs/digraph-fxios.jpg mode change 100644 => 100755 Docs/Dependency Graphs/dot-files/digraph-carthage-fxios.dot mode change 100644 => 100755 Docs/Dependency Graphs/dot-files/digraph-fxios-carthage.dot mode change 100644 => 100755 Docs/Dependency Graphs/dot-files/digraph-fxios.dot mode change 100644 => 100755 Docs/Dependency Graphs/dot-files/digraph-fxios.jpg mode change 100644 => 100755 Docs/browserdb.md mode change 100644 => 100755 Docs/sync.md mode change 100644 => 100755 Extensions/Entitlements/Fennec.entitlements mode change 100644 => 100755 Extensions/Entitlements/FennecEnterprise.entitlements mode change 100644 => 100755 Extensions/Entitlements/Firefox.entitlements mode change 100644 => 100755 Extensions/Entitlements/FirefoxBeta.entitlements mode change 100644 => 100755 Extensions/NotificationService/ExtensionProfile.swift mode change 100644 => 100755 Extensions/NotificationService/Info.plist mode change 100644 => 100755 Extensions/NotificationService/NotificationService.swift mode change 100644 => 100755 Extensions/SendTo/ActionViewController.swift mode change 100644 => 100755 Extensions/SendTo/Base.lproj/InfoPlist.strings mode change 100644 => 100755 Extensions/SendTo/ClientPickerViewController.swift mode change 100644 => 100755 Extensions/SendTo/Images.xcassets/AppIcon.appiconset/Contents.json mode change 100644 => 100755 Extensions/SendTo/Images.xcassets/deviceTypeDesktop.imageset/Contents.json mode change 100644 => 100755 Extensions/SendTo/Images.xcassets/deviceTypeDesktop.imageset/deviceTypeDesktop.png mode change 100644 => 100755 Extensions/SendTo/Images.xcassets/deviceTypeDesktop.imageset/deviceTypeDesktop@2x.png mode change 100644 => 100755 Extensions/SendTo/Images.xcassets/deviceTypeDesktop.imageset/deviceTypeDesktop@3x.png mode change 100644 => 100755 Extensions/SendTo/Images.xcassets/deviceTypeMobile.imageset/Contents.json mode change 100644 => 100755 Extensions/SendTo/Images.xcassets/deviceTypeMobile.imageset/deviceTypeMobile.png mode change 100644 => 100755 Extensions/SendTo/Images.xcassets/deviceTypeMobile.imageset/deviceTypeMobile@2x.png mode change 100644 => 100755 Extensions/SendTo/Images.xcassets/deviceTypeMobile.imageset/deviceTypeMobile@3x.png mode change 100644 => 100755 Extensions/SendTo/Images.xcassets/emptySync.imageset/Contents.json mode change 100644 => 100755 Extensions/SendTo/Images.xcassets/emptySync.imageset/emptySync.png mode change 100644 => 100755 Extensions/SendTo/Images.xcassets/emptySync.imageset/emptySync@2x.png mode change 100644 => 100755 Extensions/SendTo/Images.xcassets/emptySync.imageset/emptySync@3x.png mode change 100644 => 100755 Extensions/SendTo/Info.plist mode change 100644 => 100755 Extensions/SendTo/InstructionsViewController.swift mode change 100644 => 100755 Extensions/SendTo/MainInterface.storyboard mode change 100644 => 100755 Extensions/SendTo/en.lproj/InfoPlist.strings mode change 100644 => 100755 Extensions/ShareTo/Images.xcassets/AddToBookmarks.imageset/Contents.json mode change 100644 => 100755 Extensions/ShareTo/Images.xcassets/AddToBookmarks.imageset/menu-Bookmark.png mode change 100644 => 100755 Extensions/ShareTo/Images.xcassets/AddToBookmarks.imageset/menu-Bookmark@2x.png mode change 100644 => 100755 Extensions/ShareTo/Images.xcassets/AddToBookmarks.imageset/menu-Bookmark@3x.png mode change 100644 => 100755 Extensions/ShareTo/Images.xcassets/AddToReadingList.imageset/Contents.json mode change 100644 => 100755 Extensions/ShareTo/Images.xcassets/AddToReadingList.imageset/reading-list-add.png mode change 100644 => 100755 Extensions/ShareTo/Images.xcassets/AddToReadingList.imageset/reading-list-add@2x.png mode change 100644 => 100755 Extensions/ShareTo/Images.xcassets/AddToReadingList.imageset/reading-list-add@3x.png mode change 100644 => 100755 Extensions/ShareTo/Images.xcassets/Icon-Small.imageset/Contents.json mode change 100644 => 100755 Extensions/ShareTo/Images.xcassets/Icon-Small.imageset/icon-40.png mode change 100644 => 100755 Extensions/ShareTo/Images.xcassets/Icon-Small.imageset/icon-40@2x.png mode change 100644 => 100755 Extensions/ShareTo/Images.xcassets/Icon-Small.imageset/icon-40@3x.png mode change 100644 => 100755 Extensions/ShareTo/Info.plist mode change 100644 => 100755 Extensions/ShareTo/InitialViewController.swift mode change 100644 => 100755 Extensions/ShareTo/ShareViewController.swift mode change 100644 => 100755 Extensions/Today/Images.xcassets/copy_link_icon.imageset/Contents.json mode change 100644 => 100755 Extensions/Today/Images.xcassets/copy_link_icon.imageset/todayCopiedLink.png mode change 100644 => 100755 Extensions/Today/Images.xcassets/copy_link_icon.imageset/todayCopiedLink@2x.png mode change 100644 => 100755 Extensions/Today/Images.xcassets/copy_link_icon.imageset/todayCopiedLink@3x.png mode change 100644 => 100755 Extensions/Today/Images.xcassets/new_private_tab_button_highlight.imageset/Contents.json mode change 100644 => 100755 Extensions/Today/Images.xcassets/new_private_tab_button_highlight.imageset/newPrivateTabHighlight.png mode change 100644 => 100755 Extensions/Today/Images.xcassets/new_private_tab_button_highlight.imageset/newPrivateTabHighlight@2x.png mode change 100644 => 100755 Extensions/Today/Images.xcassets/new_private_tab_button_highlight.imageset/newPrivateTabHighlight@3x.png mode change 100644 => 100755 Extensions/Today/Images.xcassets/new_private_tab_button_normal.imageset/Contents.json mode change 100644 => 100755 Extensions/Today/Images.xcassets/new_private_tab_button_normal.imageset/newPrivateTab.png mode change 100644 => 100755 Extensions/Today/Images.xcassets/new_private_tab_button_normal.imageset/newPrivateTab@2x.png mode change 100644 => 100755 Extensions/Today/Images.xcassets/new_private_tab_button_normal.imageset/newPrivateTab@3x.png mode change 100644 => 100755 Extensions/Today/Images.xcassets/new_tab_button_highlight.imageset/Contents.json mode change 100644 => 100755 Extensions/Today/Images.xcassets/new_tab_button_highlight.imageset/newTabHighlight.png mode change 100644 => 100755 Extensions/Today/Images.xcassets/new_tab_button_highlight.imageset/newTabHighlight@2x.png mode change 100644 => 100755 Extensions/Today/Images.xcassets/new_tab_button_highlight.imageset/newTabHighlight@3x.png mode change 100644 => 100755 Extensions/Today/Images.xcassets/new_tab_button_normal.imageset/Contents.json mode change 100644 => 100755 Extensions/Today/Images.xcassets/new_tab_button_normal.imageset/newTab.png mode change 100644 => 100755 Extensions/Today/Images.xcassets/new_tab_button_normal.imageset/newTab@2x.png mode change 100644 => 100755 Extensions/Today/Images.xcassets/new_tab_button_normal.imageset/newTab@3x.png mode change 100644 => 100755 Extensions/Today/Info.plist mode change 100644 => 100755 Extensions/Today/TodayViewController.swift mode change 100644 => 100755 Extensions/ViewLater/ActionRequestHandler.swift mode change 100644 => 100755 Extensions/ViewLater/Base.lproj/InfoPlist.strings mode change 100644 => 100755 Extensions/ViewLater/Info.plist mode change 100644 => 100755 Extensions/ViewLater/ViewLater.xcassets/AppIcon.appiconset/Contents.json mode change 100644 => 100755 Extensions/ViewLater/en.lproj/InfoPlist.strings mode change 100644 => 100755 FxA/FxA.xcodeproj/project.pbxproj mode change 100644 => 100755 FxA/FxA.xcodeproj/project.xcworkspace/contents.xcworkspacedata mode change 100644 => 100755 FxA/FxA.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings mode change 100644 => 100755 FxA/FxA.xcodeproj/xcshareddata/xcschemes/FxA.xcscheme mode change 100644 => 100755 FxA/FxA/ASNUtils.h mode change 100644 => 100755 FxA/FxA/ASNUtils.m mode change 100644 => 100755 FxA/FxA/CHMath.h mode change 100644 => 100755 FxA/FxA/CHMutableNumber.h mode change 100644 => 100755 FxA/FxA/CHMutableNumber.m mode change 100644 => 100755 FxA/FxA/CHNumber.h mode change 100644 => 100755 FxA/FxA/CHNumber.m mode change 100644 => 100755 FxA/FxA/CHNumber_Private.h mode change 100644 => 100755 FxA/FxA/FxA.h mode change 100644 => 100755 FxA/FxA/Info.plist mode change 100644 => 100755 FxA/FxA/JSONWebTokenUtils.h mode change 100644 => 100755 FxA/FxA/JSONWebTokenUtils.m mode change 100644 => 100755 FxA/FxA/KeyPair.h mode change 100644 => 100755 FxA/FxA/KeyPair.m mode change 100644 => 100755 FxA/FxA/NSData+Base16.h mode change 100644 => 100755 FxA/FxA/NSData+Base16.m mode change 100644 => 100755 FxA/FxA/NSData+Base32.h mode change 100644 => 100755 FxA/FxA/NSData+Base32.m mode change 100644 => 100755 FxA/FxA/NSData+KeyDerivation.h mode change 100644 => 100755 FxA/FxA/NSData+KeyDerivation.m mode change 100644 => 100755 FxA/FxA/NSData+SHA.h mode change 100644 => 100755 FxA/FxA/NSData+SHA.m mode change 100644 => 100755 FxA/FxA/NSData+Utils.h mode change 100644 => 100755 FxA/FxA/NSData+Utils.m mode change 100644 => 100755 FxA/FxA/NSString+Utils.h mode change 100644 => 100755 FxA/FxA/NSString+Utils.m mode change 100644 => 100755 FxA/FxA/PrivateKey.h mode change 100644 => 100755 FxA/FxA/PrivateKey.m mode change 100644 => 100755 FxA/FxA/PublicKey.h mode change 100644 => 100755 FxA/FxA/PublicKey.m mode change 100644 => 100755 FxA/FxA/RSAKeyPair.h mode change 100644 => 100755 FxA/FxA/RSAKeyPair.m mode change 100644 => 100755 FxA/FxA/include/openssl/aes.h mode change 100644 => 100755 FxA/FxA/include/openssl/asn1.h mode change 100644 => 100755 FxA/FxA/include/openssl/asn1_mac.h mode change 100644 => 100755 FxA/FxA/include/openssl/asn1t.h mode change 100644 => 100755 FxA/FxA/include/openssl/async.h mode change 100644 => 100755 FxA/FxA/include/openssl/bio.h mode change 100644 => 100755 FxA/FxA/include/openssl/blowfish.h mode change 100644 => 100755 FxA/FxA/include/openssl/bn.h mode change 100644 => 100755 FxA/FxA/include/openssl/buffer.h mode change 100644 => 100755 FxA/FxA/include/openssl/camellia.h mode change 100644 => 100755 FxA/FxA/include/openssl/cast.h mode change 100644 => 100755 FxA/FxA/include/openssl/cmac.h mode change 100644 => 100755 FxA/FxA/include/openssl/cms.h mode change 100644 => 100755 FxA/FxA/include/openssl/comp.h mode change 100644 => 100755 FxA/FxA/include/openssl/conf.h mode change 100644 => 100755 FxA/FxA/include/openssl/conf_api.h mode change 100644 => 100755 FxA/FxA/include/openssl/crypto.h mode change 100644 => 100755 FxA/FxA/include/openssl/ct.h mode change 100644 => 100755 FxA/FxA/include/openssl/des.h mode change 100644 => 100755 FxA/FxA/include/openssl/dh.h mode change 100644 => 100755 FxA/FxA/include/openssl/dsa.h mode change 100644 => 100755 FxA/FxA/include/openssl/dtls1.h mode change 100644 => 100755 FxA/FxA/include/openssl/e_os2.h mode change 100644 => 100755 FxA/FxA/include/openssl/ebcdic.h mode change 100644 => 100755 FxA/FxA/include/openssl/ec.h mode change 100644 => 100755 FxA/FxA/include/openssl/ecdh.h mode change 100644 => 100755 FxA/FxA/include/openssl/ecdsa.h mode change 100644 => 100755 FxA/FxA/include/openssl/engine.h mode change 100644 => 100755 FxA/FxA/include/openssl/err.h mode change 100644 => 100755 FxA/FxA/include/openssl/evp.h mode change 100644 => 100755 FxA/FxA/include/openssl/hmac.h mode change 100644 => 100755 FxA/FxA/include/openssl/idea.h mode change 100644 => 100755 FxA/FxA/include/openssl/kdf.h mode change 100644 => 100755 FxA/FxA/include/openssl/lhash.h mode change 100644 => 100755 FxA/FxA/include/openssl/md2.h mode change 100644 => 100755 FxA/FxA/include/openssl/md4.h mode change 100644 => 100755 FxA/FxA/include/openssl/md5.h mode change 100644 => 100755 FxA/FxA/include/openssl/mdc2.h mode change 100644 => 100755 FxA/FxA/include/openssl/modes.h mode change 100644 => 100755 FxA/FxA/include/openssl/obj_mac.h mode change 100644 => 100755 FxA/FxA/include/openssl/objects.h mode change 100644 => 100755 FxA/FxA/include/openssl/ocsp.h mode change 100644 => 100755 FxA/FxA/include/openssl/opensslconf.h mode change 100644 => 100755 FxA/FxA/include/openssl/opensslconf_ios_arm64.h mode change 100644 => 100755 FxA/FxA/include/openssl/opensslconf_ios_armv7.h mode change 100644 => 100755 FxA/FxA/include/openssl/opensslconf_ios_armv7s.h mode change 100644 => 100755 FxA/FxA/include/openssl/opensslconf_ios_i386.h mode change 100644 => 100755 FxA/FxA/include/openssl/opensslconf_ios_x86_64.h mode change 100644 => 100755 FxA/FxA/include/openssl/opensslconf_tvos_arm64.h mode change 100644 => 100755 FxA/FxA/include/openssl/opensslconf_tvos_x86_64.h mode change 100644 => 100755 FxA/FxA/include/openssl/opensslv.h mode change 100644 => 100755 FxA/FxA/include/openssl/ossl_typ.h mode change 100644 => 100755 FxA/FxA/include/openssl/pem.h mode change 100644 => 100755 FxA/FxA/include/openssl/pem2.h mode change 100644 => 100755 FxA/FxA/include/openssl/pkcs12.h mode change 100644 => 100755 FxA/FxA/include/openssl/pkcs7.h mode change 100644 => 100755 FxA/FxA/include/openssl/rand.h mode change 100644 => 100755 FxA/FxA/include/openssl/rc2.h mode change 100644 => 100755 FxA/FxA/include/openssl/rc4.h mode change 100644 => 100755 FxA/FxA/include/openssl/rc5.h mode change 100644 => 100755 FxA/FxA/include/openssl/ripemd.h mode change 100644 => 100755 FxA/FxA/include/openssl/rsa.h mode change 100644 => 100755 FxA/FxA/include/openssl/safestack.h mode change 100644 => 100755 FxA/FxA/include/openssl/seed.h mode change 100644 => 100755 FxA/FxA/include/openssl/sha.h mode change 100644 => 100755 FxA/FxA/include/openssl/srp.h mode change 100644 => 100755 FxA/FxA/include/openssl/srtp.h mode change 100644 => 100755 FxA/FxA/include/openssl/ssl.h mode change 100644 => 100755 FxA/FxA/include/openssl/ssl2.h mode change 100644 => 100755 FxA/FxA/include/openssl/ssl3.h mode change 100644 => 100755 FxA/FxA/include/openssl/stack.h mode change 100644 => 100755 FxA/FxA/include/openssl/symhacks.h mode change 100644 => 100755 FxA/FxA/include/openssl/tls1.h mode change 100644 => 100755 FxA/FxA/include/openssl/ts.h mode change 100644 => 100755 FxA/FxA/include/openssl/txt_db.h mode change 100644 => 100755 FxA/FxA/include/openssl/ui.h mode change 100644 => 100755 FxA/FxA/include/openssl/whrlpool.h mode change 100644 => 100755 FxA/FxA/include/openssl/x509.h mode change 100644 => 100755 FxA/FxA/include/openssl/x509_vfy.h mode change 100644 => 100755 FxA/FxA/include/openssl/x509v3.h mode change 100644 => 100755 FxA/FxA/lib/libcrypto.a mode change 100644 => 100755 FxA/FxA/lib/libssl.a mode change 100644 => 100755 FxA/FxATests/FxATests.m mode change 100644 => 100755 FxA/FxATests/Info.plist mode change 100644 => 100755 Gemfile mode change 100644 => 100755 ISSUE_TEMPLATE.md mode change 100644 => 100755 L10nSnapshotTests-Info.plist mode change 100644 => 100755 L10nSnapshotTests/Info.plist mode change 100644 => 100755 L10nSnapshotTests/L10nBaseSnapshotTests.swift mode change 100644 => 100755 L10nSnapshotTests/L10nIntroSnapshotTests.swift mode change 100644 => 100755 L10nSnapshotTests/L10nPermissionStringsSnapshotTests.swift mode change 100644 => 100755 L10nSnapshotTests/L10nSnapshotTests.swift mode change 100644 => 100755 LICENSE mode change 100644 => 100755 Leanplum.json mode change 100644 => 100755 MMA.md mode change 100644 => 100755 MarketingUITests/Info.plist mode change 100644 => 100755 MarketingUITests/MarketingUITests.swift mode change 100644 => 100755 Mocking.swift mode change 100644 => 100755 PULL_REQUEST_TEMPLATE mode change 100644 => 100755 Providers/NSUserDefaultsPrefs.swift mode change 100644 => 100755 Providers/PocketFeed.swift mode change 100644 => 100755 Providers/Profile.swift mode change 100644 => 100755 Providers/SyncStatusResolver.swift mode change 100644 => 100755 Push/PushClient.swift mode change 100644 => 100755 Push/PushConfiguration.swift mode change 100644 => 100755 Push/PushCrypto.swift mode change 100644 => 100755 Push/PushRegistration.swift mode change 100644 => 100755 PushTests/LivePushClientTests.swift mode change 100644 => 100755 PushTests/PushCryptoTests.swift mode change 100644 => 100755 README.md mode change 100644 => 100755 ReadingList/Info.plist mode change 100644 => 100755 ReadingList/ReadingList-Bridging-Header.h mode change 100644 => 100755 ReadingList/ReadingListAuthenticator.swift mode change 100644 => 100755 ReadingList/ReadingListBasicAuthAuthenticator.swift mode change 100644 => 100755 ReadingList/ReadingListBatchRecordResponse.swift mode change 100644 => 100755 ReadingList/ReadingListChangeAccumulator.swift mode change 100644 => 100755 ReadingList/ReadingListClient.swift mode change 100644 => 100755 ReadingList/ReadingListClientMetadata.swift mode change 100644 => 100755 ReadingList/ReadingListClientRecord.swift mode change 100644 => 100755 ReadingList/ReadingListError.swift mode change 100644 => 100755 ReadingList/ReadingListFetchSpec.swift mode change 100644 => 100755 ReadingList/ReadingListOAuthAuthenticator.swift mode change 100644 => 100755 ReadingList/ReadingListRecord.swift mode change 100644 => 100755 ReadingList/ReadingListRecordResponse.swift mode change 100644 => 100755 ReadingList/ReadingListRecordsResponse.swift mode change 100644 => 100755 ReadingList/ReadingListResponse.swift mode change 100644 => 100755 ReadingList/ReadingListSQLStorage.swift mode change 100644 => 100755 ReadingList/ReadingListServerMetadata.swift mode change 100644 => 100755 ReadingList/ReadingListServerRecord.swift mode change 100644 => 100755 ReadingList/ReadingListService.swift mode change 100644 => 100755 ReadingList/ReadingListStorage.swift mode change 100644 => 100755 ReadingList/ReadingListSyncMetadata.swift mode change 100644 => 100755 ReadingList/ReadingListSynchronizer.swift mode change 100644 => 100755 ReadingList/ReadingListUtils.swift mode change 100644 => 100755 ReadingListTests/Info.plist mode change 100644 => 100755 ReadingListTests/ReadingListClientRecordTestCase.swift mode change 100644 => 100755 ReadingListTests/ReadingListStorageTestCase.swift mode change 100644 => 100755 Shared/Accessibility.swift mode change 100644 => 100755 Shared/AppConstants.swift mode change 100644 => 100755 Shared/AppInfo.swift mode change 100644 => 100755 Shared/AsyncReducer.swift mode change 100644 => 100755 Shared/AuthenticationKeychainInfo.swift mode change 100644 => 100755 Shared/Bytes.swift mode change 100644 => 100755 Shared/Cancellable.swift mode change 100644 => 100755 Shared/CrashSimulator.h mode change 100644 => 100755 Shared/CrashSimulator.m mode change 100644 => 100755 Shared/DeferredUtils.swift mode change 100644 => 100755 Shared/DeviceInfo.swift mode change 100644 => 100755 Shared/Extensions/ArrayExtensions.swift mode change 100644 => 100755 Shared/Extensions/DataExtensions.swift mode change 100644 => 100755 Shared/Extensions/DictionaryExtensions.swift mode change 100644 => 100755 Shared/Extensions/HashExtensions.swift mode change 100644 => 100755 Shared/Extensions/HexExtensions.swift mode change 100644 => 100755 Shared/Extensions/JSONExtensions.swift mode change 100644 => 100755 Shared/Extensions/KeychainWrapperExtensions.swift mode change 100644 => 100755 Shared/Extensions/NSCharacterSetExtensions.swift mode change 100644 => 100755 Shared/Extensions/NSCoderExtensions.swift mode change 100644 => 100755 Shared/Extensions/NSFileManagerExtensions.swift mode change 100644 => 100755 Shared/Extensions/NSMutableAttributedStringExtensions.swift mode change 100644 => 100755 Shared/Extensions/NSScannerExtensions.swift mode change 100644 => 100755 Shared/Extensions/NSStringExtensions.swift mode change 100644 => 100755 Shared/Extensions/NSURLExtensions.swift mode change 100644 => 100755 Shared/Extensions/NSURLProtectionSpaceExtensions.swift mode change 100644 => 100755 Shared/Extensions/OptionalExtensions.swift mode change 100644 => 100755 Shared/Extensions/SetExtensions.swift mode change 100644 => 100755 Shared/Extensions/StringExtensions.swift mode change 100644 => 100755 Shared/Extensions/UIColorExtensions.swift mode change 100644 => 100755 Shared/Extensions/UIImageExtensions.swift mode change 100644 => 100755 Shared/Extensions/URLRequestExtensions.swift mode change 100644 => 100755 Shared/FSUtils.h mode change 100644 => 100755 Shared/FSUtils.m mode change 100644 => 100755 Shared/FeatureSwitch.swift mode change 100644 => 100755 Shared/Functions.swift mode change 100644 => 100755 Shared/GeneralUtils.swift mode change 100644 => 100755 Shared/KeyboardHelper.swift mode change 100644 => 100755 Shared/KeychainCache.swift mode change 100644 => 100755 Shared/LaunchArguments.swift mode change 100644 => 100755 Shared/Loader.swift mode change 100644 => 100755 Shared/Logger.swift mode change 100644 => 100755 Shared/NotificationConstants.swift mode change 100644 => 100755 Shared/Prefs.swift mode change 100644 => 100755 Shared/RemoteDevices.swift mode change 100644 => 100755 Shared/RollingFileLogger.swift mode change 100644 => 100755 Shared/SentryIntegration.swift mode change 100644 => 100755 Shared/Shared-Bridging-Header.h mode change 100644 => 100755 Shared/SupportUtils.swift mode change 100644 => 100755 Shared/Supporting Files/Info.plist mode change 100644 => 100755 Shared/SystemUtils.swift mode change 100644 => 100755 Shared/TimeConstants.swift mode change 100644 => 100755 Shared/UserAgent.swift mode change 100644 => 100755 Shared/WeakList.swift mode change 100644 => 100755 Shared/effective_tld_names.dat mode change 100644 => 100755 SharedTests/ArrayExtensionTests.swift mode change 100644 => 100755 SharedTests/AsyncReducerTests.swift mode change 100644 => 100755 SharedTests/AuthenticationKeychainInfoTests.swift mode change 100644 => 100755 SharedTests/DeferredTests.swift mode change 100644 => 100755 SharedTests/FeatureSwitchTests.swift mode change 100644 => 100755 SharedTests/HexExtensionsTests.swift mode change 100644 => 100755 SharedTests/Info.plist mode change 100644 => 100755 SharedTests/NSMutableAttributedStringExtensionsTests.swift mode change 100644 => 100755 SharedTests/NSURLExtensionsTests.swift mode change 100644 => 100755 SharedTests/ResultTests.swift mode change 100644 => 100755 SharedTests/RollingFileLoggerTests.swift mode change 100644 => 100755 SharedTests/SupportUtilsTests.swift mode change 100644 => 100755 SharedTests/UtilsTests.swift mode change 100644 => 100755 Storage/Bookmarks/Bookmarks.swift mode change 100644 => 100755 Storage/Bookmarks/BookmarksModel.swift mode change 100644 => 100755 Storage/Bookmarks/CachingItemSource.swift mode change 100644 => 100755 Storage/Bookmarks/Trees.swift mode change 100644 => 100755 Storage/CertStore.swift mode change 100644 => 100755 Storage/Clients.swift mode change 100644 => 100755 Storage/CompletionOps.swift mode change 100644 => 100755 Storage/Cursor.swift mode change 100644 => 100755 Storage/DatabaseError.swift mode change 100644 => 100755 Storage/DefaultSuggestedSites.swift mode change 100644 => 100755 Storage/DiskImageStore.swift mode change 100644 => 100755 Storage/ExtensionUtils.swift mode change 100644 => 100755 Storage/Favicons.swift mode change 100644 => 100755 Storage/FileAccessor.swift mode change 100644 => 100755 Storage/History.swift mode change 100644 => 100755 Storage/Info.plist mode change 100644 => 100755 Storage/Logins.swift mode change 100644 => 100755 Storage/Metadata.swift mode change 100644 => 100755 Storage/MockLogins.swift mode change 100644 => 100755 Storage/PageMetadata.swift mode change 100644 => 100755 Storage/Queue.swift mode change 100644 => 100755 Storage/RecentlyClosedTabs.swift mode change 100644 => 100755 Storage/RemoteTabs.swift mode change 100644 => 100755 Storage/SQL/BrowserDB.swift mode change 100644 => 100755 Storage/SQL/BrowserSchema.swift mode change 100644 => 100755 Storage/SQL/LoginsSchema.swift mode change 100644 => 100755 Storage/SQL/SQLiteBookmarksBase.swift mode change 100644 => 100755 Storage/SQL/SQLiteBookmarksHelpers.swift mode change 100644 => 100755 Storage/SQL/SQLiteBookmarksModel.swift mode change 100644 => 100755 Storage/SQL/SQLiteBookmarksResetting.swift mode change 100644 => 100755 Storage/SQL/SQLiteBookmarksSyncing.swift mode change 100644 => 100755 Storage/SQL/SQLiteFavicons.swift mode change 100644 => 100755 Storage/SQL/SQLiteHistory.swift mode change 100644 => 100755 Storage/SQL/SQLiteHistoryFactories.swift mode change 100644 => 100755 Storage/SQL/SQLiteHistoryRecommendations.swift mode change 100644 => 100755 Storage/SQL/SQLiteLogins.swift mode change 100644 => 100755 Storage/SQL/SQLiteMetadata.swift mode change 100644 => 100755 Storage/SQL/SQLiteQueue.swift mode change 100644 => 100755 Storage/SQL/SQLiteRemoteClientsAndTabs.swift mode change 100644 => 100755 Storage/SQL/Schema.swift mode change 100644 => 100755 Storage/Sharing.swift mode change 100644 => 100755 Storage/Site.swift mode change 100644 => 100755 Storage/Storage-Bridging-Header.h mode change 100644 => 100755 Storage/Storage.xcodeproj/project.pbxproj mode change 100644 => 100755 Storage/SuggestedSites.swift mode change 100644 => 100755 Storage/SyncQueue.swift mode change 100644 => 100755 Storage/Syncable.swift mode change 100644 => 100755 Storage/ThirdParty/SwiftData.swift mode change 100644 => 100755 Storage/Visit.swift mode change 100644 => 100755 StoragePerfTests/Info.plist mode change 100644 => 100755 StoragePerfTests/StoragePerfTests.swift mode change 100644 => 100755 StorageTests/CertTests.swift mode change 100644 => 100755 StorageTests/DiskImageStoreTests.swift mode change 100644 => 100755 StorageTests/Info.plist mode change 100644 => 100755 StorageTests/MockFiles.swift mode change 100644 => 100755 StorageTests/StorageTestUtils.swift mode change 100644 => 100755 StorageTests/SyncCommandsTests.swift mode change 100644 => 100755 StorageTests/SyncTelemetryTests.swift mode change 100644 => 100755 StorageTests/TestBrowserDB.swift mode change 100644 => 100755 StorageTests/TestLogins.swift mode change 100644 => 100755 StorageTests/TestSQLiteBookmarks.swift mode change 100644 => 100755 StorageTests/TestSQLiteHistory.swift mode change 100644 => 100755 StorageTests/TestSQLiteHistoryRecommendations.swift mode change 100644 => 100755 StorageTests/TestSQLiteMetadata.swift mode change 100644 => 100755 StorageTests/TestSQLiteRemoteClientsAndTabs.swift mode change 100644 => 100755 StorageTests/TestSwiftData.swift mode change 100644 => 100755 StorageTests/fixtures/v33.db mode change 100644 => 100755 StorageTests/testcert1.pem mode change 100644 => 100755 StorageTests/testcert2.pem mode change 100644 => 100755 Sync/BatchingClient.swift mode change 100644 => 100755 Sync/BookmarkPayload.swift mode change 100644 => 100755 Sync/BookmarkTelemetryPing.swift mode change 100644 => 100755 Sync/CleartextPayloadJSON.swift mode change 100644 => 100755 Sync/ClientPayload.swift mode change 100644 => 100755 Sync/EncryptedJSON.swift mode change 100644 => 100755 Sync/EnvelopeJSON.swift mode change 100644 => 100755 Sync/HistoryPayload.swift mode change 100644 => 100755 Sync/Info.plist mode change 100644 => 100755 Sync/Info.swift mode change 100644 => 100755 Sync/KeyBundle.swift mode change 100644 => 100755 Sync/KeysPayload.swift mode change 100644 => 100755 Sync/LoginPayload.swift mode change 100644 => 100755 Sync/Record.swift mode change 100644 => 100755 Sync/RequestExtensions.swift mode change 100644 => 100755 Sync/State.swift mode change 100644 => 100755 Sync/StorageClient.swift mode change 100644 => 100755 Sync/Sync-Bridging-Header.h mode change 100644 => 100755 Sync/SyncConstants.swift mode change 100644 => 100755 Sync/SyncMeta.swift mode change 100644 => 100755 Sync/SyncStateMachine.swift mode change 100644 => 100755 Sync/SyncTelemetryUtils.swift mode change 100644 => 100755 Sync/Synchronizers/Bookmarks/BookmarksDownloader.swift mode change 100644 => 100755 Sync/Synchronizers/Bookmarks/BookmarksRepairRequestor.swift mode change 100644 => 100755 Sync/Synchronizers/Bookmarks/BookmarksSynchronizer.swift mode change 100644 => 100755 Sync/Synchronizers/Bookmarks/Merging.swift mode change 100644 => 100755 Sync/Synchronizers/Bookmarks/ThreeWayTreeMerger.swift mode change 100644 => 100755 Sync/Synchronizers/ClientsSynchronizer.swift mode change 100644 => 100755 Sync/Synchronizers/Downloader.swift mode change 100644 => 100755 Sync/Synchronizers/HistorySynchronizer.swift mode change 100644 => 100755 Sync/Synchronizers/IndependentRecordSynchronizer.swift mode change 100644 => 100755 Sync/Synchronizers/LoginsSynchronizer.swift mode change 100644 => 100755 Sync/Synchronizers/Synchronizer.swift mode change 100644 => 100755 Sync/Synchronizers/TabsSynchronizer.swift mode change 100644 => 100755 Sync/TabsPayload.swift mode change 100644 => 100755 SyncTelemetry/Info.plist mode change 100644 => 100755 SyncTelemetry/SyncPingCentre.swift mode change 100644 => 100755 SyncTelemetry/SyncTelemetry.h mode change 100644 => 100755 SyncTelemetry/SyncTelemetry.swift mode change 100644 => 100755 SyncTelemetry/SyncTelemetryEvents.swift mode change 100644 => 100755 SyncTelemetryTests/EventTests.swift mode change 100644 => 100755 SyncTelemetryTests/Info.plist mode change 100644 => 100755 SyncTests/BatchingClientTests.swift mode change 100644 => 100755 SyncTests/CryptoTests.swift mode change 100644 => 100755 SyncTests/DownloadTests.swift mode change 100644 => 100755 SyncTests/HistorySynchronizerTests.swift mode change 100644 => 100755 SyncTests/Info.plist mode change 100644 => 100755 SyncTests/InfoTests.swift mode change 100644 => 100755 SyncTests/LiveStorageClientTests.swift mode change 100644 => 100755 SyncTests/MetaGlobalTests.swift mode change 100644 => 100755 SyncTests/MockSyncServer.swift mode change 100644 => 100755 SyncTests/MockSyncServerTests.swift mode change 100644 => 100755 SyncTests/RecordTests.swift mode change 100644 => 100755 SyncTests/StateTests.swift mode change 100644 => 100755 SyncTests/StorageClientTests.swift mode change 100644 => 100755 SyncTests/SyncTests-Bridging-Header.h mode change 100644 => 100755 SyncTests/TabsPayloadTests.swift mode change 100644 => 100755 SyncTests/TestBookmarkModel.swift mode change 100644 => 100755 SyncTests/TestBookmarkTreeMerging.swift mode change 100644 => 100755 SyncTests/TestBookmarksRepairRequestor.swift mode change 100644 => 100755 SyncTests/TestBookmarksSynchronizer.swift mode change 100644 => 100755 ThirdParty/Apple/UIImage+ImageEffects.h mode change 100644 => 100755 ThirdParty/Apple/UIImage+ImageEffects.m mode change 100644 => 100755 ThirdParty/Box/Box.swift mode change 100644 => 100755 ThirdParty/Box/BoxType.swift mode change 100644 => 100755 ThirdParty/Box/LICENSE mode change 100644 => 100755 ThirdParty/Box/MutableBox.swift mode change 100644 => 100755 ThirdParty/Box/README.md mode change 100644 => 100755 ThirdParty/BuddyBuild/BuddyBuildSDK.framework/BuddyBuildSDK mode change 100644 => 100755 ThirdParty/BuddyBuild/BuddyBuildSDK.framework/Headers/BuddyBuildSDK.h mode change 100644 => 100755 ThirdParty/BuddyBuild/BuddyBuildSDK.framework/build.num mode change 100644 => 100755 ThirdParty/FilledPageControl.swift mode change 100644 => 100755 ThirdParty/Leanplum/Leanplum.framework/Headers/LPInbox.h mode change 100644 => 100755 ThirdParty/Leanplum/Leanplum.framework/Headers/Leanplum.h mode change 100644 => 100755 ThirdParty/Leanplum/Leanplum.framework/Info.plist mode change 100644 => 100755 ThirdParty/Leanplum/Leanplum.framework/Modules/module.modulemap mode change 100644 => 100755 ThirdParty/Reachability.swift mode change 100644 => 100755 ThirdParty/Result/Error.swift mode change 100644 => 100755 ThirdParty/Result/LICENSE mode change 100644 => 100755 ThirdParty/Result/README.md mode change 100644 => 100755 ThirdParty/Result/Result.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/.cocoadocs.yml mode change 100644 => 100755 ThirdParty/SQLite.swift/.gitignore mode change 100644 => 100755 ThirdParty/SQLite.swift/.gitmodules mode change 100644 => 100755 ThirdParty/SQLite.swift/.swift-version mode change 100644 => 100755 ThirdParty/SQLite.swift/.travis.yml mode change 100644 => 100755 ThirdParty/SQLite.swift/CHANGELOG.md mode change 100644 => 100755 ThirdParty/SQLite.swift/CONTRIBUTING.md mode change 100644 => 100755 ThirdParty/SQLite.swift/CocoaPods/appletvos/module.modulemap mode change 100644 => 100755 ThirdParty/SQLite.swift/CocoaPods/appletvsimulator/module.modulemap mode change 100644 => 100755 ThirdParty/SQLite.swift/CocoaPods/iphoneos-10.0/module.modulemap mode change 100644 => 100755 ThirdParty/SQLite.swift/CocoaPods/iphoneos/module.modulemap mode change 100644 => 100755 ThirdParty/SQLite.swift/CocoaPods/iphonesimulator-10.0/module.modulemap mode change 100644 => 100755 ThirdParty/SQLite.swift/CocoaPods/iphonesimulator/module.modulemap mode change 100644 => 100755 ThirdParty/SQLite.swift/CocoaPods/macosx-10.11/module.modulemap mode change 100644 => 100755 ThirdParty/SQLite.swift/CocoaPods/macosx-10.12/module.modulemap mode change 100644 => 100755 ThirdParty/SQLite.swift/CocoaPods/macosx/module.modulemap mode change 100644 => 100755 ThirdParty/SQLite.swift/CocoaPods/watchos/module.modulemap mode change 100644 => 100755 ThirdParty/SQLite.swift/CocoaPods/watchsimulator/module.modulemap mode change 100644 => 100755 ThirdParty/SQLite.swift/Documentation/Index.md mode change 100644 => 100755 ThirdParty/SQLite.swift/Documentation/Planning.md mode change 100644 => 100755 ThirdParty/SQLite.swift/Documentation/Resources/installation@2x.png mode change 100644 => 100755 ThirdParty/SQLite.swift/Documentation/Resources/playground@2x.png mode change 100644 => 100755 ThirdParty/SQLite.swift/LICENSE.txt mode change 100644 => 100755 ThirdParty/SQLite.swift/Makefile mode change 100644 => 100755 ThirdParty/SQLite.swift/Package.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/README.md mode change 100644 => 100755 ThirdParty/SQLite.swift/SQLite.playground/Contents.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/SQLite.playground/contents.xcplayground mode change 100644 => 100755 ThirdParty/SQLite.swift/SQLite.swift.podspec mode change 100644 => 100755 ThirdParty/SQLite.swift/SQLite.xcodeproj/project.pbxproj mode change 100644 => 100755 ThirdParty/SQLite.swift/SQLite.xcodeproj/project.xcworkspace/contents.xcworkspacedata mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Core/Blob.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Core/Connection.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Core/Statement.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Core/Value.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Extensions/Cipher.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Extensions/FTS4.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Extensions/FTS5.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Extensions/RTree.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Foundation.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Helpers.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Info.plist mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/SQLite.h mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Typed/AggregateFunctions.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Typed/Collation.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Typed/CoreFunctions.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Typed/CustomFunctions.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Typed/Expression.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Typed/Operators.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Typed/Query.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Typed/Schema.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLite/Typed/Setter.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLiteObjc/SQLite-Bridging.m mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLiteObjc/fts3_tokenizer.h mode change 100644 => 100755 ThirdParty/SQLite.swift/Sources/SQLiteObjc/include/SQLite-Bridging.h mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/CocoaPods/.gitignore mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/CocoaPods/Gemfile mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/CocoaPods/Gemfile.lock mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/CocoaPods/Makefile mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/CocoaPods/test_running_validator.rb mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/AggregateFunctionsTests.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/BlobTests.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/CipherTests.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/ConnectionTests.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/CoreFunctionsTests.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/CustomFunctionsTests.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/ExpressionTests.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/FTS4Tests.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/FTS5Tests.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/Fixtures.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/FoundationTests.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/Info.plist mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/OperatorsTests.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/QueryTests.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/RTreeTests.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/SchemaTests.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/SetterTests.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/StatementTests.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/TestHelpers.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/ValueTests.swift mode change 100644 => 100755 ThirdParty/SQLite.swift/Tests/SQLiteTests/fixtures/encrypted.sqlite mode change 100644 => 100755 ThirdParty/SWTableViewCell/AppDelegate.h mode change 100644 => 100755 ThirdParty/SWTableViewCell/AppDelegate.m mode change 100644 => 100755 ThirdParty/SWTableViewCell/Default-568h@2x.png mode change 100644 => 100755 ThirdParty/SWTableViewCell/Default.png mode change 100644 => 100755 ThirdParty/SWTableViewCell/Default@2x.png mode change 100644 => 100755 ThirdParty/SWTableViewCell/MI.png mode change 100644 => 100755 ThirdParty/SWTableViewCell/PodFiles/NSMutableArray+SWUtilityButtons.h mode change 100644 => 100755 ThirdParty/SWTableViewCell/PodFiles/NSMutableArray+SWUtilityButtons.m mode change 100644 => 100755 ThirdParty/SWTableViewCell/SWTableViewCell-Info.plist mode change 100644 => 100755 ThirdParty/SWTableViewCell/SWTableViewCell-Prefix.pch mode change 100644 => 100755 ThirdParty/SWTableViewCell/UMTableViewCell.h mode change 100644 => 100755 ThirdParty/SWTableViewCell/UMTableViewCell.m mode change 100644 => 100755 ThirdParty/SWTableViewCell/ViewController.h mode change 100644 => 100755 ThirdParty/SWTableViewCell/ViewController.m mode change 100644 => 100755 ThirdParty/SWTableViewCell/check@2x.png mode change 100644 => 100755 ThirdParty/SWTableViewCell/clock@2x.png mode change 100644 => 100755 ThirdParty/SWTableViewCell/cross@2x.png mode change 100644 => 100755 ThirdParty/SWTableViewCell/en.lproj/InfoPlist.strings mode change 100644 => 100755 ThirdParty/SWTableViewCell/en.lproj/MainStoryboard.storyboard mode change 100644 => 100755 ThirdParty/SWTableViewCell/list@2x.png mode change 100644 => 100755 ThirdParty/SWTableViewCell/main.m mode change 100644 => 100755 ThirdParty/SWTableViewCell/um.png mode change 100644 => 100755 ThirdParty/UIImageColors.swift mode change 100644 => 100755 ThirdParty/UIImageViewAligned/Example/ImageAlignment.xcodeproj/project.pbxproj mode change 100644 => 100755 ThirdParty/UIImageViewAligned/Example/ImageAlignment/AppDelegate.h mode change 100644 => 100755 ThirdParty/UIImageViewAligned/Example/ImageAlignment/AppDelegate.m mode change 100644 => 100755 ThirdParty/UIImageViewAligned/Example/ImageAlignment/Base.lproj/Main.storyboard mode change 100644 => 100755 ThirdParty/UIImageViewAligned/Example/ImageAlignment/ImageAlignment-Info.plist mode change 100644 => 100755 ThirdParty/UIImageViewAligned/Example/ImageAlignment/ImageAlignment-Prefix.pch mode change 100644 => 100755 ThirdParty/UIImageViewAligned/Example/ImageAlignment/Images.xcassets/AppIcon.appiconset/Contents.json mode change 100644 => 100755 ThirdParty/UIImageViewAligned/Example/ImageAlignment/Images.xcassets/LaunchImage.launchimage/Contents.json mode change 100644 => 100755 ThirdParty/UIImageViewAligned/Example/ImageAlignment/ViewController.h mode change 100644 => 100755 ThirdParty/UIImageViewAligned/Example/ImageAlignment/ViewController.m mode change 100644 => 100755 ThirdParty/UIImageViewAligned/Example/ImageAlignment/en.lproj/InfoPlist.strings mode change 100644 => 100755 ThirdParty/UIImageViewAligned/Example/ImageAlignment/main.m mode change 100644 => 100755 ThirdParty/UIImageViewAligned/Example/ImageAlignment/melinda_landscape.jpg mode change 100644 => 100755 ThirdParty/UIImageViewAligned/Example/ImageAlignment/melinda_portrait.jpg mode change 100644 => 100755 ThirdParty/UIImageViewAligned/Example/ImageAlignmentTests/ImageAlignmentTests-Info.plist mode change 100644 => 100755 ThirdParty/UIImageViewAligned/Example/ImageAlignmentTests/ImageAlignmentTests.m mode change 100644 => 100755 ThirdParty/UIImageViewAligned/Example/ImageAlignmentTests/en.lproj/InfoPlist.strings mode change 100644 => 100755 ThirdParty/UIImageViewAligned/LICENSE mode change 100644 => 100755 ThirdParty/UIImageViewAligned/README.md mode change 100644 => 100755 ThirdParty/UIImageViewAligned/UIImageViewAligned.podspec mode change 100644 => 100755 ThirdParty/UIImageViewAligned/UIImageViewAligned/UIImageViewAligned.h mode change 100644 => 100755 ThirdParty/UIImageViewAligned/UIImageViewAligned/UIImageViewAligned.m mode change 100644 => 100755 ThirdParty/UIImageViewAligned/docs/IBsetup.png mode change 100644 => 100755 ThirdParty/ecec/CMakeLists.txt mode change 100644 => 100755 ThirdParty/ecec/LICENSE mode change 100644 => 100755 ThirdParty/ecec/README.md mode change 100644 => 100755 ThirdParty/ecec/include/ece.h mode change 100644 => 100755 ThirdParty/ecec/include/ece/keys.h mode change 100644 => 100755 ThirdParty/ecec/include/ece/trailer.h mode change 100644 => 100755 ThirdParty/ecec/src/base64url.c mode change 100644 => 100755 ThirdParty/ecec/src/decrypt.c mode change 100644 => 100755 ThirdParty/ecec/src/encrypt.c mode change 100644 => 100755 ThirdParty/ecec/src/keys.c mode change 100644 => 100755 ThirdParty/ecec/src/params.c mode change 100644 => 100755 ThirdParty/ecec/src/trailer.c mode change 100644 => 100755 ThirdParty/ecec/test/base64url.c mode change 100644 => 100755 ThirdParty/ecec/test/decrypt/aes128gcm.c mode change 100644 => 100755 ThirdParty/ecec/test/decrypt/aesgcm.c mode change 100644 => 100755 ThirdParty/ecec/test/e2e.c mode change 100644 => 100755 ThirdParty/ecec/test/encrypt/aes128gcm.c mode change 100644 => 100755 ThirdParty/ecec/test/encrypt/aesgcm.c mode change 100644 => 100755 ThirdParty/ecec/test/params.c mode change 100644 => 100755 ThirdParty/ecec/test/test.c mode change 100644 => 100755 ThirdParty/ecec/test/test.h mode change 100644 => 100755 ThirdParty/ecec/tool/decrypt.c mode change 100644 => 100755 ThirdParty/ecec/tool/keygen.c mode change 100644 => 100755 ThirdParty/sqlcipher/.gitignore mode change 100644 => 100755 ThirdParty/sqlcipher/CHANGELOG.md mode change 100644 => 100755 ThirdParty/sqlcipher/LICENSE mode change 100644 => 100755 ThirdParty/sqlcipher/README.md mode change 100644 => 100755 ThirdParty/sqlcipher/VERSION mode change 100644 => 100755 ThirdParty/sqlcipher/sqlcipher.xcodeproj/project.pbxproj mode change 100644 => 100755 ThirdParty/sqlcipher/sqlite3.c mode change 100644 => 100755 ThirdParty/sqlcipher/sqlite3.h mode change 100644 => 100755 ThirdParty/sqlcipher/sqlite3ext.h mode change 100644 => 100755 UITests/AuthenticationTests.swift mode change 100644 => 100755 UITests/BookmarksPanelTests.swift mode change 100644 => 100755 UITests/BrowserTests.swift mode change 100644 => 100755 UITests/ClearPrivateDataTests.swift mode change 100644 => 100755 UITests/DomainAutocompleteTests.swift mode change 100644 => 100755 UITests/EarlGrey.swift mode change 100644 => 100755 UITests/Global.swift mode change 100644 => 100755 UITests/HistoryTests.swift mode change 100644 => 100755 UITests/Info.plist mode change 100644 => 100755 UITests/JSPrompt.html mode change 100644 => 100755 UITests/KIFHelper.js mode change 100644 => 100755 UITests/LoginInputTests.swift mode change 100644 => 100755 UITests/LoginManagerTests.swift mode change 100644 => 100755 UITests/MenuTests.swift mode change 100644 => 100755 UITests/NavigationDelegateTests.swift mode change 100644 => 100755 UITests/NoImageModeTests.swift mode change 100644 => 100755 UITests/ReadingListTest.swift mode change 100644 => 100755 UITests/SecurityTests.swift mode change 100644 => 100755 UITests/SessionRestoreTests.swift mode change 100644 => 100755 UITests/ToolbarTests.swift mode change 100644 => 100755 UITests/TrackingProtectionTests.swift mode change 100644 => 100755 UITests/UITests-Bridging-Header.h mode change 100644 => 100755 UITests/ViewMemoryLeakTests.swift mode change 100644 => 100755 UITests/findPage.html mode change 100644 => 100755 UITests/localhostLoad.html mode change 100644 => 100755 UITests/loginForm.html mode change 100644 => 100755 UITests/navigationDelegate.html mode change 100644 => 100755 UITests/noTitle.html mode change 100644 => 100755 UITests/numberedPage.html mode change 100644 => 100755 UITests/readablePage.html mode change 100644 => 100755 UITests/readerContent.html mode change 100644 => 100755 UITests/scrollablePage.html mode change 100644 => 100755 UITests/youtube.ico mode change 100644 => 100755 XCUITests/ActivityStreamTest.swift mode change 100644 => 100755 XCUITests/AuthenticationTest.swift mode change 100644 => 100755 XCUITests/BaseTestCase.swift mode change 100644 => 100755 XCUITests/BookmarkingTests.swift mode change 100644 => 100755 XCUITests/BrowsingPDFTests.swift mode change 100644 => 100755 XCUITests/ClipBoardTests.swift mode change 100644 => 100755 XCUITests/CopiedLinksTests.swift mode change 100644 => 100755 XCUITests/DomainAutocompleteTest.swift create mode 100755 XCUITests/DragAndDropTests.swift mode change 100644 => 100755 XCUITests/FindInPageTest.swift create mode 100755 XCUITests/FirstRunTourTests.swift mode change 100644 => 100755 XCUITests/FxScreenGraph.swift mode change 100644 => 100755 XCUITests/FxScreenGraphTests.swift mode change 100644 => 100755 XCUITests/HistoryTests.swift mode change 100644 => 100755 XCUITests/HomePageSettingsTest.swift mode change 100644 => 100755 XCUITests/HomePageSettingsUITest.swift mode change 100644 => 100755 XCUITests/HomePageUITest.swift mode change 100644 => 100755 XCUITests/Info.plist mode change 100644 => 100755 XCUITests/MailAppSettingsTests.swift mode change 100644 => 100755 XCUITests/NavigationTest.swift mode change 100644 => 100755 XCUITests/NewTabSettings.swift mode change 100644 => 100755 XCUITests/NightModeTests.swift mode change 100644 => 100755 XCUITests/NoImageTests.swift mode change 100644 => 100755 XCUITests/PhotonActionSheetTest.swift mode change 100644 => 100755 XCUITests/PrivateBrowsingTest.swift mode change 100644 => 100755 XCUITests/ReaderViewUITest.swift mode change 100644 => 100755 XCUITests/ScreenGraphTest.swift mode change 100644 => 100755 XCUITests/SearchSettingsUITest.swift mode change 100644 => 100755 XCUITests/SearchTest.swift mode change 100644 => 100755 XCUITests/SettingsTest.swift mode change 100644 => 100755 XCUITests/SiteLoadTest.swift create mode 100755 XCUITests/SyncFAUITests.swift mode change 100644 => 100755 XCUITests/ThirdPartySearchTest.swift mode change 100644 => 100755 XCUITests/ToolbarTest.swift mode change 100644 => 100755 XCUITests/TopTabsTest.swift mode change 100644 => 100755 XCUITests/TrackingProtectionTests.swift mode change 100644 => 100755 XCUITests/XCUITests-Bridging-Header.h mode change 100644 => 100755 buddybuild_postbuild.sh mode change 100644 => 100755 codecov.yml mode change 100644 => 100755 fastlane/Fastfile mode change 100644 => 100755 fastlane/actions/import_build_tools.rb mode change 100644 => 100755 package-lock.json mode change 100644 => 100755 package.json mode change 100644 => 100755 shipping_locales.txt mode change 100644 => 100755 webpack.config.js diff --git a/.gitattributes b/.gitattributes old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.swiftlint.yml b/.swiftlint.yml old mode 100644 new mode 100755 diff --git a/AUTHORS b/AUTHORS old mode 100644 new mode 100755 diff --git a/Account/Account-Bridging-Header.h b/Account/Account-Bridging-Header.h old mode 100644 new mode 100755 diff --git a/Account/FirefoxAccount.swift b/Account/FirefoxAccount.swift old mode 100644 new mode 100755 diff --git a/Account/FirefoxAccountConfiguration.swift b/Account/FirefoxAccountConfiguration.swift old mode 100644 new mode 100755 diff --git a/Account/FxAClient10.swift b/Account/FxAClient10.swift old mode 100644 new mode 100755 diff --git a/Account/FxADevice.swift b/Account/FxADevice.swift old mode 100644 new mode 100755 diff --git a/Account/FxADeviceRegistration.swift b/Account/FxADeviceRegistration.swift old mode 100644 new mode 100755 diff --git a/Account/FxALoginStateMachine.swift b/Account/FxALoginStateMachine.swift old mode 100644 new mode 100755 diff --git a/Account/FxAPushMessageHandler.swift b/Account/FxAPushMessageHandler.swift old mode 100644 new mode 100755 diff --git a/Account/FxAState.swift b/Account/FxAState.swift old mode 100644 new mode 100755 diff --git a/Account/HawkHelper.swift b/Account/HawkHelper.swift old mode 100644 new mode 100755 diff --git a/Account/Info.plist b/Account/Info.plist old mode 100644 new mode 100755 index 460072ef6..20193ccf3 --- a/Account/Info.plist +++ b/Account/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 10.4 + 11.1 CFBundleSignature ???? CFBundleVersion diff --git a/Account/SyncAuthState.swift b/Account/SyncAuthState.swift old mode 100644 new mode 100755 diff --git a/Account/TokenServerClient.swift b/Account/TokenServerClient.swift old mode 100644 new mode 100755 diff --git a/AccountTests/FirefoxAccountTests.swift b/AccountTests/FirefoxAccountTests.swift old mode 100644 new mode 100755 diff --git a/AccountTests/FxAClient10Tests.swift b/AccountTests/FxAClient10Tests.swift old mode 100644 new mode 100755 diff --git a/AccountTests/FxALoginStateMachineTests.swift b/AccountTests/FxALoginStateMachineTests.swift old mode 100644 new mode 100755 diff --git a/AccountTests/FxAStateTests.swift b/AccountTests/FxAStateTests.swift old mode 100644 new mode 100755 diff --git a/AccountTests/HawkHelperTests.swift b/AccountTests/HawkHelperTests.swift old mode 100644 new mode 100755 diff --git a/AccountTests/Info.plist b/AccountTests/Info.plist old mode 100644 new mode 100755 index 6532c875c..98a71153b --- a/AccountTests/Info.plist +++ b/AccountTests/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 10.4 + 11.1 CFBundleSignature ???? CFBundleVersion diff --git a/AccountTests/LiveAccountTest.swift b/AccountTests/LiveAccountTest.swift old mode 100644 new mode 100755 diff --git a/AccountTests/SyncAuthStateTests.swift b/AccountTests/SyncAuthStateTests.swift old mode 100644 new mode 100755 diff --git a/AccountTests/TokenServerClientTests.swift b/AccountTests/TokenServerClientTests.swift old mode 100644 new mode 100755 diff --git a/Cartfile b/Cartfile old mode 100644 new mode 100755 index 291004781..3847513af --- a/Cartfile +++ b/Cartfile @@ -5,15 +5,13 @@ github "SnapKit/SnapKit" "3.1.2" github "rs/SDWebImage" "4.1.0" github "swisspol/GCDWebServer" "3.3.2" github "kif-framework/KIF" "v3.6.0" -github "adjust/ios_sdk" "v4.11.5" +github "adjust/ios_sdk" "v4.12.1" github "AgileBits/onepassword-app-extension" "add-framework-support" -github "mozilla/readability" "master" -github "jrendel/SwiftKeychainWrapper" "3.0.1" +github "jrendel/SwiftKeychainWrapper" "3.0.1" github "DaveWoodCom/XCGLogger" "Version_4.0.0" github "cezheng/Fuzi" "1.0.1" github "SwiftyJSON/SwiftyJSON" "3.1.4" github "farhanpatel/JSONSchema.swift" "master" github "google/EarlGrey" "1.12.1" -github "jhugman/SwiftRouter" "master" -github "mozilla-mobile/telemetry-ios" "v1.0.10" +github "mozilla-mobile/telemetry-ios" "v1.1.0" github "mozilla-mobile/MappaMundi" "master" diff --git a/Cartfile.resolved b/Cartfile.resolved old mode 100644 new mode 100755 index a0fc0740c..0e4c116c8 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,19 +1,17 @@ -github "AgileBits/onepassword-app-extension" "bcc4cc97fed9a6e73fa204f2e61138e353cb3ef7" -github "Alamofire/Alamofire" "4.6.0" -github "DaveWoodCom/XCGLogger" "Version_4.0.0" +github "getsentry/sentry-cocoa" "3.11.1" +github "Alamofire/Alamofire" "4.3.0" +github "sleroux/Deferred" "35b8927c1b94ce074e10793c57e1f80d0e2227fa" +github "cezheng/Fuzi" "1.0.1" +github "swisspol/GCDWebServer" "3.3.2" +github "kif-framework/KIF" "v3.6.0" github "SnapKit/SnapKit" "3.1.2" +github "jrendel/SwiftKeychainWrapper" "3.0.1" +github "DaveWoodCom/XCGLogger" "Version_4.0.0" +github "adjust/ios_sdk" "v4.12.1" +github "AgileBits/onepassword-app-extension" "bcc4cc97fed9a6e73fa204f2e61138e353cb3ef7" github "SwiftyJSON/SwiftyJSON" "3.1.4" -github "adjust/ios_sdk" "v4.11.5" -github "cezheng/Fuzi" "1.0.1" github "farhanpatel/JSONSchema.swift" "1c052b83baa8c497e12cde6a8afca0f54574612f" -github "getsentry/sentry-cocoa" "3.11.1" github "google/EarlGrey" "1.12.1" -github "jhugman/SwiftRouter" "7b446fd063846ce2961b7518bb2386ffcbcc94d8" -github "jrendel/SwiftKeychainWrapper" "3.0.1" -github "kif-framework/KIF" "v3.6.0" -github "mozilla-mobile/MappaMundi" "0b4f70e2feb941f4d56bd9e27e408d4300656a87" -github "mozilla-mobile/telemetry-ios" "v1.0.10" -github "mozilla/readability" "fd1557560add5bf5f926e8f0601d879762ab6367" github "rs/SDWebImage" "4.1.0" -github "sleroux/Deferred" "35b8927c1b94ce074e10793c57e1f80d0e2227fa" -github "swisspol/GCDWebServer" "3.3.2" +github "mozilla-mobile/telemetry-ios" "v1.1.0" +github "mozilla-mobile/MappaMundi" "0b4f70e2feb941f4d56bd9e27e408d4300656a87" diff --git a/Client-Bridging-Header.h b/Client-Bridging-Header.h old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/project.pbxproj b/Client.xcodeproj/project.pbxproj old mode 100644 new mode 100755 index 1d1c1655c..4920cc800 --- a/Client.xcodeproj/project.pbxproj +++ b/Client.xcodeproj/project.pbxproj @@ -138,6 +138,8 @@ 2C31A7A91E8BFB2200DAC646 /* ReaderViewUITest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C31A7A81E8BFB2200DAC646 /* ReaderViewUITest.swift */; }; 2C31A8471E8D447F00DAC646 /* HomePageSettingsUITest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C31A8461E8D447F00DAC646 /* HomePageSettingsUITest.swift */; }; 2C3406C81E719F00000FD889 /* SettingsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C3406C71E719F00000FD889 /* SettingsTest.swift */; }; + 2C4A07DC20246EAD0083E320 /* DragAndDropTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C4A07DB20246EAD0083E320 /* DragAndDropTests.swift */; }; + 2C4B6BF320349EB800A009C2 /* FirstRunTourTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C4B6BF220349EB800A009C2 /* FirstRunTourTests.swift */; }; 2C8C07771E7800EA00DC1237 /* FindInPageTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C8C07761E7800EA00DC1237 /* FindInPageTest.swift */; }; 2C97EC711E72C80E0092EC18 /* TopTabsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2C97EC701E72C80E0092EC18 /* TopTabsTest.swift */; }; 2CA16FDE1E5F089100332277 /* SearchTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CA16FDD1E5F089100332277 /* SearchTest.swift */; }; @@ -145,6 +147,7 @@ 2CB56E3F1E926BFB00AF7586 /* ToolbarTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CB56E3E1E926BFB00AF7586 /* ToolbarTest.swift */; }; 2CC1B3F01E9B861400814EEC /* DomainAutocompleteTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CC1B3EF1E9B861400814EEC /* DomainAutocompleteTest.swift */; }; 2CEA6F791E93E3A600D4100E /* SearchSettingsUITest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CEA6F781E93E3A600D4100E /* SearchSettingsUITest.swift */; }; + 2CEDADA220207EC400223A89 /* SyncFAUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CEDADA120207EC400223A89 /* SyncFAUITests.swift */; }; 2CF449A51E7BFE2C00FD7595 /* NavigationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CF449A41E7BFE2C00FD7595 /* NavigationTest.swift */; }; 2CF9D9AA20067FA10083DF2A /* BrowsingPDFTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2CF9D9A920067FA10083DF2A /* BrowsingPDFTests.swift */; }; 2F13E79B1AC0C02700D75081 /* StringExtensionsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F13E79A1AC0C02700D75081 /* StringExtensionsTests.swift */; }; @@ -223,6 +226,7 @@ 394CF6CF1BAA493C00906917 /* DefaultSuggestedSites.swift in Sources */ = {isa = PBXBuildFile; fileRef = 394CF6CE1BAA493C00906917 /* DefaultSuggestedSites.swift */; }; 3964B09A1EA8F06F00F2EEF4 /* FeatureSwitch.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3964B0991EA8F06F00F2EEF4 /* FeatureSwitch.swift */; }; 3964B09C1EA8F32C00F2EEF4 /* FeatureSwitchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3964B09B1EA8F32C00F2EEF4 /* FeatureSwitchTests.swift */; }; + 396CDB55203C5B870034A3A3 /* TabTrayController+KeyCommands.swift in Sources */ = {isa = PBXBuildFile; fileRef = 396CDB54203C5B870034A3A3 /* TabTrayController+KeyCommands.swift */; }; 396E38CC1EE0816C00CC180F /* Profile.swift in Sources */ = {isa = PBXBuildFile; fileRef = D34DC84D1A16C40C00D49B7B /* Profile.swift */; }; 396E38DD1EE081DA00CC180F /* SyncStatusResolver.swift in Sources */ = {isa = PBXBuildFile; fileRef = E60D03171D511398002FE3F6 /* SyncStatusResolver.swift */; }; 396E38E01EE0821B00CC180F /* NSUserDefaultsPrefs.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0BD19A661A25309B0084FBA7 /* NSUserDefaultsPrefs.swift */; }; @@ -247,6 +251,8 @@ 39E65D191CA455A900C63CE3 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 391AEFD11C8F11ED00691F84 /* Images.xcassets */; }; 39E65D271CA5B92000C63CE3 /* AsyncReducerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39E65D261CA5B92000C63CE3 /* AsyncReducerTests.swift */; }; 39EB469A1E26DDB4006346E8 /* FxScreenGraph.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39EB46981E26DDB4006346E8 /* FxScreenGraph.swift */; }; + 39F4C0FA2045D87400746155 /* FocusHelper.js in Resources */ = {isa = PBXBuildFile; fileRef = 39F4C0F92045D87400746155 /* FocusHelper.js */; }; + 39F4C10A2045DB2E00746155 /* FocusHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39F4C1092045DB2E00746155 /* FocusHelper.swift */; }; 39F819C61FD70F5D009E31E4 /* TabEventHandlers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39F819C51FD70F5D009E31E4 /* TabEventHandlers.swift */; }; 39F99FE41E3A6F1700F353B4 /* PushClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39F99FD91E3A6DE300F353B4 /* PushClient.swift */; }; 39F99FE51E3A6F1700F353B4 /* PushConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 39F99FDA1E3A6DE300F353B4 /* PushConfiguration.swift */; }; @@ -393,9 +399,7 @@ D02816C21ECA5E2A00240CAA /* HistoryStateHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D02816C11ECA5E2A00240CAA /* HistoryStateHelper.swift */; }; D02818611EF056C800240CAA /* SentryIntegration.swift in Sources */ = {isa = PBXBuildFile; fileRef = D02818601EF056C800240CAA /* SentryIntegration.swift */; }; D03F8EB22004014E003C2224 /* FaviconHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = D03F8EB12004014E003C2224 /* FaviconHandler.swift */; }; - D03F8F21200EABB0003C2224 /* __firefox__.js in Resources */ = {isa = PBXBuildFile; fileRef = D03F8F20200EABB0003C2224 /* __firefox__.js */; }; D03F8F23200EAC1F003C2224 /* AllFramesAtDocumentStart.js in Resources */ = {isa = PBXBuildFile; fileRef = D03F8F22200EAC1E003C2224 /* AllFramesAtDocumentStart.js */; }; - D03F8F25200EACD8003C2224 /* ContextMenu.js in Resources */ = {isa = PBXBuildFile; fileRef = D03F8F24200EACD8003C2224 /* ContextMenu.js */; }; D09A0CD81FAA23F6009A0273 /* Shared.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288A2D861AB8B3260023ABC3 /* Shared.framework */; }; D09A0CD91FAA2413009A0273 /* Shared.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288A2D861AB8B3260023ABC3 /* Shared.framework */; }; D09A0CDA1FAA24C2009A0273 /* Storage.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2FCAE21A1ABB51F800877008 /* Storage.framework */; }; @@ -404,25 +408,15 @@ D09A0CDD1FAA24D0009A0273 /* FxA.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 28CE83D01A1D1D5100576538 /* FxA.framework */; }; D09A0D301FAB8AF3009A0273 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E46175F21EBB73A10021AE8A /* Sentry.framework */; settings = {ATTRIBUTES = (Weak, ); }; }; D0B29EE01F460BDF00C7CEFC /* LoginsSchema.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0B29EDF1F460BDF00C7CEFC /* LoginsSchema.swift */; }; - D0C95DF2200EAD3000E4E51C /* FindInPage.js in Resources */ = {isa = PBXBuildFile; fileRef = D0C95DF1200EAD3000E4E51C /* FindInPage.js */; }; - D0C95DF6200EADD500E4E51C /* LoginsHelper.js in Resources */ = {isa = PBXBuildFile; fileRef = D0C95DF5200EADD500E4E51C /* LoginsHelper.js */; }; - D0C95DF8200EAE3000E4E51C /* NightModeHelper.js in Resources */ = {isa = PBXBuildFile; fileRef = D0C95DF7200EAE3000E4E51C /* NightModeHelper.js */; }; - D0C95DFA200EAE5E00E4E51C /* NoImageModeHelper.js in Resources */ = {isa = PBXBuildFile; fileRef = D0C95DF9200EAE5E00E4E51C /* NoImageModeHelper.js */; }; - D0C95DFC200EAF2900E4E51C /* FxASignIn.js in Resources */ = {isa = PBXBuildFile; fileRef = D0C95DFB200EAF2900E4E51C /* FxASignIn.js */; }; - D0C95E04200FCA8900E4E51C /* ReaderMode.js in Resources */ = {isa = PBXBuildFile; fileRef = D0C95E03200FCA8800E4E51C /* ReaderMode.js */; }; - D0C95E06200FCB5600E4E51C /* HistoryStateHelper.js in Resources */ = {isa = PBXBuildFile; fileRef = D0C95E05200FCB5600E4E51C /* HistoryStateHelper.js */; }; D0C95E0E200FD3B200E4E51C /* PrintHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C95E0D200FD3B200E4E51C /* PrintHelper.swift */; }; - D0C95E34200FDB3200E4E51C /* MetadataHelper.js in Resources */ = {isa = PBXBuildFile; fileRef = D0C95E33200FDB3200E4E51C /* MetadataHelper.js */; }; D0C95E36200FDC5500E4E51C /* MetadataParserHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C95E35200FDC5400E4E51C /* MetadataParserHelper.swift */; }; D0C95EF6201A55A800E4E51C /* BrowserViewController+UIDropInteractionDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0C95EF5201A55A800E4E51C /* BrowserViewController+UIDropInteractionDelegate.swift */; }; + D0E17FB6201F847600F1FCB5 /* FxASignIn.js in Resources */ = {isa = PBXBuildFile; fileRef = D0E17FA7201F847600F1FCB5 /* FxASignIn.js */; }; D0E55C4F1FB4FD23006DC274 /* FormPostHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0E55C4E1FB4FD23006DC274 /* FormPostHelper.swift */; }; D0FCF7F51FE45842004A7995 /* UserScriptManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0FCF7F41FE45842004A7995 /* UserScriptManager.swift */; }; - D0FCF7F71FE45E5D004A7995 /* PrintHandler.js in Resources */ = {isa = PBXBuildFile; fileRef = D0FCF7F61FE45E5D004A7995 /* PrintHandler.js */; }; - D0FCF8011FE47563004A7995 /* FormPostHandler.js in Resources */ = {isa = PBXBuildFile; fileRef = D0FCF8001FE47563004A7995 /* FormPostHandler.js */; }; D0FCF8061FE4772D004A7995 /* AllFramesAtDocumentEnd.js in Resources */ = {isa = PBXBuildFile; fileRef = D0FCF8031FE4772C004A7995 /* AllFramesAtDocumentEnd.js */; }; D0FCF8071FE4772D004A7995 /* MainFrameAtDocumentEnd.js in Resources */ = {isa = PBXBuildFile; fileRef = D0FCF8041FE4772D004A7995 /* MainFrameAtDocumentEnd.js */; }; D0FCF8081FE4772D004A7995 /* MainFrameAtDocumentStart.js in Resources */ = {isa = PBXBuildFile; fileRef = D0FCF8051FE4772D004A7995 /* MainFrameAtDocumentStart.js */; }; - D0FCF80A1FE47B49004A7995 /* CustomSearchHandler.js in Resources */ = {isa = PBXBuildFile; fileRef = D0FCF8091FE47B49004A7995 /* CustomSearchHandler.js */; }; D301AAEE1A3A55B70078DD1D /* TabTrayController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D301AAED1A3A55B70078DD1D /* TabTrayController.swift */; }; D30684F11C84F12A002D8D82 /* SearchPlugins in Resources */ = {isa = PBXBuildFile; fileRef = D30684F01C84F12A002D8D82 /* SearchPlugins */; }; D308E4E41A5306F500842685 /* SearchEngines.swift in Sources */ = {isa = PBXBuildFile; fileRef = D308E4E31A5306F500842685 /* SearchEngines.swift */; }; @@ -491,6 +485,8 @@ D88FDA9F1F4E2B9200FD9709 /* PhotonActionSheetProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = D88FDA9E1F4E2B9200FD9709 /* PhotonActionSheetProtocol.swift */; }; D88FDAAF1F4E2BA000FD9709 /* PhotonActionSheetAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = D88FDAAE1F4E2BA000FD9709 /* PhotonActionSheetAnimator.swift */; }; D8D33A7D1FBD080300A20A28 /* SnapKitExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8D33A7C1FBD080300A20A28 /* SnapKitExtensions.swift */; }; + D8EFFA0C1FF5B1FA001D3A09 /* NavigationRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8EFFA0B1FF5B1FA001D3A09 /* NavigationRouter.swift */; }; + D8EFFA261FF702A8001D3A09 /* NavigationRouterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8EFFA251FF702A8001D3A09 /* NavigationRouterTests.swift */; }; DD31E0FB1B382B520077078A /* TabPrintPageRenderer.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD31E0FA1B382B520077078A /* TabPrintPageRenderer.swift */; }; DDA24A431FD84D630098F159 /* DefaultSearchPrefs.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDA24A341FD84D620098F159 /* DefaultSearchPrefs.swift */; }; DDA24A441FD84D630098F159 /* DefaultSearchPrefs.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDA24A341FD84D620098F159 /* DefaultSearchPrefs.swift */; }; @@ -743,11 +739,15 @@ E6F9653C1B2F1D5D0034B023 /* NSURLExtensionsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6F9653B1B2F1D5D0034B023 /* NSURLExtensionsTests.swift */; }; E6F965421B2F25110034B023 /* NSMutableAttributedStringExtensionsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6F965411B2F25110034B023 /* NSMutableAttributedStringExtensionsTests.swift */; }; E6FF6ACA1D873CFF0070C294 /* PageMetadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6FF6AC91D873CFF0070C294 /* PageMetadata.swift */; }; + EB11A1042044A90E0018F749 /* ContentBlockerHelper+Whitelist.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB11A1012044A90D0018F749 /* ContentBlockerHelper+Whitelist.swift */; }; + EB11A1052044A90E0018F749 /* TrackingProtectionPageStats.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB11A1022044A90D0018F749 /* TrackingProtectionPageStats.swift */; }; + EB11A1062044A90E0018F749 /* ContentBlockerHelper+TabContentScript.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB11A1032044A90E0018F749 /* ContentBlockerHelper+TabContentScript.swift */; }; EB2A63341F3B49A7004EF8B0 /* ContentBlockerHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB2A63251F3B49A7004EF8B0 /* ContentBlockerHelper.swift */; }; - EB2A633B1F3B513B004EF8B0 /* disconnect-advertising.json in Resources */ = {isa = PBXBuildFile; fileRef = EB2A63381F3B5135004EF8B0 /* disconnect-advertising.json */; }; - EB2A633C1F3B513E004EF8B0 /* disconnect-analytics.json in Resources */ = {isa = PBXBuildFile; fileRef = EB2A63361F3B5134004EF8B0 /* disconnect-analytics.json */; }; - EB2A633E1F3B514A004EF8B0 /* disconnect-content.json in Resources */ = {isa = PBXBuildFile; fileRef = EB2A63371F3B5135004EF8B0 /* disconnect-content.json */; }; - EB2A633F1F3B514B004EF8B0 /* disconnect-social.json in Resources */ = {isa = PBXBuildFile; fileRef = EB2A63391F3B5135004EF8B0 /* disconnect-social.json */; }; + EB3A38A02032673E004C6E67 /* DatabaseFixtureTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = EB3A38912032673D004C6E67 /* DatabaseFixtureTest.swift */; }; + EB54A8762028CE4000018880 /* disconnect-advertising.json in Resources */ = {isa = PBXBuildFile; fileRef = EB54A8722028CE4000018880 /* disconnect-advertising.json */; }; + EB54A8772028CE4000018880 /* disconnect-analytics.json in Resources */ = {isa = PBXBuildFile; fileRef = EB54A8732028CE4000018880 /* disconnect-analytics.json */; }; + EB54A8782028CE4000018880 /* disconnect-content.json in Resources */ = {isa = PBXBuildFile; fileRef = EB54A8742028CE4000018880 /* disconnect-content.json */; }; + EB54A8792028CE4000018880 /* disconnect-social.json in Resources */ = {isa = PBXBuildFile; fileRef = EB54A8752028CE4000018880 /* disconnect-social.json */; }; EBA31D791F7999030055463D /* SyncPingCentre.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBA31D781F7999030055463D /* SyncPingCentre.swift */; }; EBA31D7B1F79990C0055463D /* SyncTelemetryEvents.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBA31D7A1F79990C0055463D /* SyncTelemetryEvents.swift */; }; EBA31D7D1F79996E0055463D /* SyncTelemetryUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = EBA31D7C1F79996E0055463D /* SyncTelemetryUtils.swift */; }; @@ -1514,6 +1514,8 @@ 2C31A7A81E8BFB2200DAC646 /* ReaderViewUITest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReaderViewUITest.swift; sourceTree = ""; }; 2C31A8461E8D447F00DAC646 /* HomePageSettingsUITest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HomePageSettingsUITest.swift; sourceTree = ""; }; 2C3406C71E719F00000FD889 /* SettingsTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsTest.swift; sourceTree = ""; }; + 2C4A07DB20246EAD0083E320 /* DragAndDropTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DragAndDropTests.swift; sourceTree = ""; }; + 2C4B6BF220349EB800A009C2 /* FirstRunTourTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FirstRunTourTests.swift; sourceTree = ""; }; 2C8C07761E7800EA00DC1237 /* FindInPageTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FindInPageTest.swift; sourceTree = ""; }; 2C97EC701E72C80E0092EC18 /* TopTabsTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TopTabsTest.swift; sourceTree = ""; }; 2CA16FDD1E5F089100332277 /* SearchTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchTest.swift; sourceTree = ""; }; @@ -1521,6 +1523,7 @@ 2CB56E3E1E926BFB00AF7586 /* ToolbarTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ToolbarTest.swift; sourceTree = ""; }; 2CC1B3EF1E9B861400814EEC /* DomainAutocompleteTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DomainAutocompleteTest.swift; sourceTree = ""; }; 2CEA6F781E93E3A600D4100E /* SearchSettingsUITest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SearchSettingsUITest.swift; sourceTree = ""; }; + 2CEDADA120207EC400223A89 /* SyncFAUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyncFAUITests.swift; sourceTree = ""; }; 2CF449A41E7BFE2C00FD7595 /* NavigationTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigationTest.swift; sourceTree = ""; }; 2CF9D9A920067FA10083DF2A /* BrowsingPDFTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BrowsingPDFTests.swift; sourceTree = ""; }; 2F13E79A1AC0C02700D75081 /* StringExtensionsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StringExtensionsTests.swift; sourceTree = ""; }; @@ -1600,6 +1603,7 @@ 395C8F201E796AD600A68E8C /* PushCrypto.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PushCrypto.swift; sourceTree = ""; }; 3964B0991EA8F06F00F2EEF4 /* FeatureSwitch.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeatureSwitch.swift; sourceTree = ""; }; 3964B09B1EA8F32C00F2EEF4 /* FeatureSwitchTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FeatureSwitchTests.swift; sourceTree = ""; }; + 396CDB54203C5B870034A3A3 /* TabTrayController+KeyCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TabTrayController+KeyCommands.swift"; sourceTree = ""; }; 396E38DB1EE0818800CC180F /* ExtensionProfile.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ExtensionProfile.swift; sourceTree = ""; }; 397848DB1ED86605004C0C0B /* NotificationService.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = NotificationService.appex; sourceTree = BUILT_PRODUCTS_DIR; }; 397848DD1ED86605004C0C0B /* NotificationService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationService.swift; sourceTree = ""; }; @@ -1613,6 +1617,8 @@ 39DD030C1CD53E1900BC09B3 /* HomePageHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HomePageHelper.swift; sourceTree = ""; }; 39E65D261CA5B92000C63CE3 /* AsyncReducerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AsyncReducerTests.swift; sourceTree = ""; }; 39EB46981E26DDB4006346E8 /* FxScreenGraph.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FxScreenGraph.swift; sourceTree = ""; }; + 39F4C0F92045D87400746155 /* FocusHelper.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; path = FocusHelper.js; sourceTree = ""; }; + 39F4C1092045DB2E00746155 /* FocusHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FocusHelper.swift; sourceTree = ""; }; 39F819C51FD70F5D009E31E4 /* TabEventHandlers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TabEventHandlers.swift; sourceTree = ""; }; 39F99FD91E3A6DE300F353B4 /* PushClient.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PushClient.swift; sourceTree = ""; }; 39F99FDA1E3A6DE300F353B4 /* PushConfiguration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PushConfiguration.swift; sourceTree = ""; }; @@ -1742,6 +1748,8 @@ CE7F115E1F3CCEF900ABFC0B /* RemoteDevices.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RemoteDevices.swift; sourceTree = ""; }; CEFA977D1FAA6B490016F365 /* SyncContentSettingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SyncContentSettingsViewController.swift; sourceTree = ""; }; CEFC983B1EC0DC60008A3E48 /* TestBookmarksRepairRequestor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = TestBookmarksRepairRequestor.swift; path = SyncTests/TestBookmarksRepairRequestor.swift; sourceTree = ""; }; + D000661320472890009BA6F6 /* __firefox__.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = __firefox__.js; sourceTree = ""; }; + D0006623204728A8009BA6F6 /* TrackingProtectionStats.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = TrackingProtectionStats.js; sourceTree = ""; }; D0131B4C1F3CF7D8000CDE86 /* SQLiteFavicons.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SQLiteFavicons.swift; sourceTree = ""; }; D018F93D1F44A7190098F8CA /* Schema.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Schema.swift; sourceTree = ""; }; D02816C11ECA5E2A00240CAA /* HistoryStateHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HistoryStateHelper.swift; sourceTree = ""; }; @@ -1755,17 +1763,16 @@ D0C95DF5200EADD500E4E51C /* LoginsHelper.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = LoginsHelper.js; sourceTree = ""; }; D0C95DF7200EAE3000E4E51C /* NightModeHelper.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = NightModeHelper.js; sourceTree = ""; }; D0C95DF9200EAE5E00E4E51C /* NoImageModeHelper.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = NoImageModeHelper.js; sourceTree = ""; }; - D0C95DFB200EAF2900E4E51C /* FxASignIn.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = FxASignIn.js; sourceTree = ""; }; D0C95E03200FCA8800E4E51C /* ReaderMode.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = ReaderMode.js; sourceTree = ""; }; D0C95E05200FCB5600E4E51C /* HistoryStateHelper.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = HistoryStateHelper.js; sourceTree = ""; }; D0C95E0D200FD3B200E4E51C /* PrintHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PrintHelper.swift; sourceTree = ""; }; D0C95E33200FDB3200E4E51C /* MetadataHelper.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = MetadataHelper.js; sourceTree = ""; }; D0C95E35200FDC5400E4E51C /* MetadataParserHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MetadataParserHelper.swift; sourceTree = ""; }; D0C95EF5201A55A800E4E51C /* BrowserViewController+UIDropInteractionDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "BrowserViewController+UIDropInteractionDelegate.swift"; sourceTree = ""; }; + D0E17FA7201F847600F1FCB5 /* FxASignIn.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = FxASignIn.js; sourceTree = ""; }; D0E55C4E1FB4FD23006DC274 /* FormPostHelper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormPostHelper.swift; sourceTree = ""; }; D0FCF7F41FE45842004A7995 /* UserScriptManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserScriptManager.swift; sourceTree = ""; }; D0FCF7F61FE45E5D004A7995 /* PrintHandler.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; path = PrintHandler.js; sourceTree = ""; }; - D0FCF8001FE47563004A7995 /* FormPostHandler.js */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.javascript; path = FormPostHandler.js; sourceTree = ""; }; D0FCF8031FE4772C004A7995 /* AllFramesAtDocumentEnd.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = AllFramesAtDocumentEnd.js; sourceTree = ""; }; D0FCF8041FE4772D004A7995 /* MainFrameAtDocumentEnd.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = MainFrameAtDocumentEnd.js; sourceTree = ""; }; D0FCF8051FE4772D004A7995 /* MainFrameAtDocumentStart.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = MainFrameAtDocumentStart.js; sourceTree = ""; }; @@ -1838,6 +1845,8 @@ D88FDA9E1F4E2B9200FD9709 /* PhotonActionSheetProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotonActionSheetProtocol.swift; sourceTree = ""; }; D88FDAAE1F4E2BA000FD9709 /* PhotonActionSheetAnimator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PhotonActionSheetAnimator.swift; sourceTree = ""; }; D8D33A7C1FBD080300A20A28 /* SnapKitExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SnapKitExtensions.swift; path = Extensions/SnapKitExtensions.swift; sourceTree = ""; }; + D8EFFA0B1FF5B1FA001D3A09 /* NavigationRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationRouter.swift; sourceTree = ""; }; + D8EFFA251FF702A8001D3A09 /* NavigationRouterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationRouterTests.swift; sourceTree = ""; }; DD31E0FA1B382B520077078A /* TabPrintPageRenderer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabPrintPageRenderer.swift; sourceTree = ""; }; DDA24A341FD84D620098F159 /* DefaultSearchPrefs.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DefaultSearchPrefs.swift; sourceTree = ""; }; E40A18F71EDC73D5006B7F28 /* Fennec.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Fennec.entitlements; sourceTree = ""; }; @@ -2070,11 +2079,15 @@ E6F965411B2F25110034B023 /* NSMutableAttributedStringExtensionsTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NSMutableAttributedStringExtensionsTests.swift; sourceTree = ""; }; E6FCC43C1C40565200DF6113 /* FirefoxBeta.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = FirefoxBeta.xcconfig; path = Configuration/FirefoxBeta.xcconfig; sourceTree = ""; }; E6FF6AC91D873CFF0070C294 /* PageMetadata.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PageMetadata.swift; sourceTree = ""; }; + EB11A1012044A90D0018F749 /* ContentBlockerHelper+Whitelist.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ContentBlockerHelper+Whitelist.swift"; sourceTree = ""; }; + EB11A1022044A90D0018F749 /* TrackingProtectionPageStats.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TrackingProtectionPageStats.swift; sourceTree = ""; }; + EB11A1032044A90E0018F749 /* ContentBlockerHelper+TabContentScript.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ContentBlockerHelper+TabContentScript.swift"; sourceTree = ""; }; EB2A63251F3B49A7004EF8B0 /* ContentBlockerHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContentBlockerHelper.swift; sourceTree = ""; }; - EB2A63361F3B5134004EF8B0 /* disconnect-analytics.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "disconnect-analytics.json"; sourceTree = ""; }; - EB2A63371F3B5135004EF8B0 /* disconnect-content.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "disconnect-content.json"; sourceTree = ""; }; - EB2A63381F3B5135004EF8B0 /* disconnect-advertising.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "disconnect-advertising.json"; sourceTree = ""; }; - EB2A63391F3B5135004EF8B0 /* disconnect-social.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = "disconnect-social.json"; sourceTree = ""; }; + EB3A38912032673D004C6E67 /* DatabaseFixtureTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DatabaseFixtureTest.swift; sourceTree = ""; }; + EB54A8722028CE4000018880 /* disconnect-advertising.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "disconnect-advertising.json"; sourceTree = ""; }; + EB54A8732028CE4000018880 /* disconnect-analytics.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "disconnect-analytics.json"; sourceTree = ""; }; + EB54A8742028CE4000018880 /* disconnect-content.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "disconnect-content.json"; sourceTree = ""; }; + EB54A8752028CE4000018880 /* disconnect-social.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "disconnect-social.json"; sourceTree = ""; }; EBA31D781F7999030055463D /* SyncPingCentre.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SyncPingCentre.swift; sourceTree = ""; }; EBA31D7A1F79990C0055463D /* SyncTelemetryEvents.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SyncTelemetryEvents.swift; sourceTree = ""; }; EBA31D7C1F79996E0055463D /* SyncTelemetryUtils.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SyncTelemetryUtils.swift; sourceTree = ""; }; @@ -2902,6 +2915,9 @@ 2CF9D9A920067FA10083DF2A /* BrowsingPDFTests.swift */, 39C261CB2018DE20009D97BD /* FxScreenGraphTests.swift */, 2C28F96B201B2D4C00ABA8A5 /* MailAppSettingsTests.swift */, + 2CEDADA120207EC400223A89 /* SyncFAUITests.swift */, + 2C4A07DB20246EAD0083E320 /* DragAndDropTests.swift */, + 2C4B6BF220349EB800A009C2 /* FirstRunTourTests.swift */, ); path = XCUITests; sourceTree = ""; @@ -3050,7 +3066,9 @@ D0FCF7EB1FE44DB6004A7995 /* AtDocumentEnd */ = { isa = PBXGroup; children = ( + D000661320472890009BA6F6 /* __firefox__.js */, D03F8F24200EACD8003C2224 /* ContextMenu.js */, + 39F4C0F92045D87400746155 /* FocusHelper.js */, D0C95DF5200EADD500E4E51C /* LoginsHelper.js */, D0FCF7F61FE45E5D004A7995 /* PrintHandler.js */, ); @@ -3060,11 +3078,11 @@ D0FCF7EC1FE44DBD004A7995 /* AtDocumentStart */ = { isa = PBXGroup; children = ( - D0FCF8001FE47563004A7995 /* FormPostHandler.js */, D0C95E05200FCB5600E4E51C /* HistoryStateHelper.js */, D0C95DF7200EAE3000E4E51C /* NightModeHelper.js */, D0C95DF9200EAE5E00E4E51C /* NoImageModeHelper.js */, D0C95E03200FCA8800E4E51C /* ReaderMode.js */, + D0006623204728A8009BA6F6 /* TrackingProtectionStats.js */, ); path = AtDocumentStart; sourceTree = ""; @@ -3074,7 +3092,6 @@ children = ( D0FCF8091FE47B49004A7995 /* CustomSearchHandler.js */, D0C95DF1200EAD3000E4E51C /* FindInPage.js */, - D0C95DFB200EAF2900E4E51C /* FxASignIn.js */, D0C95E33200FDB3200E4E51C /* MetadataHelper.js */, ); path = AtDocumentEnd; @@ -3216,6 +3233,7 @@ D03F8EB12004014E003C2224 /* FaviconHandler.swift */, D3B6923C1B9F9444004B87A4 /* FindInPageBar.swift */, D3B6923E1B9F9A58004B87A4 /* FindInPageHelper.swift */, + 39F4C1092045DB2E00746155 /* FocusHelper.swift */, D0E55C4E1FB4FD23006DC274 /* FormPostHelper.swift */, D02816C11ECA5E2A00240CAA /* HistoryStateHelper.swift */, 39DD030C1CD53E1900BC09B3 /* HomePageHelper.swift */, @@ -3254,6 +3272,7 @@ E698FFD91B4AADF40001F623 /* TabScrollController.swift */, D314E7F51A37B98700426A76 /* TabToolbar.swift */, D301AAED1A3A55B70078DD1D /* TabTrayController.swift */, + 396CDB54203C5B870034A3A3 /* TabTrayController+KeyCommands.swift */, 3BCE6D3B1CEB9E4D0080928C /* ThirdPartySearchAlerts.swift */, C4E3985F1D22C409004E89BA /* TopTabsLayout.swift */, C45F44681D087DB600CB7EF0 /* TopTabsViewController.swift */, @@ -3624,15 +3643,26 @@ isa = PBXGroup; children = ( EB2A63251F3B49A7004EF8B0 /* ContentBlockerHelper.swift */, + EB11A1032044A90E0018F749 /* ContentBlockerHelper+TabContentScript.swift */, + EB11A1012044A90D0018F749 /* ContentBlockerHelper+Whitelist.swift */, + EB11A1022044A90D0018F749 /* TrackingProtectionPageStats.swift */, + EB54A8712028CE4000018880 /* Lists */, C88601B71F4228AD00BBDE4F /* ContentBlockerSettingViewController.swift */, - EB2A63381F3B5135004EF8B0 /* disconnect-advertising.json */, - EB2A63361F3B5134004EF8B0 /* disconnect-analytics.json */, - EB2A63371F3B5135004EF8B0 /* disconnect-content.json */, - EB2A63391F3B5135004EF8B0 /* disconnect-social.json */, ); path = ContentBlocker; sourceTree = ""; }; + EB54A8712028CE4000018880 /* Lists */ = { + isa = PBXGroup; + children = ( + EB54A8722028CE4000018880 /* disconnect-advertising.json */, + EB54A8732028CE4000018880 /* disconnect-analytics.json */, + EB54A8742028CE4000018880 /* disconnect-content.json */, + EB54A8752028CE4000018880 /* disconnect-social.json */, + ); + path = Lists; + sourceTree = ""; + }; F84B21B51A090F8100AAB793 = { isa = PBXGroup; children = ( @@ -3753,6 +3783,7 @@ F84B21D71A090F8100AAB793 /* Supporting Files */, 554867221DC3935A00183DAA /* HomePageTests.swift */, 39236E711FCC600200A38F1B /* TabEventHandlerTests.swift */, + D8EFFA251FF702A8001D3A09 /* NavigationRouterTests.swift */, ); path = ClientTests; sourceTree = ""; @@ -3781,6 +3812,7 @@ E6327A631BF6438E008D12E0 /* DebugSettingsBundleOptions.swift */, E6639F171BF11E17002D0853 /* Settings.bundle */, 7BEFC67F1BFF68C30059C952 /* QuickActions.swift */, + D8EFFA0B1FF5B1FA001D3A09 /* NavigationRouter.swift */, ); path = Application; sourceTree = ""; @@ -3799,6 +3831,7 @@ 0BA1E02F1B051A07007675AF /* NetError.css */, D38A1EDF1CB458EC0080C842 /* CertError.html */, 0BA1E00D1B03FB0B007675AF /* NetError.html */, + D0E17FA7201F847600F1FCB5 /* FxASignIn.js */, 39A35AEC1C0662A3006B9E87 /* SpotlightHelper.js */, D37524861C6E8B5A00A5F6C2 /* topdomains.txt */, F84B21EF1A0910F600AAB793 /* Images.xcassets */, @@ -4200,6 +4233,7 @@ 7BEB64431C7345600092C02E /* Sources */, 7BEB64461C7345600092C02E /* Frameworks */, 7BEB64471C7345600092C02E /* Resources */, + E4A69F612048AFEA00D9017B /* Copy Carthage Frameworks */, ); buildRules = ( ); @@ -5004,55 +5038,44 @@ files = ( D38A1EE01CB458EC0080C842 /* CertError.html in Resources */, 0BA1E0301B051A07007675AF /* NetError.css in Resources */, - D03F8F21200EABB0003C2224 /* __firefox__.js in Resources */, 3BC659491E5BA4AE006D560F /* TopSites in Resources */, + EB54A8772028CE4000018880 /* disconnect-analytics.json in Resources */, E4B7B77E1A793CF20022C5E0 /* FiraSans-SemiBold.ttf in Resources */, - EB2A633C1F3B513E004EF8B0 /* disconnect-analytics.json in Resources */, F84B220B1A0910F600AAB793 /* Images.xcassets in Resources */, F35B8D2B1D6380EA008E3D61 /* SessionRestore.html in Resources */, - D0C95DFA200EAE5E00E4E51C /* NoImageModeHelper.js in Resources */, 7B42406E1CA04CAC009B5C28 /* Menu.xcassets in Resources */, E49943F71AE69EDD00BF9DE4 /* Intro.xcassets in Resources */, 3BC659591E5BA505006D560F /* top_sites.json in Resources */, E4B7B7631A793CF20022C5E0 /* CharisSILI.ttf in Resources */, + EB54A8782028CE4000018880 /* disconnect-content.json in Resources */, E4CD9F541A71506400318571 /* Reader.html in Resources */, - EB2A633E1F3B514A004EF8B0 /* disconnect-content.json in Resources */, - D03F8F25200EACD8003C2224 /* ContextMenu.js in Resources */, 7B2142FE1E5E055000CDD3FC /* InfoPlist.strings in Resources */, E69922171B94E3EF007C480D /* Licenses.html in Resources */, E4CD9F5B1A71506C00318571 /* Reader.css in Resources */, - D0C95E06200FCB5600E4E51C /* HistoryStateHelper.js in Resources */, D0FCF8061FE4772D004A7995 /* AllFramesAtDocumentEnd.js in Resources */, E4B7B7611A793CF20022C5E0 /* CharisSILB.ttf in Resources */, D37524871C6E8B5A00A5F6C2 /* topdomains.txt in Resources */, E4B7B7621A793CF20022C5E0 /* CharisSILBI.ttf in Resources */, 7B4980A81CE363ED0017547C /* Settings.xcassets in Resources */, - D0C95DF2200EAD3000E4E51C /* FindInPage.js in Resources */, + 39F4C0FA2045D87400746155 /* FocusHelper.js in Resources */, E4B7B7861A793CF20022C5E0 /* FiraSans-UltraLight.ttf in Resources */, 2F44FB2C1A9D5D8500FD20CC /* Home.xcassets in Resources */, + EB54A8762028CE4000018880 /* disconnect-advertising.json in Resources */, E4B7B77D1A793CF20022C5E0 /* FiraSans-Regular.ttf in Resources */, - EB2A633B1F3B513B004EF8B0 /* disconnect-advertising.json in Resources */, E4B7B7791A793CF20022C5E0 /* FiraSans-Light.ttf in Resources */, D0FCF8081FE4772D004A7995 /* MainFrameAtDocumentStart.js in Resources */, D30684F11C84F12A002D8D82 /* SearchPlugins in Resources */, - D0FCF80A1FE47B49004A7995 /* CustomSearchHandler.js in Resources */, 74821FFE1DB6D3AC00EEEA72 /* MailSchemes.plist in Resources */, - D0C95DF6200EADD500E4E51C /* LoginsHelper.js in Resources */, FA9294011D6584A200AC8D33 /* QRCode.xcassets in Resources */, - D0C95E34200FDB3200E4E51C /* MetadataHelper.js in Resources */, D308EE561CBF0BF5006843F2 /* CertError.css in Resources */, E4B7B7641A793CF20022C5E0 /* CharisSILR.ttf in Resources */, E4B7B7681A793CF20022C5E0 /* FiraSans-Bold.ttf in Resources */, E4B7B7781A793CF20022C5E0 /* FiraSans-Italic.ttf in Resources */, - D0C95DFC200EAF2900E4E51C /* FxASignIn.js in Resources */, 0BA1E00E1B03FB0B007675AF /* NetError.html in Resources */, - D0FCF7F71FE45E5D004A7995 /* PrintHandler.js in Resources */, - D0FCF8011FE47563004A7995 /* FormPostHandler.js in Resources */, E4A961381AC06FA50069AD6F /* ReaderViewLoading.html in Resources */, - EB2A633F1F3B514B004EF8B0 /* disconnect-social.json in Resources */, - D0C95DF8200EAE3000E4E51C /* NightModeHelper.js in Resources */, + EB54A8792028CE4000018880 /* disconnect-social.json in Resources */, E4ECCDAE1AB131770005E717 /* FiraSans-Medium.ttf in Resources */, - D0C95E04200FCA8900E4E51C /* ReaderMode.js in Resources */, + D0E17FB6201F847600F1FCB5 /* FxASignIn.js in Resources */, E4424B3C1AC71FB400F44C38 /* FiraSans-Book.ttf in Resources */, 39A35AED1C0662A3006B9E87 /* SpotlightHelper.js in Resources */, D0FCF8071FE4772D004A7995 /* MainFrameAtDocumentEnd.js in Resources */, @@ -5116,7 +5139,6 @@ "$(SRCROOT)/Carthage/Build/iOS/JSONSchema.framework", "$(SRCROOT)/Carthage/Build/iOS/SwiftyJSON.framework", "$(SRCROOT)/Carthage/Build/iOS/Sentry.framework", - "$(SRCROOT)/Carthage/Build/iOS/SwiftRouter.framework", "$(SRCROOT)/Carthage/Build/iOS/Telemetry.framework", ); name = "Copy Carthage Dependencies"; @@ -5126,6 +5148,21 @@ shellPath = /bin/sh; shellScript = "/usr/local/bin/carthage copy-frameworks"; }; + E4A69F612048AFEA00D9017B /* Copy Carthage Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "$(SRCROOT)/Carthage/Build/iOS/MappaMundi.framework", + ); + name = "Copy Carthage Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/usr/local/bin/carthage copy-frameworks"; + }; E4DAA6741F63027B00FA53AF /* Run Script */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 8; @@ -5465,6 +5502,8 @@ 3BFE4B501D34673D00DDF53F /* ThirdPartySearchTest.swift in Sources */, 2CF9D9AA20067FA10083DF2A /* BrowsingPDFTests.swift in Sources */, 0BC9C9C41F26F54D000E8AB5 /* SiteLoadTest.swift in Sources */, + 2C4B6BF320349EB800A009C2 /* FirstRunTourTests.swift in Sources */, + 2C4A07DC20246EAD0083E320 /* DragAndDropTests.swift in Sources */, 2C2A5EF41E68469500F02659 /* PrivateBrowsingTest.swift in Sources */, 3D71C89E1F5703A1008D8646 /* CopiedLinksTests.swift in Sources */, 2CF449A51E7BFE2C00FD7595 /* NavigationTest.swift in Sources */, @@ -5480,6 +5519,7 @@ 0B729D371E047D6A008E6859 /* HomePageSettingsTest.swift in Sources */, 39C261CC2018DE21009D97BD /* FxScreenGraphTests.swift in Sources */, 3DEFED081F55EBE300F8620C /* TrackingProtectionTests.swift in Sources */, + 2CEDADA220207EC400223A89 /* SyncFAUITests.swift in Sources */, 3D9CA9A81EF84D04002434DD /* NoImageTests.swift in Sources */, 2C31A8471E8D447F00DAC646 /* HomePageSettingsUITest.swift in Sources */, 2CEA6F791E93E3A600D4100E /* SearchSettingsUITest.swift in Sources */, @@ -5682,11 +5722,13 @@ D314E7F71A37B98700426A76 /* TabToolbar.swift in Sources */, CEFA977E1FAA6B490016F365 /* SyncContentSettingsViewController.swift in Sources */, E60D03181D511398002FE3F6 /* SyncStatusResolver.swift in Sources */, + EB11A1062044A90E0018F749 /* ContentBlockerHelper+TabContentScript.swift in Sources */, E689C6FA1E0C6E98008BAADB /* FxAContentViewController.swift in Sources */, C4E3983D1D21F1E7004E89BA /* TopTabsViews.swift in Sources */, 3B0943811D6CC4FC004F24E1 /* FilledPageControl.swift in Sources */, FA9293D41D6580E100AC8D33 /* QRCodeViewController.swift in Sources */, E6108FF91C84E91C005D25E8 /* BasePasscodeViewController.swift in Sources */, + 39F4C10A2045DB2E00746155 /* FocusHelper.swift in Sources */, E4CD9F2D1A6DC91200318571 /* TabLocationView.swift in Sources */, 0BB5B2881AC0A2B90052877D /* SnackBar.swift in Sources */, 7BEFC6801BFF68C30059C952 /* QuickActions.swift in Sources */, @@ -5709,6 +5751,7 @@ 392ED7E61D0AEFEF009D9B62 /* HomePageAccessors.swift in Sources */, 7BA8D1C71BA037F500C8AE9E /* OpenInHelper.swift in Sources */, E4B423BE1AB9FE6A007E66C8 /* ReaderModeCache.swift in Sources */, + 396CDB55203C5B870034A3A3 /* TabTrayController+KeyCommands.swift in Sources */, 74E36D781B71323500D69DA1 /* SettingsContentViewController.swift in Sources */, 742A56391D80B54A00BDB803 /* PhotonActionSheet.swift in Sources */, C4EFEECF1CEBB6F2009762A4 /* BackForwardTableViewCell.swift in Sources */, @@ -5734,6 +5777,7 @@ C4F3B29A1CFCF93A00966259 /* ButtonToast.swift in Sources */, D31A0FC71A65D6D000DC8C7E /* SearchSuggestClient.swift in Sources */, A83E5AB71C1D993D0026D912 /* UIPasteboardExtensions.swift in Sources */, + D8EFFA0C1FF5B1FA001D3A09 /* NavigationRouter.swift in Sources */, D0E55C4F1FB4FD23006DC274 /* FormPostHelper.swift in Sources */, E650754E1E37F6AE006961AC /* GeometryExtensions.swift in Sources */, D3972BF41C22412B00035B87 /* TitleActivityItemProvider.swift in Sources */, @@ -5775,6 +5819,7 @@ 3B6889C51D66950E002AC85E /* UIImageColors.swift in Sources */, 392ED7E41D0AEF56009D9B62 /* NewTabAccessors.swift in Sources */, D3A9949D1A3686BD008AD1AC /* Tab.swift in Sources */, + EB11A1042044A90E0018F749 /* ContentBlockerHelper+Whitelist.swift in Sources */, A93067E81D0FE18E00C49C6E /* NightModeHelper.swift in Sources */, 3B39EDCB1E16E1AA00EF029F /* CustomSearchViewController.swift in Sources */, E65075571E37F714006961AC /* FaviconFetcher.swift in Sources */, @@ -5790,6 +5835,7 @@ E68E7ADA1CAC207400FDCA76 /* ChangePasscodeViewController.swift in Sources */, E640E85E1C73A45A00C5F072 /* PasscodeEntryViewController.swift in Sources */, 8D8251811F4DE67F00780643 /* AdvanceAccountSettingViewController.swift in Sources */, + EB11A1052044A90E0018F749 /* TrackingProtectionPageStats.swift in Sources */, E633E2DA1C21EAF8001FFF6C /* LoginDetailViewController.swift in Sources */, 59A68B280D62462B85CF57A4 /* HistoryPanel.swift in Sources */, 19DE1F671EC13B6400428B8C /* LeanplumIntegration.swift in Sources */, @@ -5848,6 +5894,7 @@ 0BA8964C1A250E6500C1010C /* TestBookmarks.swift in Sources */, 2F13E79B1AC0C02700D75081 /* StringExtensionsTests.swift in Sources */, 2FDB10931A9FBEC5006CF312 /* PrefsTests.swift in Sources */, + D8EFFA261FF702A8001D3A09 /* NavigationRouterTests.swift in Sources */, 4A59B58AD11B5EE1F80BBDEB /* TestHistory.swift in Sources */, A83E5B1D1C1DA8D80026D912 /* UIPasteboardExtensionsTests.swift in Sources */, E61D11681EAF8F43008A305B /* PanelDataObserversTests.swift in Sources */, @@ -6459,7 +6506,7 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_ENTITLEMENTS = "$(SRCROOT)/Extensions/Entitlements/FennecEnterprise.entitlements"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - DEVELOPMENT_TEAM = 43AQ936H96; + DEVELOPMENT_TEAM = 9G8J6YA743; ENABLE_BITCODE = NO; INFOPLIST_FILE = Extensions/NotificationService/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 10.3; @@ -7536,7 +7583,7 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ALWAYS_SEARCH_USER_PATHS = NO; APPLICATION_EXTENSION_API_ONLY = NO; - APP_IDENTIFIER_PREFIX = 43AQ936H96; + APP_IDENTIFIER_PREFIX = 9G8J6YA743; CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -8025,7 +8072,7 @@ CURRENT_PROJECT_VERSION = 1; DEBUG_ACTIVITY_MODE = ""; "DEBUG_ACTIVITY_MODE[sdk=iphonesimulator*]" = disable; - DEVELOPMENT_TEAM = 43AQ936H96; + DEVELOPMENT_TEAM = 9G8J6YA743; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; FRAMEWORK_SEARCH_PATHS = ( diff --git a/Client.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Client.xcodeproj/project.xcworkspace/contents.xcworkspacedata old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/Client.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcbaselines/2FCAE2231ABB51F800877008.xcbaseline/FE8885C6-BB1A-48D2-9B90-E9F952C98F6B.plist b/Client.xcodeproj/xcshareddata/xcbaselines/2FCAE2231ABB51F800877008.xcbaseline/FE8885C6-BB1A-48D2-9B90-E9F952C98F6B.plist old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcbaselines/2FCAE2231ABB51F800877008.xcbaseline/Info.plist b/Client.xcodeproj/xcshareddata/xcbaselines/2FCAE2231ABB51F800877008.xcbaseline/Info.plist old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcbaselines/E6F9650B1B2F1CF20034B023.xcbaseline/F9839E4F-67D2-4920-8CE8-94CEE3A6C3D7.plist b/Client.xcodeproj/xcshareddata/xcbaselines/E6F9650B1B2F1CF20034B023.xcbaseline/F9839E4F-67D2-4920-8CE8-94CEE3A6C3D7.plist old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcbaselines/E6F9650B1B2F1CF20034B023.xcbaseline/Info.plist b/Client.xcodeproj/xcshareddata/xcbaselines/E6F9650B1B2F1CF20034B023.xcbaseline/Info.plist old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcschemes/Account.xcscheme b/Client.xcodeproj/xcshareddata/xcschemes/Account.xcscheme old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcschemes/Fennec.xcscheme b/Client.xcodeproj/xcshareddata/xcschemes/Fennec.xcscheme old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcschemes/Fennec_Enterprise.xcscheme b/Client.xcodeproj/xcshareddata/xcschemes/Fennec_Enterprise.xcscheme old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcschemes/Fennec_Enterprise_UITests.xcscheme b/Client.xcodeproj/xcshareddata/xcschemes/Fennec_Enterprise_UITests.xcscheme old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcschemes/Fennec_Enterprise_XCUITests.xcscheme b/Client.xcodeproj/xcshareddata/xcschemes/Fennec_Enterprise_XCUITests.xcscheme old mode 100644 new mode 100755 index a2762036a..e77de98de --- a/Client.xcodeproj/xcshareddata/xcschemes/Fennec_Enterprise_XCUITests.xcscheme +++ b/Client.xcodeproj/xcshareddata/xcschemes/Fennec_Enterprise_XCUITests.xcscheme @@ -178,6 +178,9 @@ + + @@ -199,12 +202,30 @@ + + + + + + + + + + + + diff --git a/Client.xcodeproj/xcshareddata/xcschemes/Fennec_Enterprise_XCUITests_iPad.xcscheme b/Client.xcodeproj/xcshareddata/xcschemes/Fennec_Enterprise_XCUITests_iPad.xcscheme old mode 100644 new mode 100755 index e409b5728..6945d7534 --- a/Client.xcodeproj/xcshareddata/xcschemes/Fennec_Enterprise_XCUITests_iPad.xcscheme +++ b/Client.xcodeproj/xcshareddata/xcschemes/Fennec_Enterprise_XCUITests_iPad.xcscheme @@ -190,12 +190,27 @@ + + + + + + + + + + @@ -208,6 +223,12 @@ + + + + diff --git a/Client.xcodeproj/xcshareddata/xcschemes/Firefox.xcscheme b/Client.xcodeproj/xcshareddata/xcschemes/Firefox.xcscheme old mode 100644 new mode 100755 index b96de6202..bc4b4d9e0 --- a/Client.xcodeproj/xcshareddata/xcschemes/Firefox.xcscheme +++ b/Client.xcodeproj/xcshareddata/xcschemes/Firefox.xcscheme @@ -40,6 +40,96 @@ ReferencedContainer = "container:Client.xcodeproj"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Client.xcodeproj/xcshareddata/xcschemes/MarketingUITests.xcscheme b/Client.xcodeproj/xcshareddata/xcschemes/MarketingUITests.xcscheme old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcschemes/ReadingList.xcscheme b/Client.xcodeproj/xcshareddata/xcschemes/ReadingList.xcscheme old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcschemes/SendTo.xcscheme b/Client.xcodeproj/xcshareddata/xcschemes/SendTo.xcscheme old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcschemes/ShareTo.xcscheme b/Client.xcodeproj/xcshareddata/xcschemes/ShareTo.xcscheme old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcschemes/Shared.xcscheme b/Client.xcodeproj/xcshareddata/xcschemes/Shared.xcscheme old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcschemes/Storage.xcscheme b/Client.xcodeproj/xcshareddata/xcschemes/Storage.xcscheme old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcschemes/Sync.xcscheme b/Client.xcodeproj/xcshareddata/xcschemes/Sync.xcscheme old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcschemes/Telemetry.xcscheme b/Client.xcodeproj/xcshareddata/xcschemes/Telemetry.xcscheme old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcschemes/Today.xcscheme b/Client.xcodeproj/xcshareddata/xcschemes/Today.xcscheme old mode 100644 new mode 100755 diff --git a/Client.xcodeproj/xcshareddata/xcschemes/ViewLater.xcscheme b/Client.xcodeproj/xcshareddata/xcschemes/ViewLater.xcscheme old mode 100644 new mode 100755 diff --git a/Client/Application/AdjustIntegration.swift b/Client/Application/AdjustIntegration.swift old mode 100644 new mode 100755 diff --git a/Client/Application/AppDelegate.swift b/Client/Application/AppDelegate.swift old mode 100644 new mode 100755 index a034fd7cb..024f5c469 --- a/Client/Application/AppDelegate.swift +++ b/Client/Application/AppDelegate.swift @@ -11,7 +11,6 @@ import SDWebImage import SwiftKeychainWrapper import LocalAuthentication import SyncTelemetry -import SwiftRouter import Sync import CoreSpotlight import UserNotifications @@ -40,8 +39,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UIViewControllerRestorati let appVersion = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as! String - var openInFirefoxParams: LaunchParams? - var receivedURLs: [URL]? var unifiedTelemetry: UnifiedTelemetry? @@ -114,13 +111,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UIViewControllerRestorati setUpWebServer(profile) } - do { - // for aural progress bar: play even with silent switch on, and do not stop audio from other apps (like music) - try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, with: .mixWithOthers) - } catch _ { - print("Error: Failed to assign AVAudioSession category to allow playing with silent switch on for aural progress bar") - } - let imageStore = DiskImageStore(files: profile.files, namespace: "TabManagerScreenshots", quality: UIConstants.ScreenshotQuality) // Temporary fix for Bug 1390871 - NSInvalidArgumentException: -[WKContentView menuHelperFindInPage]: unrecognized selector @@ -174,88 +164,10 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UIViewControllerRestorati let fxaLoginHelper = FxALoginHelper.sharedInstance fxaLoginHelper.application(application, didLoadProfile: profile) - setUpDeepLinks(application: application) - log.info("startApplication end") return true } - func setUpDeepLinks(application: UIApplication) { - let router = Router.shared - let rootNav = rootViewController as! UINavigationController - - router.map("homepanel/:page", handler: { (params: [String: String]?) -> (Bool) in - guard let page = params?["page"] else { - return false - } - - assert(Thread.isMainThread, "Opening homepanels requires being invoked on the main thread") - - switch page { - case "bookmarks": - self.browserViewController.openURLInNewTab(HomePanelType.bookmarks.localhostURL, isPrivileged: true) - case "history": - self.browserViewController.openURLInNewTab(HomePanelType.history.localhostURL, isPrivileged: true) - case "new-private-tab": - self.browserViewController.openBlankNewTab(focusLocationField: false, isPrivate: true) - default: - break - } - - return true - }) - - // Route to general settings page like this: "...settings/general" - router.map("settings/:page", handler: { (params: [String: String]?) -> (Bool) in - guard let page = params?["page"] else { - return false - } - - assert(Thread.isMainThread, "Opening settings requires being invoked on the main thread") - - let settingsTableViewController = AppSettingsTableViewController() - settingsTableViewController.profile = self.profile - settingsTableViewController.tabManager = self.tabManager - settingsTableViewController.settingsDelegate = self.browserViewController - - let controller = SettingsNavigationController(rootViewController: settingsTableViewController) - controller.popoverDelegate = self.browserViewController - controller.modalPresentationStyle = .formSheet - - rootNav.present(controller, animated: true, completion: nil) - - switch page { - case "newtab": - let viewController = NewTabChoiceViewController(prefs: self.getProfile(application).prefs) - controller.pushViewController(viewController, animated: true) - case "homepage": - let viewController = HomePageSettingsViewController() - viewController.profile = self.getProfile(application) - viewController.tabManager = self.tabManager - controller.pushViewController(viewController, animated: true) - case "mailto": - let viewController = OpenWithSettingsViewController(prefs: self.getProfile(application).prefs) - controller.pushViewController(viewController, animated: true) - case "search": - let viewController = SearchSettingsTableViewController() - viewController.model = self.getProfile(application).searchEngines - viewController.profile = self.getProfile(application) - controller.pushViewController(viewController, animated: true) - case "clear-private-data": - let viewController = ClearPrivateDataTableViewController() - viewController.profile = self.getProfile(application) - viewController.tabManager = self.tabManager - controller.pushViewController(viewController, animated: true) - case "fxa": - self.browserViewController.presentSignInViewController() - default: - break - } - - return true - }) - } - func applicationWillTerminate(_ application: UIApplication) { // We have only five seconds here, so let's hope this doesn't take too long. self.profile?.shutdown() @@ -293,7 +205,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UIViewControllerRestorati adjustIntegration?.triggerApplicationDidFinishLaunchingWithOptions(launchOptions) UNUserNotificationCenter.current().delegate = self - self.registerNotificationCategories() + SentTabAction.registerActions() #if BUDDYBUILD print("Setting up BuddyBuild SDK") @@ -316,95 +228,22 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UIViewControllerRestorati shouldPerformAdditionalDelegateHandling = false } - return shouldPerformAdditionalDelegateHandling - } + // Force the ToolbarTextField in LTR mode - without this change the UITextField's clear + // button will be in the incorrect position and overlap with the input text. Not clear if + // that is an iOS bug or not. + AutocompleteTextField.appearance().semanticContentAttribute = .forceLeftToRight - func registerNotificationCategories() { - let viewAction = UNNotificationAction(identifier: SentTabAction.view.rawValue, title: Strings.SentTabViewActionTitle, options: .foreground) - let bookmarkAction = UNNotificationAction(identifier: SentTabAction.bookmark.rawValue, title: Strings.SentTabBookmarkActionTitle, options: .authenticationRequired) - let readingListAction = UNNotificationAction(identifier: SentTabAction.readingList.rawValue, title: Strings.SentTabAddToReadingListActionTitle, options: .authenticationRequired) - - // Register ourselves to handle the notification category set by NotificationService for APNS notifications - let sentTabCategory = UNNotificationCategory(identifier: "org.mozilla.ios.SentTab.placeholder", actions: [viewAction, bookmarkAction, readingListAction], intentIdentifiers: [], options: UNNotificationCategoryOptions(rawValue: 0)) - UNUserNotificationCenter.current().setNotificationCategories([sentTabCategory]) + return shouldPerformAdditionalDelegateHandling } func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool { - guard let components = URLComponents(url: url, resolvingAgainstBaseURL: false) else { - return false - } - - guard let urlTypes = Bundle.main.object(forInfoDictionaryKey: "CFBundleURLTypes") as? [AnyObject], - let urlSchemes = urlTypes.first?["CFBundleURLSchemes"] as? [String] else { - // Something very strange has happened; org.mozilla.Client should be the zeroeth URL type. - log.error("Custom URL schemes not available for validating") + guard let routerpath = NavigationPath(url: url) else { return false } - - guard let scheme = components.scheme, urlSchemes.contains(scheme) else { - log.warning("Cannot handle \(components.scheme ?? "nil") URL scheme") - return false - } - - guard let host = url.host else { - log.warning("Cannot handle nil URL host") - return false + DispatchQueue.main.async { + NavigationPath.handle(nav: routerpath, with: self.browserViewController) } - - let query = url.getQuery() - - switch host { - case "open-url": - let url = query["url"]?.unescape() ?? "" - let isPrivate = NSString(string: query["private"] ?? "false").boolValue - - let params = LaunchParams(url: URL(string: url), isPrivate: isPrivate) - - if application.applicationState == .active { - // If we are active then we can ask the BVC to open the new tab right away. - // Otherwise, we remember the URL and we open it in applicationDidBecomeActive. - launchFromURL(params) - } else { - openInFirefoxParams = params - } - return true - case "deep-link": - guard let url = query["url"], Bundle.main.bundleIdentifier == sourceApplication else { - break - } - Router.shared.routeURL(url) - return true - case "fxa-signin": - if AppConstants.MOZ_FXA_DEEP_LINK_FORM_FILL { - // FxA form filling requires a `signin` query param and host = fxa-signin - // Ex. firefox://fxa-signin?signin=&someQuery=... - guard query["signin"] != nil else { - break - } - let fxaParams: FxALaunchParams - fxaParams = FxALaunchParams(query: query) - launchFxAFromURL(fxaParams) - return true - } - break - default: () - } - return false - } - - func launchFxAFromURL(_ params: FxALaunchParams) { - self.browserViewController.presentSignInViewController(params) - } - - func launchFromURL(_ params: LaunchParams) { - let isPrivate = params.isPrivate ?? false - if let newURL = params.url { - self.browserViewController.switchToTabForURLOrOpen(newURL, isPrivate: isPrivate, isPrivileged: false) - } else { - self.browserViewController.openBlankNewTab(focusLocationField: true, isPrivate: isPrivate) - } - - LeanPlumClient.shared.track(event: .openedNewTab, withParameters: ["Source": "External App or Extension" as AnyObject]) + return true } // We sync in the foreground only, to avoid the possibility of runaway resource usage. @@ -448,15 +287,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UIViewControllerRestorati quickActions.launchedShortcutItem = nil } - // Check if we have a URL from an external app or extension waiting to launch, - // then launch it on the main thread. - if let params = openInFirefoxParams { - openInFirefoxParams = nil - DispatchQueue.main.async { - self.launchFromURL(params) - } - } - UnifiedTelemetry.recordEvent(category: .action, method: .foreground, object: .app) } @@ -637,7 +467,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UIViewControllerRestorati } fileprivate func viewURLInNewTab(_ notification: UNNotification) { - if let alertURL = notification.request.content.userInfo[TabSendURLKey] as? String { + if let alertURL = notification.request.content.userInfo[SentTabAction.TabSendURLKey] as? String { if let urlToOpen = URL(string: alertURL) { browserViewController.openURLInNewTab(urlToOpen, isPrivileged: true) } @@ -645,8 +475,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UIViewControllerRestorati } fileprivate func addBookmark(_ notification: UNNotification) { - if let alertURL = notification.request.content.userInfo[TabSendURLKey] as? String, - let title = notification.request.content.userInfo[TabSendTitleKey] as? String { + if let alertURL = notification.request.content.userInfo[SentTabAction.TabSendURLKey] as? String, + let title = notification.request.content.userInfo[SentTabAction.TabSendTitleKey] as? String { let tabState = TabState(isPrivate: false, desktopSite: false, url: URL(string: alertURL), title: title, favicon: nil) browserViewController.addBookmark(tabState) @@ -657,8 +487,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UIViewControllerRestorati } fileprivate func addToReadingList(_ notification: UNNotification) { - if let alertURL = notification.request.content.userInfo[TabSendURLKey] as? String, - let title = notification.request.content.userInfo[TabSendTitleKey] as? String { + if let alertURL = notification.request.content.userInfo[SentTabAction.TabSendURLKey] as? String, + let title = notification.request.content.userInfo[SentTabAction.TabSendTitleKey] as? String { if let urlToOpen = URL(string: alertURL) { NotificationCenter.default.post(name: .FSReadingListAddReadingListItem, object: self, userInfo: ["URL": urlToOpen, "Title": title]) } @@ -819,15 +649,6 @@ extension AppDelegate { } } -struct FxALaunchParams { - var query: [String: String] -} - -struct LaunchParams { - let url: URL? - let isPrivate: Bool? -} - extension UIApplication { var syncDelegate: SyncDelegate { return AppSyncDelegate(app: self) @@ -870,14 +691,14 @@ class AppSyncDelegate: SyncDelegate { } notificationContent.title = title notificationContent.body = url.absoluteDisplayExternalString - notificationContent.userInfo = [TabSendURLKey: url.absoluteString, TabSendTitleKey: title] + notificationContent.userInfo = [SentTabAction.TabSendURLKey: url.absoluteString, SentTabAction.TabSendTitleKey: title] notificationContent.categoryIdentifier = "org.mozilla.ios.SentTab.placeholder" // `timeInterval` must be greater than zero let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 0.1, repeats: false) // The identifier for each notification request must be unique in order to be created - let requestIdentifier = "\(TabSendCategory).\(url.absoluteString)" + let requestIdentifier = "\(SentTabAction.TabSendCategory).\(url.absoluteString)" let request = UNNotificationRequest(identifier: requestIdentifier, content: notificationContent, trigger: trigger) UNUserNotificationCenter.current().add(request) { error in @@ -890,3 +711,31 @@ class AppSyncDelegate: SyncDelegate { } } } + +/** + * This exists because the Sync code is extension-safe, and thus doesn't get + * direct access to UIApplication.sharedApplication, which it would need to + * display a notification. + * This will also likely be the extension point for wipes, resets, and + * getting access to data sources during a sync. + */ + +enum SentTabAction: String { + case view = "TabSendViewAction" + case bookmark = "TabSendBookmarkAction" + case readingList = "TabSendReadingListAction" + + static let TabSendURLKey = "TabSendURL" + static let TabSendTitleKey = "TabSendTitle" + static let TabSendCategory = "TabSendCategory" + + static func registerActions() { + let viewAction = UNNotificationAction(identifier: SentTabAction.view.rawValue, title: Strings.SentTabViewActionTitle, options: .foreground) + let bookmarkAction = UNNotificationAction(identifier: SentTabAction.bookmark.rawValue, title: Strings.SentTabBookmarkActionTitle, options: .authenticationRequired) + let readingListAction = UNNotificationAction(identifier: SentTabAction.readingList.rawValue, title: Strings.SentTabAddToReadingListActionTitle, options: .authenticationRequired) + + // Register ourselves to handle the notification category set by NotificationService for APNS notifications + let sentTabCategory = UNNotificationCategory(identifier: "org.mozilla.ios.SentTab.placeholder", actions: [viewAction, bookmarkAction, readingListAction], intentIdentifiers: [], options: UNNotificationCategoryOptions(rawValue: 0)) + UNUserNotificationCenter.current().setNotificationCategories([sentTabCategory]) + } +} diff --git a/Client/Application/Crasher.h b/Client/Application/Crasher.h old mode 100644 new mode 100755 diff --git a/Client/Application/Crasher.m b/Client/Application/Crasher.m old mode 100644 new mode 100755 diff --git a/Client/Application/DebugSettingsBundleOptions.swift b/Client/Application/DebugSettingsBundleOptions.swift old mode 100644 new mode 100755 diff --git a/Client/Application/LaunchScreen.xib b/Client/Application/LaunchScreen.xib old mode 100644 new mode 100755 diff --git a/Client/Application/LeanplumIntegration.swift b/Client/Application/LeanplumIntegration.swift old mode 100644 new mode 100755 index cdd90b25f..b4aad1227 --- a/Client/Application/LeanplumIntegration.swift +++ b/Client/Application/LeanplumIntegration.swift @@ -11,6 +11,7 @@ private let LPAppIdKey = "LeanplumAppId" private let LPProductionKeyKey = "LeanplumProductionKey" private let LPDevelopmentKeyKey = "LeanplumDevelopmentKey" private let AppRequestedUserNotificationsPrefKey = "applicationDidRequestUserNotificationPermissionPrefKey" +private let FxaDevicesCountPrefKey = "FxaDevicesCount" // FxA Custom Leanplum message template for A/B testing push notifications. private struct LPMessage { @@ -24,11 +25,12 @@ private struct LPMessage { static let ArgAcceptButtonText = "Accept button.Text" static let ArgCancelButtonText = "Cancel button.Text" static let ArgCancelButtonTextColor = "Cancel button.Text color" - // These defaults are overridden though Leanplum webUI - static let DefaultAskToAskTitle = NSLocalizedString("Firefox Sync Requires Push", comment: "Default push to ask title") - static let DefaultAskToAskMessage = NSLocalizedString("Firefox will stay in sync faster with Push Notifications enabled.", comment: "Default push to ask message") - static let DefaultOkButtonText = NSLocalizedString("Enable Push", comment: "Default push alert ok button text") - static let DefaultLaterButtonText = NSLocalizedString("Don't Enable", comment: "Default push alert cancel button text") + + // These defaults are not localized and will be overridden through Leanplum + static let DefaultAskToAskTitle = "Firefox Sync Requires Push" + static let DefaultAskToAskMessage = "Firefox will stay in sync faster with Push Notifications enabled." + static let DefaultOkButtonText = "Enable Push" + static let DefaultLaterButtonText = "Don’t Enable" } private let log = Logger.browserLogger @@ -38,6 +40,7 @@ enum LPEvent: String { case secondRun = "E_Second_Run" case openedApp = "E_Opened_App" case dismissedOnboarding = "E_Dismissed_Onboarding" + case dismissedOnboardingShowLogin = "E_Dismissed_Onboarding_Showed_Login" case openedLogins = "Opened Login Manager" case openedBookmark = "E_Opened_Bookmark" case openedNewTab = "E_Opened_New_Tab" @@ -55,6 +58,8 @@ enum LPEvent: String { case signsInFxa = "E_User_Signed_In_To_FxA" case useReaderView = "E_User_Used_Reader_View" case trackingProtectionSettings = "E_Tracking_Protection_Settings_Changed" + case fxaSyncedNewDevice = "E_FXA_Synced_New_Device" + case onboardingTestLoadedTooSlow = "E_Onboarding_Was_Swiped_Before_AB_Test_Could_Start" } struct LPAttributeKey { @@ -64,6 +69,8 @@ struct LPAttributeKey { static let mailtoIsDefault = "Mailto Is Default" static let pocketInstalled = "Pocket Installed" static let telemetryOptIn = "Telemetry Opt In" + static let fxaAccountVerified = "FxA account is verified" + static let fxaDeviceCount = "Number of devices in FxA account" } struct MozillaAppSchemes { @@ -93,6 +100,7 @@ class LeanPlumClient { // The primary result is having a feature flag controlled by Leanplum, and falling back // to prompting with native push permissions. private var useFxAPrePush: LPVar = LPVar.define("useFxAPrePush", with: false) + var introScreenVars = LPVar.define("IntroScreen", with: IntroCard.defaultCards().flatMap({ $0.asDictonary() })) private func isPrivateMode() -> Bool { // Need to be run on main thread since isInPrivateMode requires to be on the main thread. @@ -112,6 +120,20 @@ class LeanPlumClient { self.profile = profile } + func recordSyncedClients(with profile: Profile?) { + guard let profile = profile as? BrowserProfile else { + return + } + profile.remoteClientsAndTabs.getClients() >>== { clients in + let oldCount = self.prefs?.intForKey(FxaDevicesCountPrefKey) ?? 0 + if clients.count > oldCount { + self.track(event: .fxaSyncedNewDevice) + } + self.prefs?.setInt(Int32(clients.count), forKey: FxaDevicesCountPrefKey) + Leanplum.setUserAttributes([LPAttributeKey.fxaDeviceCount: clients.count]) + } + } + fileprivate func start() { guard let settings = getSettings(), supportedLocales.contains(Locale.current.identifier), !Leanplum.hasStarted() else { enabled = false @@ -135,7 +157,8 @@ class LeanPlumClient { LPAttributeKey.focusInstalled: focusInstalled(), LPAttributeKey.klarInstalled: klarInstalled(), LPAttributeKey.pocketInstalled: pocketInstalled(), - LPAttributeKey.signedInSync: profile?.hasAccount() ?? false + LPAttributeKey.signedInSync: profile?.hasAccount() ?? false, + LPAttributeKey.fxaAccountVerified: profile?.hasSyncableAccount() ?? false ] self.setupCustomTemplates() @@ -155,6 +178,7 @@ class LeanPlumClient { self.checkIfAppWasInstalled(key: PrefsKeys.HasFocusInstalled, isAppInstalled: self.focusInstalled(), lpEvent: .downloadedFocus) self.checkIfAppWasInstalled(key: PrefsKeys.HasPocketInstalled, isAppInstalled: self.pocketInstalled(), lpEvent: .downloadedPocket) + self.recordSyncedClients(with: self.profile) }) } diff --git a/Client/Application/NavigationRouter.swift b/Client/Application/NavigationRouter.swift new file mode 100755 index 000000000..eda83d34f --- /dev/null +++ b/Client/Application/NavigationRouter.swift @@ -0,0 +1,206 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import Foundation +import Shared + +struct FxALaunchParams { + var query: [String: String] +} + +// An enum to route to HomePanels +enum HomePanelPath: String { + case bookmarks + case topsites + case readingList + case history +} + +// An enum to route to a settings page. +// This could be extended to provide default values to pass to fxa +enum SettingsPage: String { + case newTab + case homePage + case mailto + case search + case clearData = "clear-private-data" + case fxa +} + +// Used by the App to navigate to different views. +// To open a URL use /open-url or to open a blank tab use /open-url with no params +enum DeepLink { + case settings(SettingsPage) + case homePanel(HomePanelPath) + init?(urlString: String) { + let paths = urlString.split(separator: "/") + guard let component = paths[safe: 0], let componentPath = paths[safe: 1] else { + return nil + } + if component == "settings", let link = SettingsPage(rawValue: String(componentPath)) { + self = .settings(link) + } else if component == "homepanel", let link = HomePanelPath(rawValue: String(componentPath)) { + self = .homePanel(link) + } else { + return nil + } + } +} + +extension URLComponents { + // Return the first query parameter that matches + func valueForQuery(_ param: String) -> String? { + return self.queryItems?.first { $0.name == param }?.value + } +} + +// The root navigation for the Router. Look at the tests to see a complete URL +enum NavigationPath { + case url(webURL: URL?, isPrivate: Bool) + case fxa(params: FxALaunchParams) + case deepLink(DeepLink) + + init?(url: URL) { + let urlString = url.absoluteString + guard let components = URLComponents(url: url, resolvingAgainstBaseURL: false) else { + return nil + } + + guard let urlTypes = Bundle.main.object(forInfoDictionaryKey: "CFBundleURLTypes") as? [AnyObject], + let urlSchemes = urlTypes.first?["CFBundleURLSchemes"] as? [String] else { + // Something very strange has happened; org.mozilla.Client should be the zeroeth URL type. + return nil + } + + guard let scheme = components.scheme, urlSchemes.contains(scheme) else { + return nil + } + + if urlString.starts(with: "\(scheme)://deep-link"), let deepURL = components.valueForQuery("url"), let link = DeepLink(urlString: deepURL) { + self = .deepLink(link) + } else if urlString.starts(with: "\(scheme)://fxa-signin"), components.valueForQuery("signin") != nil { + self = .fxa(params: FxALaunchParams(query: url.getQuery())) + } else if urlString.starts(with: "\(scheme)://open-url") { + let url = components.valueForQuery("url")?.asURL + let isPrivate = Bool(components.valueForQuery("private") ?? "") ?? false + self = .url(webURL: url, isPrivate: isPrivate) + } else { + return nil + } + } + + static func handle(nav: NavigationPath, with bvc: BrowserViewController) { + switch nav { + case .fxa(let params): NavigationPath.handleFxA(params: params, with: bvc) + case .deepLink(let link): NavigationPath.handleDeepLink(link, with: bvc) + case .url(let url, let isPrivate): NavigationPath.handleURL(url: url, isPrivate: isPrivate, with: bvc) + } + } + + private static func handleDeepLink(_ link: DeepLink, with bvc: BrowserViewController) { + switch link { + case .homePanel(let panelPath): + NavigationPath.handleHomePanel(panel: panelPath, with: bvc) + case .settings(let settingsPath): + guard let rootVC = bvc.navigationController else { + return + } + let settingsTableViewController = AppSettingsTableViewController() + settingsTableViewController.profile = bvc.profile + settingsTableViewController.tabManager = bvc.tabManager + settingsTableViewController.settingsDelegate = bvc + NavigationPath.handleSettings(settings: settingsPath, with: rootVC, baseSettingsVC: settingsTableViewController, and: bvc) + } + } + + private static func handleFxA(params: FxALaunchParams, with bvc: BrowserViewController) { + if AppConstants.MOZ_FXA_DEEP_LINK_FORM_FILL { + bvc.presentSignInViewController(params) + } + } + + private static func handleHomePanel(panel: HomePanelPath, with bvc: BrowserViewController) { + switch panel { + case .bookmarks: bvc.openURLInNewTab(HomePanelType.bookmarks.localhostURL, isPrivileged: true) + case .history: bvc.openURLInNewTab(HomePanelType.history.localhostURL, isPrivileged: true) + case .readingList:bvc.openURLInNewTab(HomePanelType.readingList.localhostURL, isPrivileged: true) + case .topsites: bvc.openURLInNewTab(HomePanelType.topSites.localhostURL, isPrivileged: true) + } + } + + private static func handleURL(url: URL?, isPrivate: Bool, with bvc: BrowserViewController) { + if let newURL = url { + bvc.switchToTabForURLOrOpen(newURL, isPrivate: isPrivate, isPrivileged: false) + } else { + bvc.openBlankNewTab(focusLocationField: true, isPrivate: isPrivate) + } + LeanPlumClient.shared.track(event: .openedNewTab, withParameters: ["Source": "External App or Extension" as AnyObject]) + } + + private static func handleSettings(settings: SettingsPage, with rootNav: UINavigationController, baseSettingsVC: AppSettingsTableViewController, and bvc: BrowserViewController) { + + guard let profile = baseSettingsVC.profile, let tabManager = baseSettingsVC.tabManager else { + return + } + + let controller = SettingsNavigationController(rootViewController: baseSettingsVC) + controller.popoverDelegate = bvc + controller.modalPresentationStyle = UIModalPresentationStyle.formSheet + rootNav.present(controller, animated: true, completion: nil) + + switch settings { + case .newTab: + let viewController = NewTabChoiceViewController(prefs: baseSettingsVC.profile.prefs) + controller.pushViewController(viewController, animated: true) + case .homePage: + let viewController = HomePageSettingsViewController() + viewController.profile = profile + viewController.tabManager = tabManager + controller.pushViewController(viewController, animated: true) + case .mailto: + let viewController = OpenWithSettingsViewController(prefs: profile.prefs) + controller.pushViewController(viewController, animated: true) + case .search: + let viewController = SearchSettingsTableViewController() + viewController.model = profile.searchEngines + viewController.profile = profile + controller.pushViewController(viewController, animated: true) + case .clearData: + let viewController = ClearPrivateDataTableViewController() + viewController.profile = profile + viewController.tabManager = tabManager + controller.pushViewController(viewController, animated: true) + case .fxa: + bvc.presentSignInViewController() + } + } +} + +extension NavigationPath: Equatable {} + +func == (lhs: NavigationPath, rhs: NavigationPath) -> Bool { + switch (lhs, rhs) { + case let (.url(lhsURL, lhsPrivate), .url(rhsURL, rhsPrivate)): + return lhsURL == rhsURL && lhsPrivate == rhsPrivate + case let (.fxa(lhs), .fxa(rhs)): + return lhs.query == rhs.query + case let (.deepLink(lhs), .deepLink(rhs)): + return lhs == rhs + default: + return false + } +} + +extension DeepLink: Equatable {} + +func == (lhs: DeepLink, rhs: DeepLink) -> Bool { + switch (lhs, rhs) { + case let (.settings(lhs), .settings(rhs)): + return lhs == rhs + case let (.homePanel(lhs), .homePanel(rhs)): + return lhs == rhs + default: + return false + } +} diff --git a/Client/Application/QuickActions.swift b/Client/Application/QuickActions.swift old mode 100644 new mode 100755 diff --git a/Client/Application/Settings.bundle/Root.plist b/Client/Application/Settings.bundle/Root.plist old mode 100644 new mode 100755 diff --git a/Client/Application/Settings.bundle/en.lproj/Root.strings b/Client/Application/Settings.bundle/en.lproj/Root.strings old mode 100644 new mode 100755 diff --git a/Client/Application/TestAppDelegate.swift b/Client/Application/TestAppDelegate.swift old mode 100644 new mode 100755 diff --git a/Client/Application/WebServer.swift b/Client/Application/WebServer.swift old mode 100644 new mode 100755 diff --git a/Client/Application/main.swift b/Client/Application/main.swift old mode 100644 new mode 100755 diff --git a/Client/Assets/About/Licenses.html b/Client/Assets/About/Licenses.html old mode 100644 new mode 100755 diff --git a/Client/Assets/AllFramesAtDocumentEnd.js b/Client/Assets/AllFramesAtDocumentEnd.js old mode 100644 new mode 100755 index 7332523ac..a2726e2d6 --- a/Client/Assets/AllFramesAtDocumentEnd.js +++ b/Client/Assets/AllFramesAtDocumentEnd.js @@ -1 +1 @@ -!function(e){var n={};function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=3)}([,,,function(e,n,t){t(4),t(5),t(6),e.exports=t(7)},function(e,n){!function(){"use strict";window.__firefox__||Object.defineProperty(window,"__firefox__",{enumerable:!1,configurable:!1,writable:!1,value:{userScripts:{},includeOnce:function(e){return!!__firefox__.userScripts[e]||(__firefox__.userScripts[e]=!0,!1)}}})}()},function(e,n){!function(){"use strict";window.__firefox__.includeOnce("ContextMenu")||window.addEventListener("touchstart",function(e){var n=e.target,t=n.closest("a"),r=n.closest("img");if(t||r){var i={};t&&(i.link=t.href),r&&(i.image=r.src),(i.link||i.image)&&webkit.messageHandlers.contextMenuMessageHandler.postMessage(i)}},!0)}()},function(e,n){!function(){"use strict";if(!window.__firefox__.includeOnce("LoginsHelper")){var e=!1,n={_getRandomId:function(){return Math.round(Math.random()*(Number.MAX_VALUE-Number.MIN_VALUE)+Number.MIN_VALUE).toString()},_messages:["RemoteLogins:loginsFound"],_requests:{},_takeRequest:function(e){var n=e,t=this._requests[n.requestId];return this._requests[n.requestId]=void 0,t},_sendRequest:function(e,n){var t=this._getRandomId();n.requestId=t,webkit.messageHandlers.loginsManagerMessageHandler.postMessage(n);var r=this;return new Promise(function(n,i){e.promise={resolve:n,reject:i},r._requests[t]=e})},receiveMessage:function(e){var n=this._takeRequest(e);switch(e.name){case"RemoteLogins:loginsFound":n.promise.resolve({form:n.form,loginsFound:e.logins});break;case"RemoteLogins:loginsAutoCompleted":n.promise.resolve(e.logins)}},_asyncFindLogins:function(e,n){var r=this._getFormFields(e,!1);if(!r[0]||!r[1])return Promise.reject("No logins found");r[0].addEventListener("blur",o);var i=t._getPasswordOrigin(),s=t._getActionOrigin(e);if(null==s)return Promise.reject("Action origin is null");var a={form:e},l={type:"request",formOrigin:i,actionOrigin:s};return this._sendRequest(a,l)},loginsFound:function(e,n){this._fillForm(e,!0,!1,!1,!1,n)},onUsernameInput:function(e){var n=e.target;if(n.ownerDocument instanceof HTMLDocument&&this._isUsernameFieldType(n)){var t=n.form;if(t&&n.value){i("onUsernameInput from",e.type);var[r,o,s]=this._getFormFields(t,!1);if(r==n&&o){var a=this;this._asyncFindLogins(t,{showMasterPassword:!1}).then(function(e){a._fillForm(e.form,!0,!0,!0,!0,e.loginsFound)}).then(null,i)}}}},_getPasswordFields:function(e,n){for(var t=[],r=0;r3?(i("(form ignored -- too many password fields. [ got ",t.length),null):t},_isUsernameFieldType:function(e){if(!(e instanceof HTMLInputElement))return!1;var n=e.hasAttribute("type")?e.getAttribute("type").toLowerCase():e.type;return"text"==n||"email"==n||"url"==n||"tel"==n||"number"==n},_getFormFields:function(e,n){var t,r,o=null,s=this._getPasswordFields(e,n);if(!s)return[null,null,null];for(var a=s[0].index-1;a>=0;a--){var l=e.elements[a];if(this._isUsernameFieldType(l)){o=l;break}}if(o||i("(form -- no username field found)"),!n||1==s.length)return[o,s[0].element,null];var u=s[0].element.value,f=s[1].element.value,d=s[2]?s[2].element.value:null;if(3==s.length)if(u==f&&f==d)r=s[0].element,t=null;else if(u==f)r=s[0].element,t=s[2].element;else if(f==d)t=s[0].element,r=s[2].element;else{if(u!=d)return i("(form ignored -- all 3 pw fields differ)"),[null,null,null];r=s[0].element,t=s[1].element}else u==f?(r=s[0].element,t=null):(t=s[0].element,r=s[1].element);return[o,r,t]},_isAutocompleteDisabled:function(e){return!(!e||!e.hasAttribute("autocomplete")||"off"!=e.getAttribute("autocomplete").toLowerCase())},_onFormSubmit:function(e){var n=e.ownerDocument,r=n.defaultView;var o=t._getPasswordOrigin(n.documentURI);if(o){var s=t._getActionOrigin(e),a=this._getFormFields(e,!0),l=a[0],u=a[1],f=a[2];if(null!=u){this._isAutocompleteDisabled(e)||this._isAutocompleteDisabled(l)||this._isAutocompleteDisabled(u)||this._isAutocompleteDisabled(f),0;var d=l?{name:l.name,value:l.value}:null,m={name:u.name,value:u.value};f&&(f.name,f.value),r.opener&&r.opener.top;webkit.messageHandlers.loginsManagerMessageHandler.postMessage({type:"submit",hostname:o,username:d.value,usernameField:d.name,password:m.value,passwordField:m.name,formSubmitURL:s})}}else i("(form submission ignored -- invalid hostname)")},_fillForm:function(e,n,t,r,o,s){var a=this._getFormFields(e,!1),u=a[0],f=a[1];if(null==f)return[!1,s];if(f.disabled||f.readOnly)return i("not filling form, password field disabled or read-only"),[!1,s];var d=Number.MAX_VALUE,m=Number.MAX_VALUE;u&&u.maxLength>=0&&(d=u.maxLength),f.maxLength>=0&&(m=f.maxLength);var c=(s=function(e,n){var t,r,i;if(null==e)throw new TypeError("Array is null or not defined");var o=Object(e),s=o.length>>>0;if("function"!=typeof n)throw new TypeError(n+" is not a function");arguments.length>1&&(t=e);r=new Array(s),i=0;for(;i3?(n("(form ignored -- too many password fields. [ got ",r.length),null):r},_isUsernameFieldType:function(e){if(!(e instanceof HTMLInputElement))return!1;var n=e.hasAttribute("type")?e.getAttribute("type").toLowerCase():e.type;return"text"==n||"email"==n||"url"==n||"tel"==n||"number"==n},_getFormFields:function(e,t){var r,o,i=null,s=this._getPasswordFields(e,t);if(!s)return[null,null,null];for(var a=s[0].index-1;a>=0;a--){var u=e.elements[a];if(this._isUsernameFieldType(u)){i=u;break}}if(i||n("(form -- no username field found)"),!t||1==s.length)return[i,s[0].element,null];var l=s[0].element.value,f=s[1].element.value,d=s[2]?s[2].element.value:null;if(3==s.length)if(l==f&&f==d)o=s[0].element,r=null;else if(l==f)o=s[0].element,r=s[2].element;else if(f==d)r=s[0].element,o=s[2].element;else{if(l!=d)return n("(form ignored -- all 3 pw fields differ)"),[null,null,null];o=s[0].element,r=s[1].element}else l==f?(o=s[0].element,r=null):(r=s[0].element,o=s[1].element);return[i,o,r]},_isAutocompleteDisabled:function(e){return!(!e||!e.hasAttribute("autocomplete")||"off"!=e.getAttribute("autocomplete").toLowerCase())},_onFormSubmit:function(e){var t=e.ownerDocument,r=t.defaultView;var i=o._getPasswordOrigin(t.documentURI);if(i){var s=o._getActionOrigin(e),a=this._getFormFields(e,!0),u=a[0],l=a[1],f=a[2];if(null!=l){this._isAutocompleteDisabled(e)||this._isAutocompleteDisabled(u)||this._isAutocompleteDisabled(l)||this._isAutocompleteDisabled(f),0;var d=u?{name:u.name,value:u.value}:null,c={name:l.name,value:l.value};f&&(f.name,f.value),r.opener&&r.opener.top;webkit.messageHandlers.loginsManagerMessageHandler.postMessage({type:"submit",hostname:i,username:d.value,usernameField:d.name,password:c.value,passwordField:c.name,formSubmitURL:s})}}else n("(form submission ignored -- invalid hostname)")},_fillForm:function(e,t,r,o,i,s){var a=this._getFormFields(e,!1),u=a[0],f=a[1];if(null==f)return[!1,s];if(f.disabled||f.readOnly)return n("not filling form, password field disabled or read-only"),[!1,s];var d=Number.MAX_VALUE,c=Number.MAX_VALUE;u&&u.maxLength>=0&&(d=u.maxLength),f.maxLength>=0&&(c=f.maxLength);var m=(s=function(e,n){var t,r,o;if(null==e)throw new TypeError("Array is null or not defined");var i=Object(e),s=i.length>>>0;if("function"!=typeof n)throw new TypeError(n+" is not a function");arguments.length>1&&(t=e);r=new Array(s),o=0;for(;o2BR0px_iw z7sn8f&bLz?`5F{>Sa$C_vi$4Ie<^ztnl?^p5)ewB9G5avk&9!J(dKO{zr$glSWva30 VEalY(fD@8!QMj-Jg)o0qaCawy%vag-3Z#o;IGQGE-2gO@U|w~UuBU!gL>sJrh>$0;VdkIybS9Y z*eWxVp2de68n5PKP-d7XE8O51z5i1Agt*W57H`{^(o)CJ^Xc7ArLBv<6dhICV4|1T z$y@O^Lo6=qx<%_Zt{LH%4^8}#))>@~Q8B$iT!s0bZUXD6CVim`O{s^(xiwTTJ#c0b z5z73K$mG^(@FRe6sf&h9@y)muyy95KI&fr0Uj zr;B4q#hkadF7_TW;9*O6Uczk1C4GRS2Z#d9b_C{$n0?s0<)~=noNd%#Bb%-sIwvX&HJa{cu@$;T{J3GN<{m#8@bMremCxky%^j{si z@FH`^0Yi2v(+L`L6dkTHcO8*rOEKM$F=wH}EylD1l6+UJFX&k4Ijm(q*YcR{O2-to z zTNjvfU}n_0yQ~4{8;li~9zNMNMMzyZC~A(5$I3z@g{8+k-EOh?sa#4cSTw<`Rk+A` zN^jC{@1+Nwa~4Q#buT=5JYb^8jlPT6)j7fv%#D2-1zA|h?J)@ph54Y{Mz zf_v*sKPf#umYZt-eQI6atXZjgYrHg{TG{tb-ZjHf=eHr_t>O>c`vn*{87JT*Cdf~} XkZfgjtXLD67#KWV{an^LB{Ts5%}e6u literal 0 HcmV?d00001 diff --git a/Client/Assets/Images.xcassets/topTabs-closeTabs.imageset/Contents.json b/Client/Assets/Images.xcassets/topTabs-closeTabs.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Assets/Images.xcassets/topTabs-closeTabs.imageset/closeTab.png b/Client/Assets/Images.xcassets/topTabs-closeTabs.imageset/closeTab.png old mode 100644 new mode 100755 diff --git a/Client/Assets/Images.xcassets/topTabs-closeTabs.imageset/closeTab@2x.png b/Client/Assets/Images.xcassets/topTabs-closeTabs.imageset/closeTab@2x.png old mode 100644 new mode 100755 diff --git a/Client/Assets/Images.xcassets/topTabs-closeTabs.imageset/closeTab@3x.png b/Client/Assets/Images.xcassets/topTabs-closeTabs.imageset/closeTab@3x.png old mode 100644 new mode 100755 diff --git a/Client/Assets/Images.xcassets/tracking-protection-off.imageset/Contents.json b/Client/Assets/Images.xcassets/tracking-protection-off.imageset/Contents.json new file mode 100755 index 000000000..ea460dff9 --- /dev/null +++ b/Client/Assets/Images.xcassets/tracking-protection-off.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "trackingprotection-off-medium.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "trackingprotection-off-medium@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "trackingprotection-off-medium@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Client/Assets/Images.xcassets/tracking-protection-off.imageset/trackingprotection-off-medium.png b/Client/Assets/Images.xcassets/tracking-protection-off.imageset/trackingprotection-off-medium.png new file mode 100755 index 0000000000000000000000000000000000000000..0a56b18101db4c46907075adb54696b994d74646 GIT binary patch literal 402 zcmV;D0d4+?P)KmC> z?gkmboq+u)ok$cFrvcKh5+Dp&$Gek6%RxkVWIR2T{VxQbTN5FK9*DsFjKG^tAAytR z2%JP@bcsZyNMH@fow>4n#R}B*)_C~Lo$9-MWv>}FUR?o@GB>@Mi$F5(dSFugq~or@ zv;=g#0uK2$ERYY@#8MYUE(d!K-O2;-0(_~lHSl4vziv~HTsx>Dze}J&-V7^n28R$* zqoyJ^*g~)n5RoYxMs;h$bKW&L+$}olGg&tc@)?`g7Orip?zpsG!nC4;?=sA;ns*8! z^%dZfD}IyV;-Y{S4L6ea8E$YfjUxMnCI|O!aNVr}8|u$r`01z>_4UzQVM|~pm~YF` wIg>fZYvj!{Xo&7J;yupY?`4qxpZ-F81Djy|#e{3TY5)KL07*qoM6N<$f`j+1>i_@% literal 0 HcmV?d00001 diff --git a/Client/Assets/Images.xcassets/tracking-protection-off.imageset/trackingprotection-off-medium@2x.png b/Client/Assets/Images.xcassets/tracking-protection-off.imageset/trackingprotection-off-medium@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..d0d0d5ec4e993c0dfed57e1a0f5f4d59facd0065 GIT binary patch literal 698 zcmV;r0!96aP)rg0BF~ag`gZ}?VL-&r;?=}0nhaoz!_XZ zQo=&;9e~$c63CiK6yOPo>2!AjO7MS+KnD1~LqGyP;4?~Km({2-rUUTix%5s%ZHe!j z6SyUKV4wZK&AddDwNJ{8))pv{YUV%jd z-mUuU*c+1&7+3vfaXvt1(#+dL?2SnX^s9aox#lxX*|9!Olm7frk>2Ka!aQLg24znMdUu5Na{_Tmnn*4%;bE)25uV z$syo4lTKOFvDQm8Q-y$nq~sfd_`iQiQ-7gJ8UOq2Ft1`Q|2#7Ao+|J1suS4T{{2_V gJAtF^PT*+!22P4?!H0i2jQ{`u07*qoM6N<$g11FIssI20 literal 0 HcmV?d00001 diff --git a/Client/Assets/Images.xcassets/tracking-protection-off.imageset/trackingprotection-off-medium@3x.png b/Client/Assets/Images.xcassets/tracking-protection-off.imageset/trackingprotection-off-medium@3x.png new file mode 100755 index 0000000000000000000000000000000000000000..32453ba5f9e2eb9fd4c432c743e1383d7b3475ad GIT binary patch literal 1133 zcmV-z1d{uSP)%>#k!26#p79bjpavc8x4c!=Ytf99`(OTg?4X7c1L8J9di5o#p;&o>L7x+%nLO8Mz zI7@c!^e|%X5g#qj5+AsLc7fxc0N&t1%$}P7!1ZA%+1y7iKO_C+-bpKyw$8bulC5MB zoF3EBa|X~zv+*rWHFoe1(lGAr!GvRssX0-;2%te{+u%Oa7In56a5~%uhcq!0#CMD* zV*SXqEdoapI8BW9(%c+zFh_jxnx%C3Y$lSwB;Jo1T>bINde{d zIjaKdLnmlkDCyb>Wx*jILMxSQe>D3b;GuJ*5#!9Ttub0P6X)jdgUI>NL$@Qx4vD6< zhVmw4Ut(LDN%w){ue3m)a_vwmaH#ITfzv5|{3j`(ZsJ^f{f8!=vHdd5=|eklPPT6+ z`6PsP2`t8U6fW?2h-mjA!=D}1J^J~J)NamXwF?}7f!`kLvFyb24dKyCzU!Ou#wy4^ zXi|%ugy?YqDzWWM$GWxQkRQj1`noLJnT~OzXbw1Sq)u`4WCJ1x-&cfFN1E0lyAA~> zQ=(`NII(`mYSgLWG_75$iz82xkecp%_hIkH~VYyIL)FbuObS~DMhPEnAI8s2Z5}dJ7r=yY*Ewe^W z4xowwX9}iPInD(~1ZeQ!HpNN!Nn~m>;gk!2x4FP%0UA7flhW=f>Qb9pO6gMST^*1B zXfCM5z+B5BKgoO)EsgHsn`-no7Vuz>j=62Dp;Z9gIpAS6xP5UC+F)FWgBkB|{MO1eQta3-j` zK}PTf?2ph5#Ym13zy(4;5F8%wP7f-gs%#lAo3j6hz-uibA}x@Bc}~EGrBA@w#t58M zbu1F8YBqp9pbw6H}@01@7IV#Pwhwis$cxDDZdsBGRoT3D~S3G67Yc+-Jk(fY(G*;V5p=$>uJ) zS%@ywE(*+~z0F@s%p%e_?5&}~eNJ5O^e30)pQ-eLVP<@~$yb`@;ELuaVTc0c9egNq zRRkJfvcd`2&4doK3z%lLfO9uFhlA~PPyT#Ngm-I|fD;)VSsddM`CS1g)B{IHd<6P6 hwb}o{7V-R#-7ljm(Rdc>(u4p2002ovPDHLkV1jI{rZNBk literal 0 HcmV?d00001 diff --git a/Client/Assets/Images.xcassets/tracking-protection.imageset/trackingprotection-medium@2x.png b/Client/Assets/Images.xcassets/tracking-protection.imageset/trackingprotection-medium@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..3e83b7b2388e8833a1f5a15209f4655164855b03 GIT binary patch literal 702 zcmV;v0zv(WP)bWCAP{|I^8c=bP{MT((m_hFgp^<@Dd9T!NC%cc zIxrQGAFSVSE5fQoa~axRU6doA(Hh7g5|18|bgDB%M@j}R6>n87oE=b3iC0O(v;m6G^^Y4Tr0utOkg5faqp z3@W8GLe3ZjQA0kZ{G8~XowB#23cX-SvJpt2=QfK^HrIm9RlaJieT?hog@oVEoYCD`1}wJ$P0-J9d?mlB77y>STG8-HGa;}@v* z5BR7_hS{Fv5F;y~w656#B@U7h`ec0*o!fbIiZHCteUBg!;8^qke<1#axOvjJK5BXBrZfG)fL^77#Yv*{>G@ zyBg!scVb>M1T+bPUE&i=KT|-Lu-jA@ka6~&7}0l$fcSS)gHl_-B{AJ25s{F$ndEy2 zzsM~TkO?J^P>HnQd5!6+B@Ug%0y3lbe>PG=cxXvx@y7%RM0m=VmRc%zR+C>PAPT2c zPDoq7By6e)5X5w@iE`%01w=v&Wd9*t0hn5TXa7S}0<9_y!b?rlWkjS6aWAK07*qoM6N<$f>Fc5|xW%B>%AnqWfg1Cdb5-5QZQUWDV0wwq= z2z21G8C&&>%etsd{LWJwrnEmeMfTiSqUR|OPM1r$&P6i@{e zPz4lF1r$&P6wvo28#l(RfVEtW`~^4yz5G2|YtKvA2VfpClQzbzffdl=Ks3N_Wi{_O zXg$yYXKU>-kA;3^1!RnAxdOO&#m{UFjO)bJ+j^k4)^@onPXc6&*#K`i7(X)EluI8t zXa{TUKDribt@^?NIRf^JTt{FX(^s_z8Dko0@I`gw^7_O<>NPjT0P4^u*g3i+VTeoO zv)ZuMwwfDMfMhiKt2An;Ph{w3kXU_BRlK#~b{eoI&3k`oMnCO5sGa$}6L7{2$32lF zi-7B;o*Uhbm@RG^F=xbVaSvvew18Hg@(*B(15tc#0^kEKUfuwE#y!o~hf(F4N%z*; zL#DctBoF9lj5(4ak3G|?#tLY)Nwl;c0%(wITW)9CPd`;C21sVvTgty`6jjOPj)pG| z2kLrIP!&)>6;MDGP(T$>Kw3b(r@X|QcdC3g^_og@0s2bnHD4|nVvFrWoZTGfGxeIE)^indT!3Gmz>hBNymiPr>DG)sH>D(Pr1)_uVMiCa?99C-Frm+ zIpkY4ROiJQK)t7YJyNz*q8_saBBm)7P(U$&I#2nFESS&vZZU}szLm;OTVKu`1b4|% zMvPNL8!2ihJ}aMtf})AL>BF@ERj&`_=Pt z7gJ{}ps78u&F~+2YLD`w&BSMM`*tx$LS#R`XZ)zi8CZ>cf7WrC1bbG}_E^1rY`rNj ztG*}lg4^!7*CwH@IojeMz2bL$6P{Ru-xGXZw4Jyo+Jl((9t$+l{fxa)4BJl_b%?kp z7SLg$&V5oJ69G+mkp(uM`*yhi;X-%HhG_3e1{CV7xc%taK-}Ta|H4Aq_Bs$+yX5|5 z0JOqCqIvVt;NCyOPAc1-g46rjeJCI?whg#>@RX^9%3k3)p=m>#rEfVZ5u>Ljf{myilQ1PgRo`;-~bYKH4y^20_^?=bpKNgUG0t|Gtok+X*#x&u@nT;I4`bie&L;qqJl&C1-w@4{_r zhMVg;kU6Z1hS&(GE%U=fbDe>0ar;X*AdngY?_kPnPl0^17@&-x9tP%eJ>(~u_mZX2 zH{9?YO5`UTn1fYr8|Tm>fNl(Muv)Gs?&122pl%5$LoE*I*;UUd22=qBQ~?E40R>b6 j1ylhAQ~?E40R{9AVgC7@Fj34&00000NkvXXu0mjfrW63- literal 0 HcmV?d00001 diff --git a/Client/Assets/MainFrameAtDocumentEnd.js b/Client/Assets/MainFrameAtDocumentEnd.js old mode 100644 new mode 100755 index 007009982..77208a5ba --- a/Client/Assets/MainFrameAtDocumentEnd.js +++ b/Client/Assets/MainFrameAtDocumentEnd.js @@ -1 +1 @@ -!function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=15)}([function(t,e){var r;r=function(){return this}();try{r=r||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(r=window)}t.exports=r},,,,,,,,,,,,,,,function(t,e,r){r(16),r(17),r(18),t.exports=r(19)},function(t,e){!function(){"use strict";Object.defineProperty(window.__firefox__,"searchQueryForField",{enumerable:!1,configurable:!1,writable:!1,value:function(){var t=document.activeElement;if("input"!==t.tagName.toLowerCase())return null;var e=t.form;if(!e||"get"!=e.method.toLowerCase())return null;var r=e.getElementsByTagName("input"),n=(r=Array.prototype.slice.call(r,0)).map(function(e){return e.name==t.name?[e.name,"{searchTerms}"].join("="):[e.name,e.value].map(encodeURIComponent).join("=")}),o=e.getElementsByTagName("select"),a=(o=Array.prototype.slice.call(o,0)).map(function(t){return[t.name,t.options[t.selectedIndex].value].map(encodeURIComponent).join("=")});return n=n.concat(a),e.action?[e.action,n.join("&")].join("?"):null}})}()},function(t,e){!function(){"use strict";var t,e,r=!1,n="#f19750",o="#ffde49",a=5,s=400,i=60,l=null,h=0,u=[];function c(t){r&&console.log("FindInPage: "+t)}function f(t){var e=t.parentNode;if(e){for(;t.firstChild;)e.insertBefore(t.firstChild,t);t.remove(),e.normalize()}}function p(){if(u.length>0){for(var t of u)f(t);u=[]}l=null}function m(t){if(c("Searching: "+t),p(),t.trim()){var e=document.createRange(),r=function(t){for(var e,r,n,o,a,s,i=t.toLocaleLowerCase(),l=t.toLocaleUpperCase(),h=[],u=document.createRange(),c=document.createTreeWalker(document.body,NodeFilter.SHOW_TEXT,null,!1),f=t.length;e=c.nextNode();){var p=e.textContent;t:for(var m=0;m0&&r.height>0&&o>=0&&s>=0&&n<=document.body.scrollWidth&&a<=document.body.scrollHeight)&&(h.push({node:e,index:m}),m+=f-1)}}return h}(t),n=document.createElement("span");n.style.backgroundColor=o;for(var a=r.length-1;a>=0;--a){var s=r[a],i=n.cloneNode();e.setStart(s.node,s.index),e.setEnd(s.node,s.index+t.length),e.surroundContents(i),u.unshift(i)}c(r.length+" highlighted rects created!"),webkit.messageHandlers.findInPageHandler.postMessage({totalResults:r.length})}else webkit.messageHandlers.findInPageHandler.postMessage({totalResults:0})}function d(){if(l&&(l.style.backgroundColor=o),u.length){(l=u[h]).style.backgroundColor=n;var t=l.getBoundingClientRect(),r=i+t.top+scrollY-window.innerHeight/2,f=t.left+scrollX-window.innerWidth/2;(function(t,r,n){var o=0,s=scrollX,i=scrollY;clearInterval(e),e=setInterval(function(){var l=g(o,s,t-s,n),h=g(o,i,r-i,n);window.scrollTo(l,h),(o+=a)>=n&&clearInterval(e)},a)})(f=v(f,0,document.body.scrollWidth),r=v(r,0,document.body.scrollHeight),s),c("Scrolled to: "+f+", "+r)}}function g(t,e,r,n){return r*(Math.pow(t/n-1,3)+1)+e}function v(t,e,r){return Math.max(e,Math.min(t,r))}function b(e){if(t==e){var r=u.length;h=(h+r)%r}else{var n=null;if(l&&(n=l.getBoundingClientRect()),m(e),h=0,n)for(var o=0;o=n.left||a.top>n.top){h=o;break}}t=e}var s=u.length?h+1:0;webkit.messageHandlers.findInPageHandler.postMessage({currentResult:s}),d()}Object.defineProperty(window.__firefox__,"find",{enumerable:!1,configurable:!1,writable:!1,value:function(t){b(t)}}),Object.defineProperty(window.__firefox__,"findNext",{enumerable:!1,configurable:!1,writable:!1,value:function(t){h++,b(t)}}),Object.defineProperty(window.__firefox__,"findPrevious",{enumerable:!1,configurable:!1,writable:!1,value:function(t){h--,b(t)}}),Object.defineProperty(window.__firefox__,"findDone",{enumerable:!1,configurable:!1,writable:!1,value:function(){p(),t=null}})}()},function(t,e){!function(){"use strict";window.addEventListener("FirefoxAccountsCommand",function(t){webkit.messageHandlers.accountsCommandHandler.postMessage({type:t.type,detail:t.detail})})}()},function(t,e,r){!function(){"use strict";var t=r(20);Object.defineProperty(window.__firefox__,"metadata",{enumerable:!1,configurable:!1,writable:!1,value:Object.freeze(new function(t){var e=/^\s*data:([a-z]+\/[a-z]+(;[a-z\-]+\=[a-z\-]+)?)?(;base64)?,[a-z0-9\!\$\&\'\,\(\)\*\+\,\;\=\-\.\_\~\:\@\/\?\%\s]*\s*$/i;function r(t){window.__firefox__.pageMetadata=t,webkit.messageHandlers.metadataMessageHandler.postMessage(t)}this.extractMetadata=function(){var n,o,a,s=t.getMetadata(window.document,document.URL),i=s.image;i?i.match(e)?(s.image_data_uri=i,r(s)):(n=i,o=function(t){t&&(s.image_data_uri=t),r(s)},(a=new Image).onload=function(){try{var t=document.createElement("canvas");t.width=this.naturalWidth,t.height=this.naturalHeight,t.getContext("2d").drawImage(this,0,0);var e=t.toDataURL();o(e)}catch(t){o(!1)}},a.src=n):r(s)}}(t))}),t=void 0}()},function(t,e,r){const{makeUrlAbsolute:n,parseUrl:o}=r(21);function a(t){return t.replace(/www[a-zA-Z0-9]*\./,"").replace(".co.",".").split(".").slice(0,-1).join(" ")}function s(t){return(e,r)=>{let n,o=0;for(let r=0;ro&&(o=a,n=s(e))}}if(!n&&t.defaultValue&&(n=t.defaultValue(r)),n){if(t.processors)for(const e of t.processors)n=e(n,r);return n.trim&&(n=n.trim()),n}}}const i={description:{rules:[['meta[property="og:description"]',t=>t.getAttribute("content")],['meta[name="description"]',t=>t.getAttribute("content")]]},icon:{rules:[['link[rel="apple-touch-icon"]',t=>t.getAttribute("href")],['link[rel="apple-touch-icon-precomposed"]',t=>t.getAttribute("href")],['link[rel="icon"]',t=>t.getAttribute("href")],['link[rel="fluid-icon"]',t=>t.getAttribute("href")],['link[rel="shortcut icon"]',t=>t.getAttribute("href")],['link[rel="Shortcut Icon"]',t=>t.getAttribute("href")],['link[rel="mask-icon"]',t=>t.getAttribute("href")]],scorers:[(t,e)=>{const r=t.getAttribute("sizes");if(r){const t=r.match(/\d+/g);if(t)return t.reduce((t,e)=>t*e)}}],defaultValue:t=>"favicon.ico",processors:[(t,e)=>n(e.url,t)]},image:{rules:[['meta[property="og:image:secure_url"]',t=>t.getAttribute("content")],['meta[property="og:image:url"]',t=>t.getAttribute("content")],['meta[property="og:image"]',t=>t.getAttribute("content")],['meta[name="twitter:image"]',t=>t.getAttribute("content")],['meta[property="twitter:image"]',t=>t.getAttribute("content")],['meta[name="thumbnail"]',t=>t.getAttribute("content")]],processors:[(t,e)=>n(e.url,t)]},keywords:{rules:[['meta[name="keywords"]',t=>t.getAttribute("content")]],processors:[(t,e)=>t.split(",").map(t=>t.trim())]},title:{rules:[['meta[property="og:title"]',t=>t.getAttribute("content")],['meta[name="twitter:title"]',t=>t.getAttribute("content")],['meta[property="twitter:title"]',t=>t.getAttribute("content")],['meta[name="hdl"]',t=>t.getAttribute("content")],["title",t=>t.text]]},type:{rules:[['meta[property="og:type"]',t=>t.getAttribute("content")]]},url:{rules:[['meta[property="og:url"]',t=>t.getAttribute("content")],['link[rel="canonical"]',t=>t.getAttribute("href")]],defaultValue:t=>t.url,processors:[(t,e)=>n(e.url,t)]},provider:{rules:[['meta[property="og:site_name"]',t=>t.getAttribute("content")]],defaultValue:t=>a(o(t.url))}};t.exports={buildRuleSet:s,getMetadata:function(t,e,r){const n={},o={url:e},a=r||i;return Object.keys(a).map(e=>{const r=s(a[e]);n[e]=r(t,o)}),n},getProvider:a,metadataRuleSets:i}},function(t,e,r){(function(e){if(void 0!==e.URL)t.exports={makeUrlAbsolute:(t,e)=>new URL(e,t).href,parseUrl:t=>new URL(t).host};else{const e=r(22);t.exports={makeUrlAbsolute:(t,r)=>null===e.parse(r).host?e.resolve(t,r):r,parseUrl:t=>e.parse(t).hostname}}}).call(e,r(0))},function(t,e,r){"use strict";var n=r(23),o=r(25);function a(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}e.parse=y,e.resolve=function(t,e){return y(t,!1,!0).resolve(e)},e.resolveObject=function(t,e){return t?y(t,!1,!0).resolveObject(e):e},e.format=function(t){o.isString(t)&&(t=y(t));return t instanceof a?t.format():a.prototype.format.call(t)},e.Url=a;var s=/^([a-z0-9.+-]+:)/i,i=/:[0-9]*$/,l=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,h=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),u=["'"].concat(h),c=["%","/","?",";","#"].concat(u),f=["/","?","#"],p=/^[+a-z0-9A-Z_-]{0,63}$/,m=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,d={javascript:!0,"javascript:":!0},g={javascript:!0,"javascript:":!0},v={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},b=r(26);function y(t,e,r){if(t&&o.isObject(t)&&t instanceof a)return t;var n=new a;return n.parse(t,e,r),n}a.prototype.parse=function(t,e,r){if(!o.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var a=t.indexOf("?"),i=-1!==a&&a127?S+="x":S+=q[H];if(!S.match(p)){var N=U.slice(0,k),M=U.slice(k+1),E=q.match(m);E&&(N.push(E[1]),M.unshift(E[2])),M.length&&(y="/"+M.join(".")+y),this.hostname=N.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),R||(this.hostname=n.toASCII(this.hostname));var z=this.port?":"+this.port:"",T=this.hostname||"";this.host=T+z,this.href+=this.host,R&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==y[0]&&(y="/"+y))}if(!d[j])for(k=0,P=u.length;k0)&&r.host.split("@"))&&(r.auth=R.shift(),r.host=r.hostname=R.shift());return r.search=t.search,r.query=t.query,o.isNull(r.pathname)&&o.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r}if(!A.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var C=A.slice(-1)[0],_=(r.host||t.host||A.length>1)&&("."===C||".."===C)||""===C,k=0,I=A.length;I>=0;I--)"."===(C=A[I])?A.splice(I,1):".."===C?(A.splice(I,1),k++):k&&(A.splice(I,1),k--);if(!x&&!j)for(;k--;k)A.unshift("..");!x||""===A[0]||A[0]&&"/"===A[0].charAt(0)||A.unshift(""),_&&"/"!==A.join("/").substr(-1)&&A.push("");var R,U=""===A[0]||A[0]&&"/"===A[0].charAt(0);O&&(r.hostname=r.host=U?"":A.length?A.shift():"",(R=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=R.shift(),r.host=r.hostname=R.shift()));return(x=x||r.host&&A.length)&&!U&&A.unshift(""),A.length?r.pathname=A.join("/"):(r.pathname=null,r.path=null),o.isNull(r.pathname)&&o.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},a.prototype.parseHost=function(){var t=this.host,e=i.exec(t);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)}},function(t,e,r){(function(t,n){var o;!function(a){"object"==typeof e&&e&&e.nodeType,"object"==typeof t&&t&&t.nodeType;var s="object"==typeof n&&n;s.global!==s&&s.window!==s&&s.self;var i,l=2147483647,h=36,u=1,c=26,f=38,p=700,m=72,d=128,g="-",v=/^xn--/,b=/[^\x20-\x7E]/,y=/[\x2E\u3002\uFF0E\uFF61]/g,w={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},x=h-u,j=Math.floor,A=String.fromCharCode;function O(t){throw new RangeError(w[t])}function C(t,e){for(var r=t.length,n=[];r--;)n[r]=e(t[r]);return n}function _(t,e){var r=t.split("@"),n="";return r.length>1&&(n=r[0]+"@",t=r[1]),n+C((t=t.replace(y,".")).split("."),e).join(".")}function k(t){for(var e,r,n=[],o=0,a=t.length;o=55296&&e<=56319&&o65535&&(e+=A((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+=A(t)}).join("")}function R(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function U(t,e,r){var n=0;for(t=r?j(t/p):t>>1,t+=j(t/e);t>x*c>>1;n+=h)t=j(t/x);return j(n+(x+1)*t/(t+f))}function P(t){var e,r,n,o,a,s,i,f,p,v,b,y=[],w=t.length,x=0,A=d,C=m;for((r=t.lastIndexOf(g))<0&&(r=0),n=0;n=128&&O("not-basic"),y.push(t.charCodeAt(n));for(o=r>0?r+1:0;o=w&&O("invalid-input"),((f=(b=t.charCodeAt(o++))-48<10?b-22:b-65<26?b-65:b-97<26?b-97:h)>=h||f>j((l-x)/s))&&O("overflow"),x+=f*s,!(f<(p=i<=C?u:i>=C+c?c:i-C));i+=h)s>j(l/(v=h-p))&&O("overflow"),s*=v;C=U(x-a,e=y.length+1,0==a),j(x/e)>l-A&&O("overflow"),A+=j(x/e),x%=e,y.splice(x++,0,A)}return I(y)}function q(t){var e,r,n,o,a,s,i,f,p,v,b,y,w,x,C,_=[];for(y=(t=k(t)).length,e=d,r=0,a=m,s=0;s=e&&bj((l-r)/(w=n+1))&&O("overflow"),r+=(i-e)*w,e=i,s=0;sl&&O("overflow"),b==e){for(f=r,p=h;!(f<(v=p<=a?u:p>=a+c?c:p-a));p+=h)C=f-v,x=h-v,_.push(A(R(v+C%x,0))),f=j(C/x);_.push(A(R(f,0))),a=U(r,w,n==o),r=0,++n}++r,++e}return _.join("")}i={version:"1.4.1",ucs2:{decode:k,encode:I},decode:P,encode:q,toASCII:function(t){return _(t,function(t){return b.test(t)?"xn--"+q(t):t})},toUnicode:function(t){return _(t,function(t){return v.test(t)?P(t.slice(4).toLowerCase()):t})}},void 0===(o=function(){return i}.call(e,r,e,t))||(t.exports=o)}()}).call(e,r(24)(t),r(0))},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,r){"use strict";t.exports={isString:function(t){return"string"==typeof t},isObject:function(t){return"object"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},function(t,e,r){"use strict";e.decode=e.parse=r(27),e.encode=e.stringify=r(28)},function(t,e,r){"use strict";function n(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,e,r,a){e=e||"&",r=r||"=";var s={};if("string"!=typeof t||0===t.length)return s;var i=/\+/g;t=t.split(e);var l=1e3;a&&"number"==typeof a.maxKeys&&(l=a.maxKeys);var h=t.length;l>0&&h>l&&(h=l);for(var u=0;u=0?(c=d.substr(0,g),f=d.substr(g+1)):(c=d,f=""),p=decodeURIComponent(c),m=decodeURIComponent(f),n(s,p)?o(s[p])?s[p].push(m):s[p]=[s[p],m]:s[p]=m}return s};var o=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}},function(t,e,r){"use strict";var n=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}};t.exports=function(t,e,r,i){return e=e||"&",r=r||"=",null===t&&(t=void 0),"object"==typeof t?a(s(t),function(s){var i=encodeURIComponent(n(s))+r;return o(t[s])?a(t[s],function(t){return i+encodeURIComponent(n(t))}).join(e):i+encodeURIComponent(n(t[s]))}).join(e):i?encodeURIComponent(n(i))+r+encodeURIComponent(n(t)):""};var o=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function a(t,e){if(t.map)return t.map(e);for(var r=[],n=0;n0){var g=n.substring(l,p.index);h.appendChild(document.createTextNode(g))}var v=d.cloneNode(!1);if(v.textContent=m,h.appendChild(v),s.push(v),l=o.lastIndex,f=!0,s.length>r){u=!0;break}}if(f){if(lo&&(o=v,i=c(g))}}catch(t){f=!0,p=t}finally{try{!h&&d.return&&d.return()}finally{if(f)throw p}}}}if(!i&&t.defaultValue&&(i=t.defaultValue(n)),i){if(t.processors){var O=!0,_=!1,C=void 0;try{for(var k,I=t.processors[Symbol.iterator]();!(O=(k=I.next()).done);O=!0){i=(0,k.value)(i,n)}}catch(t){_=!0,C=t}finally{try{!O&&I.return&&I.return()}finally{if(_)throw C}}}return i.trim&&(i=i.trim()),i}}}var c={description:{rules:[['meta[property="og:description"]',function(t){return t.getAttribute("content")}],['meta[name="description"]',function(t){return t.getAttribute("content")}]]},icon:{rules:[['link[rel="apple-touch-icon"]',function(t){return t.getAttribute("href")}],['link[rel="apple-touch-icon-precomposed"]',function(t){return t.getAttribute("href")}],['link[rel="icon"]',function(t){return t.getAttribute("href")}],['link[rel="fluid-icon"]',function(t){return t.getAttribute("href")}],['link[rel="shortcut icon"]',function(t){return t.getAttribute("href")}],['link[rel="Shortcut Icon"]',function(t){return t.getAttribute("href")}],['link[rel="mask-icon"]',function(t){return t.getAttribute("href")}]],scorers:[function(t,e){var n=t.getAttribute("sizes");if(n){var r=n.match(/\d+/g);if(r)return r.reduce(function(t,e){return t*e})}}],defaultValue:function(t){return"favicon.ico"},processors:[function(t,e){return i(e.url,t)}]},image:{rules:[['meta[property="og:image:secure_url"]',function(t){return t.getAttribute("content")}],['meta[property="og:image:url"]',function(t){return t.getAttribute("content")}],['meta[property="og:image"]',function(t){return t.getAttribute("content")}],['meta[name="twitter:image"]',function(t){return t.getAttribute("content")}],['meta[property="twitter:image"]',function(t){return t.getAttribute("content")}],['meta[name="thumbnail"]',function(t){return t.getAttribute("content")}]],processors:[function(t,e){return i(e.url,t)}]},keywords:{rules:[['meta[name="keywords"]',function(t){return t.getAttribute("content")}]],processors:[function(t,e){return t.split(",").map(function(t){return t.trim()})}]},title:{rules:[['meta[property="og:title"]',function(t){return t.getAttribute("content")}],['meta[name="twitter:title"]',function(t){return t.getAttribute("content")}],['meta[property="twitter:title"]',function(t){return t.getAttribute("content")}],['meta[name="hdl"]',function(t){return t.getAttribute("content")}],["title",function(t){return t.text}]]},type:{rules:[['meta[property="og:type"]',function(t){return t.getAttribute("content")}]]},url:{rules:[["a.amp-canurl",function(t){return t.getAttribute("href")}],['link[rel="canonical"]',function(t){return t.getAttribute("href")}],['meta[property="og:url"]',function(t){return t.getAttribute("content")}]],defaultValue:function(t){return t.url},processors:[function(t,e){return i(e.url,t)}]},provider:{rules:[['meta[property="og:site_name"]',function(t){return t.getAttribute("content")}]],defaultValue:function(t){return s(a(t.url))}}};t.exports={buildRuleSet:u,getMetadata:function(t,e,n){var r={},o={url:e},i=n||c;return Object.keys(i).map(function(e){var n=u(i[e]);r[e]=n(t,o)}),r},getProvider:s,metadataRuleSets:c}},function(t,e,n){"use strict";(function(e){if(void 0!==e.URL)t.exports={makeUrlAbsolute:function(t,e){return new URL(e,t).href},parseUrl:function(t){return new URL(t).host}};else{var r=n(23);t.exports={makeUrlAbsolute:function(t,e){return null===r.parse(e).host?r.resolve(t,e):e},parseUrl:function(t){return r.parse(t).hostname}}}}).call(e,n(1))},function(t,e,n){"use strict";var r=n(24),o=n(25);function i(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}e.parse=y,e.resolve=function(t,e){return y(t,!1,!0).resolve(e)},e.resolveObject=function(t,e){return t?y(t,!1,!0).resolveObject(e):e},e.format=function(t){o.isString(t)&&(t=y(t));return t instanceof i?t.format():i.prototype.format.call(t)},e.Url=i;var a=/^([a-z0-9.+-]+:)/i,s=/:[0-9]*$/,u=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,c=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),l=["'"].concat(c),h=["%","/","?",";","#"].concat(l),f=["/","?","#"],p=/^[+a-z0-9A-Z_-]{0,63}$/,m=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,d={javascript:!0,"javascript:":!0},g={javascript:!0,"javascript:":!0},v={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},b=n(26);function y(t,e,n){if(t&&o.isObject(t)&&t instanceof i)return t;var r=new i;return r.parse(t,e,n),r}i.prototype.parse=function(t,e,n){if(!o.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var i=t.indexOf("?"),s=-1!==i&&i127?P+="x":P+=N[S];if(!P.match(p)){var H=U.slice(0,k),E=U.slice(k+1),F=N.match(m);F&&(H.push(F[1]),E.unshift(F[2])),E.length&&(y="/"+E.join(".")+y),this.hostname=H.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),R||(this.hostname=r.toASCII(this.hostname));var M=this.port?":"+this.port:"",L=this.hostname||"";this.host=L+M,this.href+=this.host,R&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==y[0]&&(y="/"+y))}if(!d[A])for(k=0,q=l.length;k0)&&n.host.split("@"))&&(n.auth=R.shift(),n.host=n.hostname=R.shift());return n.search=t.search,n.query=t.query,o.isNull(n.pathname)&&o.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!j.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var _=j.slice(-1)[0],C=(n.host||t.host||j.length>1)&&("."===_||".."===_)||""===_,k=0,I=j.length;I>=0;I--)"."===(_=j[I])?j.splice(I,1):".."===_?(j.splice(I,1),k++):k&&(j.splice(I,1),k--);if(!x&&!A)for(;k--;k)j.unshift("..");!x||""===j[0]||j[0]&&"/"===j[0].charAt(0)||j.unshift(""),C&&"/"!==j.join("/").substr(-1)&&j.push("");var R,U=""===j[0]||j[0]&&"/"===j[0].charAt(0);O&&(n.hostname=n.host=U?"":j.length?j.shift():"",(R=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=R.shift(),n.host=n.hostname=R.shift()));return(x=x||n.host&&j.length)&&!U&&j.unshift(""),j.length?n.pathname=j.join("/"):(n.pathname=null,n.path=null),o.isNull(n.pathname)&&o.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=t.auth||n.auth,n.slashes=n.slashes||t.slashes,n.href=n.format(),n},i.prototype.parseHost=function(){var t=this.host,e=s.exec(t);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)}},function(t,e,n){(function(t,r){var o;!function(i){"object"==typeof e&&e&&e.nodeType,"object"==typeof t&&t&&t.nodeType;var a="object"==typeof r&&r;a.global!==a&&a.window!==a&&a.self;var s,u=2147483647,c=36,l=1,h=26,f=38,p=700,m=72,d=128,g="-",v=/^xn--/,b=/[^\x20-\x7E]/,y=/[\x2E\u3002\uFF0E\uFF61]/g,w={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},x=c-l,A=Math.floor,j=String.fromCharCode;function O(t){throw new RangeError(w[t])}function _(t,e){for(var n=t.length,r=[];n--;)r[n]=e(t[n]);return r}function C(t,e){var n=t.split("@"),r="";return n.length>1&&(r=n[0]+"@",t=n[1]),r+_((t=t.replace(y,".")).split("."),e).join(".")}function k(t){for(var e,n,r=[],o=0,i=t.length;o=55296&&e<=56319&&o65535&&(e+=j((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+=j(t)}).join("")}function R(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function U(t,e,n){var r=0;for(t=n?A(t/p):t>>1,t+=A(t/e);t>x*h>>1;r+=c)t=A(t/x);return A(r+(x+1)*t/(t+f))}function q(t){var e,n,r,o,i,a,s,f,p,v,b,y=[],w=t.length,x=0,j=d,_=m;for((n=t.lastIndexOf(g))<0&&(n=0),r=0;r=128&&O("not-basic"),y.push(t.charCodeAt(r));for(o=n>0?n+1:0;o=w&&O("invalid-input"),((f=(b=t.charCodeAt(o++))-48<10?b-22:b-65<26?b-65:b-97<26?b-97:c)>=c||f>A((u-x)/a))&&O("overflow"),x+=f*a,!(f<(p=s<=_?l:s>=_+h?h:s-_));s+=c)a>A(u/(v=c-p))&&O("overflow"),a*=v;_=U(x-i,e=y.length+1,0==i),A(x/e)>u-j&&O("overflow"),j+=A(x/e),x%=e,y.splice(x++,0,j)}return I(y)}function N(t){var e,n,r,o,i,a,s,f,p,v,b,y,w,x,_,C=[];for(y=(t=k(t)).length,e=d,n=0,i=m,a=0;a=e&&bA((u-n)/(w=r+1))&&O("overflow"),n+=(s-e)*w,e=s,a=0;au&&O("overflow"),b==e){for(f=n,p=c;!(f<(v=p<=i?l:p>=i+h?h:p-i));p+=c)_=f-v,x=c-v,C.push(j(R(v+_%x,0))),f=A(_/x);C.push(j(R(f,0))),i=U(n,w,r==o),n=0,++r}++n,++e}return C.join("")}s={version:"1.4.1",ucs2:{decode:k,encode:I},decode:q,encode:N,toASCII:function(t){return C(t,function(t){return b.test(t)?"xn--"+N(t):t})},toUnicode:function(t){return C(t,function(t){return v.test(t)?q(t.slice(4).toLowerCase()):t})}},void 0===(o=function(){return s}.call(e,n,e,t))||(t.exports=o)}()}).call(e,n(0)(t),n(1))},function(t,e,n){"use strict";t.exports={isString:function(t){return"string"==typeof t},isObject:function(t){return"object"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}}},function(t,e,n){"use strict";e.decode=e.parse=n(27),e.encode=e.stringify=n(28)},function(t,e,n){"use strict";t.exports=function(t,e,n,o){e=e||"&",n=n||"=";var i={};if("string"!=typeof t||0===t.length)return i;var a=/\+/g;t=t.split(e);var s=1e3;o&&"number"==typeof o.maxKeys&&(s=o.maxKeys);var u,c,l=t.length;s>0&&l>s&&(l=s);for(var h=0;h=0?(f=g.substr(0,v),p=g.substr(v+1)):(f=g,p=""),m=decodeURIComponent(f),d=decodeURIComponent(p),u=i,c=m,Object.prototype.hasOwnProperty.call(u,c)?r(i[m])?i[m].push(d):i[m]=[i[m],d]:i[m]=d}return i};var r=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}},function(t,e,n){"use strict";var r=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}};t.exports=function(t,e,n,s){return e=e||"&",n=n||"=",null===t&&(t=void 0),"object"==typeof t?i(a(t),function(a){var s=encodeURIComponent(r(a))+n;return o(t[a])?i(t[a],function(t){return s+encodeURIComponent(r(t))}).join(e):s+encodeURIComponent(r(t[a]))}).join(e):s?encodeURIComponent(r(s))+n+encodeURIComponent(r(t)):""};var o=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function i(t,e){if(t.map)return t.map(e);for(var n=[],r=0;r img:only-child, .content p > a:only-child > img:only-child, .content .wp-caption img, .content figure img";function o(t){e&&console.log(t)}function s(e){null!=i&&document.body.classList.remove(i.theme),document.body.classList.add(e.theme),null!=i&&document.body.classList.remove("font-size"+i.fontSize),document.body.classList.add("font-size"+e.fontSize),null!=i&&document.body.classList.remove(i.fontType),document.body.classList.add(e.fontType),i=e}function l(){s(JSON.parse(document.body.getAttribute("data-readerStyle"))),document.getElementById("reader-message").style.display="none",document.getElementById("reader-header").style.display="block",document.getElementById("reader-content").style.display="block",function(){for(var e=document.getElementById("reader-content"),t=window.innerWidth,n=e.offsetWidth,i=t+"px !important",a=function(e){e._originalWidth||(e._originalWidth=e.offsetWidth);var a=e._originalWidth;a.55*t&&(a=t);var r=Math.max((n-t)/2,(n-a)/2)+"px !important",o="max-width: "+i+";width: "+a+"px !important;margin-left: "+r+";margin-right: "+r+";";e.style.cssText=o},o=document.querySelectorAll(r),s=o.length;--s>=0;){var l=o[s];l.width>0?a(l):l.onload=function(){a(l)}}}()}Object.defineProperty(window.__firefox__,"reader",{enumerable:!1,configurable:!1,writable:!1,value:Object.freeze({checkReadability:function(){if(document.location.href.match(a))return o({Type:"ReaderModeStateChange",Value:"Active"}),void webkit.messageHandlers.readerModeMessageHandler.postMessage({Type:"ReaderModeStateChange",Value:"Active"});if(("http:"===document.location.protocol||"https:"===document.location.protocol)&&"/"!==document.location.pathname){if(t&&t.content)return o({Type:"ReaderModeStateChange",Value:"Available"}),void webkit.messageHandlers.readerModeMessageHandler.postMessage({Type:"ReaderModeStateChange",Value:"Available"});var e=n(14),i={spec:document.location.href,host:document.location.host,prePath:document.location.protocol+"//"+document.location.host,scheme:document.location.protocol.substr(0,document.location.protocol.indexOf(":")),pathBase:document.location.protocol+"//"+document.location.host+location.pathname.substr(0,location.pathname.lastIndexOf("/")+1)},r=(new XMLSerializer).serializeToString(document),s=new e(i,(new DOMParser).parseFromString(r,"text/html"));return o({Type:"ReaderModeStateChange",Value:null!==(t=s.parse())?"Available":"Unavailable"}),void webkit.messageHandlers.readerModeMessageHandler.postMessage({Type:"ReaderModeStateChange",Value:null!==t?"Available":"Unavailable"})}o({Type:"ReaderModeStateChange",Value:"Unavailable"}),webkit.messageHandlers.readerModeMessageHandler.postMessage({Type:"ReaderModeStateChange",Value:"Unavailable"})},readerize:function(){return t},setStyle:s})}),window.addEventListener("load",function(e){document.location.href.match(a)&&l()}),window.addEventListener("pageshow",function(e){document.location.href.match(a)&&webkit.messageHandlers.readerModeMessageHandler.postMessage({Type:"ReaderPageEvent",Value:"PageShow"})})}()},function(e,t,n){function i(e,t,n){var i;n=n||{},this._uri=e,this._doc=t,this._articleTitle=null,this._articleByline=null,this._articleDir=null,this._debug=!!n.debug,this._maxElemsToParse=n.maxElemsToParse||this.DEFAULT_MAX_ELEMS_TO_PARSE,this._nbTopCandidates=n.nbTopCandidates||this.DEFAULT_N_TOP_CANDIDATES,this._wordThreshold=n.wordThreshold||this.DEFAULT_WORD_THRESHOLD,this._classesToPreserve=this.CLASSES_TO_PRESERVE.concat(n.classesToPreserve||[]),this._flags=this.FLAG_STRIP_UNLIKELYS|this.FLAG_WEIGHT_CLASSES|this.FLAG_CLEAN_CONDITIONALLY,this._debug?(i=function(e){var t=e.nodeName+" ";if(e.nodeType==e.TEXT_NODE)return t+'("'+e.textContent+'")';var n=e.className&&"."+e.className.replace(/ /g,"."),i="";return e.id?i="(#"+e.id+n+")":n&&(i="("+n+")"),t+i},this.log=function(){if("undefined"!=typeof dump){var e=Array.prototype.map.call(arguments,function(e){return e&&e.nodeName?i(e):e}).join(" ");dump("Reader: (Readability) "+e+"\n")}else if("undefined"!=typeof console){var t=["Reader: (Readability) "].concat(arguments);console.log.apply(console,t)}}):this.log=function(){}}i.prototype={FLAG_STRIP_UNLIKELYS:1,FLAG_WEIGHT_CLASSES:2,FLAG_CLEAN_CONDITIONALLY:4,DEFAULT_MAX_ELEMS_TO_PARSE:0,DEFAULT_N_TOP_CANDIDATES:5,DEFAULT_TAGS_TO_SCORE:"section,h2,h3,h4,h5,h6,p,td,pre".toUpperCase().split(","),DEFAULT_WORD_THRESHOLD:500,REGEXPS:{unlikelyCandidates:/banner|breadcrumbs|combx|comment|community|cover-wrap|disqus|extra|foot|header|legends|menu|related|remark|replies|rss|shoutbox|sidebar|skyscraper|social|sponsor|supplemental|ad-break|agegate|pagination|pager|popup|yom-remote/i,okMaybeItsACandidate:/and|article|body|column|main|shadow/i,positive:/article|body|content|entry|hentry|h-entry|main|page|pagination|post|text|blog|story/i,negative:/hidden|^hid$| hid$| hid |^hid |banner|combx|comment|com-|contact|foot|footer|footnote|masthead|media|meta|outbrain|promo|related|scroll|share|shoutbox|sidebar|skyscraper|sponsor|shopping|tags|tool|widget/i,extraneous:/print|archive|comment|discuss|e[\-]?mail|share|reply|all|login|sign|single|utility/i,byline:/byline|author|dateline|writtenby|p-author/i,replaceFonts:/<(\/?)font[^>]*>/gi,normalize:/\s{2,}/g,videos:/\/\/(www\.)?(dailymotion|youtube|youtube-nocookie|player\.vimeo)\.com/i,nextLink:/(next|weiter|continue|>([^\|]|$)|»([^\|]|$))/i,prevLink:/(prev|earl|old|new|<|«)/i,whitespace:/^\s*$/,hasContent:/\S$/},DIV_TO_P_ELEMS:["A","BLOCKQUOTE","DL","DIV","IMG","OL","P","PRE","TABLE","UL","SELECT"],ALTER_TO_DIV_EXCEPTIONS:["DIV","ARTICLE","SECTION","P"],PRESENTATIONAL_ATTRIBUTES:["align","background","bgcolor","border","cellpadding","cellspacing","frame","hspace","rules","style","valign","vspace"],DEPRECATED_SIZE_ATTRIBUTE_ELEMS:["TABLE","TH","TD","HR","PRE"],CLASSES_TO_PRESERVE:["readability-styled","page"],_postProcessContent:function(e){this._fixRelativeUris(e),this._cleanClasses(e)},_removeNodes:function(e,t){for(var n=e.length-1;n>=0;n--){var i=e[n],a=i.parentNode;a&&(t&&!t.call(this,i,n,e)||a.removeChild(i))}},_replaceNodeTags:function(e,t){for(var n=e.length-1;n>=0;n--){var i=e[n];this._setNodeTag(i,t)}},_forEachNode:function(e,t){Array.prototype.forEach.call(e,t,this)},_someNode:function(e,t){return Array.prototype.some.call(e,t,this)},_concatNodeLists:function(){var e=Array.prototype.slice,t=e.call(arguments).map(function(t){return e.call(t)});return Array.prototype.concat.apply([],t)},_getAllNodesWithTag:function(e,t){return e.querySelectorAll?e.querySelectorAll(t.join(",")):[].concat.apply([],t.map(function(t){var n=e.getElementsByTagName(t);return Array.isArray(n)?n:Array.from(n)}))},_cleanClasses:function(e){var t=this._classesToPreserve,n=(e.getAttribute("class")||"").split(/\s+/).filter(function(e){return-1!=t.indexOf(e)}).join(" ");for(n?e.setAttribute("class",n):e.removeAttribute("class"),e=e.firstElementChild;e;e=e.nextElementSibling)this._cleanClasses(e)},_fixRelativeUris:function(e){var t=this._uri.scheme,n=this._uri.prePath,i=this._uri.pathBase;function a(e){return/^[a-zA-Z][a-zA-Z0-9\+\-\.]*:/.test(e)?e:"//"==e.substr(0,2)?t+"://"+e.substr(2):"/"==e[0]?n+e:0===e.indexOf("./")?i+e.slice(2):"#"==e[0]?e:i+e}var r=e.getElementsByTagName("a");this._forEachNode(r,function(e){var t=e.getAttribute("href");if(t)if(0===t.indexOf("javascript:")){var n=this._doc.createTextNode(e.textContent);e.parentNode.replaceChild(n,e)}else e.setAttribute("href",a(t))});var o=e.getElementsByTagName("img");this._forEachNode(o,function(e){var t=e.getAttribute("src");t&&e.setAttribute("src",a(t))})},_getArticleTitle:function(){var e=this._doc,t="",n="";try{"string"!=typeof(t=n=e.title)&&(t=n=this._getInnerText(e.getElementsByTagName("title")[0]))}catch(e){}var i=!1;function a(e){return e.split(/\s+/).length}if(/ [\|\-\\\/>»] /.test(t))i=/ [\\\/>»] /.test(t),a(t=n.replace(/(.*)[\|\-\\\/>»] .*/gi,"$1"))<3&&(t=n.replace(/[^\|\-\\\/>»]*[\|\-\\\/>»](.*)/gi,"$1"));else if(-1!==t.indexOf(": ")){var r=this._concatNodeLists(e.getElementsByTagName("h1"),e.getElementsByTagName("h2"));this._someNode(r,function(e){return e.textContent===t})||(a(t=n.substring(n.lastIndexOf(":")+1))<3?t=n.substring(n.indexOf(":")+1):a(n.substr(0,n.indexOf(":")))>5&&(t=n))}else if(t.length>150||t.length<15){var o=e.getElementsByTagName("h1");1===o.length&&(t=this._getInnerText(o[0]))}var s=a(t=t.trim());return s<=4&&(!i||s!=a(n.replace(/[\|\-\\\/>»]+/g,""))-1)&&(t=n),t},_prepDocument:function(){var e=this._doc;this._removeNodes(e.getElementsByTagName("style")),e.body&&this._replaceBrs(e.body),this._replaceNodeTags(e.getElementsByTagName("font"),"SPAN")},_nextElement:function(e){for(var t=e;t&&t.nodeType!=Node.ELEMENT_NODE&&this.REGEXPS.whitespace.test(t.textContent);)t=t.nextSibling;return t},_replaceBrs:function(e){this._forEachNode(this._getAllNodesWithTag(e,["br"]),function(e){for(var t=e.nextSibling,n=!1;(t=this._nextElement(t))&&"BR"==t.tagName;){n=!0;var i=t.nextSibling;t.parentNode.removeChild(t),t=i}if(n){var a=this._doc.createElement("p");for(e.parentNode.replaceChild(a,e),t=a.nextSibling;t;){if("BR"==t.tagName){var r=this._nextElement(t);if(r&&"BR"==r.tagName)break}var o=t.nextSibling;a.appendChild(t),t=o}}})},_setNodeTag:function(e,t){if(this.log("_setNodeTag",e,t),e.__JSDOMParser__)return e.localName=t.toLowerCase(),e.tagName=t.toUpperCase(),e;for(var n=e.ownerDocument.createElement(t);e.firstChild;)n.appendChild(e.firstChild);e.parentNode.replaceChild(n,e),e.readability&&(n.readability=e.readability);for(var i=0;i0?t[0].textContent.includes(this._articleTitle):this._articleTitle.includes(t[0].textContent))&&this._clean(e,"h2")}}this._clean(e,"iframe"),this._clean(e,"input"),this._clean(e,"textarea"),this._clean(e,"select"),this._clean(e,"button"),this._cleanHeaders(e),this._cleanConditionally(e,"table"),this._cleanConditionally(e,"ul"),this._cleanConditionally(e,"div"),this._removeNodes(e.getElementsByTagName("p"),function(e){return 0===e.getElementsByTagName("img").length+e.getElementsByTagName("embed").length+e.getElementsByTagName("object").length+e.getElementsByTagName("iframe").length&&!this._getInnerText(e,!1)}),this._forEachNode(this._getAllNodesWithTag(e,["br"]),function(e){var t=this._nextElement(e.nextSibling);t&&"P"==t.tagName&&e.parentNode.removeChild(e)})},_initializeNode:function(e){switch(e.readability={contentScore:0},e.tagName){case"DIV":e.readability.contentScore+=5;break;case"PRE":case"TD":case"BLOCKQUOTE":e.readability.contentScore+=3;break;case"ADDRESS":case"OL":case"UL":case"DL":case"DD":case"DT":case"LI":case"FORM":e.readability.contentScore-=3;break;case"H1":case"H2":case"H3":case"H4":case"H5":case"H6":case"TH":e.readability.contentScore-=5}e.readability.contentScore+=this._getClassWeight(e)},_removeAndGetNext:function(e){var t=this._getNextNode(e,!0);return e.parentNode.removeChild(e),t},_getNextNode:function(e,t){if(!t&&e.firstElementChild)return e.firstElementChild;if(e.nextElementSibling)return e.nextElementSibling;do{e=e.parentNode}while(e&&!e.nextElementSibling);return e&&e.nextElementSibling},_getNextNodeNoElementProperties:function(e,t){function n(e){do{e=e.nextSibling}while(e&&e.nodeType!==e.ELEMENT_NODE);return e}if(!t&&e.children[0])return e.children[0];var i=n(e);if(i)return i;do{(e=e.parentNode)&&(i=n(e))}while(e&&!i);return e&&i},_checkByline:function(e,t){if(this._articleByline)return!1;if(void 0!==e.getAttribute)var n=e.getAttribute("rel");return!("author"!==n&&!this.REGEXPS.byline.test(t)||!this._isValidByline(e.textContent))&&(this._articleByline=e.textContent.trim(),!0)},_getNodeAncestors:function(e,t){t=t||0;for(var n=0,i=[];e.parentNode&&(i.push(e.parentNode),!t||++n!==t);)e=e.parentNode;return i},_grabArticle:function(e){this.log("**** grabArticle ****");var t=this._doc,n=null!==e;if(!(e=e||this._doc.body))return this.log("No body found in document. Abort."),null;for(var i=e.innerHTML;;){for(var a=this._flagIsActive(this.FLAG_STRIP_UNLIKELYS),r=[],o=this._doc.documentElement;o;){var s=o.className+" "+o.id;if(this._checkByline(o,s))o=this._removeAndGetNext(o);else if(a&&this.REGEXPS.unlikelyCandidates.test(s)&&!this.REGEXPS.okMaybeItsACandidate.test(s)&&"BODY"!==o.tagName&&"A"!==o.tagName)this.log("Removing unlikely candidate - "+s),o=this._removeAndGetNext(o);else if("DIV"!==o.tagName&&"SECTION"!==o.tagName&&"HEADER"!==o.tagName&&"H1"!==o.tagName&&"H2"!==o.tagName&&"H3"!==o.tagName&&"H4"!==o.tagName&&"H5"!==o.tagName&&"H6"!==o.tagName||!this._isElementWithoutContent(o)){if(-1!==this.DEFAULT_TAGS_TO_SCORE.indexOf(o.tagName)&&r.push(o),"DIV"===o.tagName)if(this._hasSinglePInsideElement(o)){var l=o.children[0];o.parentNode.replaceChild(l,o),o=l,r.push(o)}else this._hasChildBlockElement(o)?this._forEachNode(o.childNodes,function(e){if(e.nodeType===Node.TEXT_NODE&&e.textContent.trim().length>0){var n=t.createElement("p");n.textContent=e.textContent,n.style.display="inline",n.className="readability-styled",o.replaceChild(n,e)}}):(o=this._setNodeTag(o,"P"),r.push(o));o=this._getNextNode(o)}else o=this._removeAndGetNext(o)}var c=[];this._forEachNode(r,function(e){if(e.parentNode&&void 0!==e.parentNode.tagName){var t=this._getInnerText(e);if(!(t.length<25)){var n=this._getNodeAncestors(e,3);if(0!==n.length){var i=0;i+=1,i+=t.split(",").length,i+=Math.min(Math.floor(t.length/100),3),this._forEachNode(n,function(e,t){if(e.tagName){if(void 0===e.readability&&(this._initializeNode(e),c.push(e)),0===t)var n=1;else n=1===t?2:3*t;e.readability.contentScore+=i/n}})}}}});for(var d=[],h=0,g=c.length;h_.readability.contentScore){d.splice(f,0,u),d.length>this._nbTopCandidates&&d.pop();break}}}var p,b=d[0]||null,y=!1;if(null===b||"BODY"===b.tagName){b=t.createElement("DIV"),y=!0;for(var E=e.childNodes;E.length;)this.log("Moving child out:",E[0]),b.appendChild(E[0]);e.appendChild(b),this._initializeNode(b)}else if(b){for(var N=[],v=1;v=.75&&N.push(this._getNodeAncestors(d[v]));if(N.length>=3)for(p=b.parentNode;"BODY"!==p.tagName;){for(var T=0,A=0;A=3){b=p;break}p=p.parentNode}b.readability||this._initializeNode(b),p=b.parentNode;for(var S=b.readability.contentScore,C=S/3;"BODY"!==p.tagName;)if(p.readability){var x=p.readability.contentScore;if(xS){b=p;break}S=p.readability.contentScore,p=p.parentNode}else p=p.parentNode;for(p=b.parentNode;"BODY"!=p.tagName&&1==p.children.length;)p=(b=p).parentNode;b.readability||this._initializeNode(b)}var L=t.createElement("DIV");n&&(L.id="readability-content");for(var w=Math.max(10,.2*b.readability.contentScore),I=(p=b.parentNode).children,M=0,O=I.length;M=w)R=!0;else if("P"===D.nodeName){var P=this._getLinkDensity(D),k=this._getInnerText(D),H=k.length;H>80&&P<.25?R=!0:H<80&&H>0&&0===P&&-1!==k.search(/\.( |$)/)&&(R=!0)}}R&&(this.log("Appending node:",D),-1===this.ALTER_TO_DIV_EXCEPTIONS.indexOf(D.nodeName)&&(this.log("Altering sibling:",D,"to div."),D=this._setNodeTag(D,"DIV")),L.appendChild(D),M-=1,O-=1)}if(this._debug&&this.log("Article content pre-prep: "+L.innerHTML),this._prepArticle(L),this._debug&&this.log("Article content post-prep: "+L.innerHTML),y)b.id="readability-page-1",b.className="page";else{var G=t.createElement("DIV");G.id="readability-page-1",G.className="page";for(var F=L.childNodes;F.length;)G.appendChild(F[0]);L.appendChild(G)}if(this._debug&&this.log("Article content after paging: "+L.innerHTML),!(this._getInnerText(L,!0).length0&&e.length<100)},_getArticleMetadata:function(){var e={},t={},n=this._doc.getElementsByTagName("meta"),i=/^\s*((twitter)\s*:\s*)?(description|title)\s*$/gi,a=/^\s*og\s*:\s*(description|title)\s*$/gi;return this._forEachNode(n,function(n){var r=n.getAttribute("name"),o=n.getAttribute("property");if(-1===[r,o].indexOf("author")){var s=null;if(i.test(r)?s=r:a.test(o)&&(s=o),s){var l=n.getAttribute("content");l&&(s=s.toLowerCase().replace(/\s/g,""),t[s]=l.trim())}}else e.byline=n.getAttribute("content")}),"description"in t?e.excerpt=t.description:"og:description"in t?e.excerpt=t["og:description"]:"twitter:description"in t&&(e.excerpt=t["twitter:description"]),e.title=this._getArticleTitle(),e.title||("og:title"in t?e.title=t["og:title"]:"twitter:title"in t&&(e.title=t["twitter:title"])),e},_removeScripts:function(e){this._removeNodes(e.getElementsByTagName("script"),function(e){return e.nodeValue="",e.removeAttribute("src"),!0}),this._removeNodes(e.getElementsByTagName("noscript"))},_hasSinglePInsideElement:function(e){return 1==e.children.length&&"P"===e.children[0].tagName&&!this._someNode(e.childNodes,function(e){return e.nodeType===Node.TEXT_NODE&&this.REGEXPS.hasContent.test(e.textContent)})},_isElementWithoutContent:function(e){return e.nodeType===Node.ELEMENT_NODE&&0==e.textContent.trim().length&&(0==e.children.length||e.children.length==e.getElementsByTagName("br").length+e.getElementsByTagName("hr").length)},_hasChildBlockElement:function(e){return this._someNode(e.childNodes,function(e){return-1!==this.DIV_TO_P_ELEMS.indexOf(e.tagName)||this._hasChildBlockElement(e)})},_getInnerText:function(e,t){t=void 0===t||t;var n=e.textContent.trim();return t?n.replace(this.REGEXPS.normalize," "):n},_getCharCount:function(e,t){return t=t||",",this._getInnerText(e).split(t).length-1},_cleanStyles:function(e){if(e&&"svg"!==e.tagName.toLowerCase()){if("readability-styled"!==e.className){for(var t=0;t0&&a>n)return!1;if(e.parentNode.tagName===t&&(!i||i(e.parentNode)))return!0;e=e.parentNode,a++}return!1},_getRowAndColumnCount:function(e){for(var t=0,n=0,i=e.getElementsByTagName("tr"),a=0;a0)i._readabilityDataTable=!0;else{if(["col","colgroup","tfoot","thead","th"].some(function(e){return!!i.getElementsByTagName(e)[0]}))this.log("Data table because found data-y descendant"),i._readabilityDataTable=!0;else if(i.getElementsByTagName("table")[0])i._readabilityDataTable=!1;else{var r=this._getRowAndColumnCount(i);r.rows>=10||r.columns>4?i._readabilityDataTable=!0:i._readabilityDataTable=r.rows*r.columns>10}}}else i._readabilityDataTable=!1;else i._readabilityDataTable=!1}},_cleanConditionally:function(e,t){if(this._flagIsActive(this.FLAG_CLEAN_CONDITIONALLY)){var n="ul"===t||"ol"===t;this._removeNodes(e.getElementsByTagName(t),function(e){if(this._hasAncestorTag(e,"table",-1,function(e){return e._readabilityDataTable}))return!1;var t=this._getClassWeight(e);if(this.log("Cleaning Conditionally",e),t+0<0)return!0;if(this._getCharCount(e,",")<10){for(var i=e.getElementsByTagName("p").length,a=e.getElementsByTagName("img").length,r=e.getElementsByTagName("li").length-100,o=e.getElementsByTagName("input").length,s=0,l=e.getElementsByTagName("embed"),c=0,d=l.length;c1&&i/a<.5&&!this._hasAncestorTag(e,"figure")||!n&&r>i||o>Math.floor(i/3)||!n&&g<25&&(0===a||a>2)&&!this._hasAncestorTag(e,"figure")||!n&&t<25&&h>.2||t>=25&&h>.5||1===s&&g<75||s>1}return!1})}},_cleanMatchedNodes:function(e,t){for(var n=this._getNextNode(e,!0),i=this._getNextNode(e);i&&i!=n;)i=t.test(i.className+" "+i.id)?this._removeAndGetNext(i):this._getNextNode(i)},_cleanHeaders:function(e){for(var t=1;t<3;t+=1)this._removeNodes(e.getElementsByTagName("h"+t),function(e){return this._getClassWeight(e)<0})},_flagIsActive:function(e){return(this._flags&e)>0},_removeFlag:function(e){this._flags=this._flags&~e},isProbablyReaderable:function(e){var t=this._getAllNodesWithTag(this._doc,["p","pre"]),n=this._getAllNodesWithTag(this._doc,["div > br"]);if(n.length){var i=new Set;[].forEach.call(n,function(e){i.add(e.parentNode)}),t=[].concat.apply(Array.from(i),t)}var a=0;return this._someNode(t,function(t){if(e&&!e(t))return!1;var n=t.className+" "+t.id;if(this.REGEXPS.unlikelyCandidates.test(n)&&!this.REGEXPS.okMaybeItsACandidate.test(n))return!1;if(t.matches&&t.matches("li p"))return!1;var i=t.textContent.trim().length;return!(i<140)&&(a+=Math.sqrt(i-140))>20})},parse:function(){if(this._maxElemsToParse>0){var e=this._doc.getElementsByTagName("*").length;if(e>this._maxElemsToParse)throw new Error("Aborting parsing document; "+e+" elements found")}void 0===this._doc.documentElement.firstElementChild&&(this._getNextNode=this._getNextNodeNoElementProperties),this._removeScripts(this._doc),this._prepDocument();var t=this._getArticleMetadata();this._articleTitle=t.title;var n=this._grabArticle();if(!n)return null;if(this.log("Grabbed: "+n.innerHTML),this._postProcessContent(n),!t.excerpt){var i=n.getElementsByTagName("p");i.length>0&&(t.excerpt=i[0].textContent.trim())}var a=n.textContent;return{uri:this._uri,title:this._articleTitle,byline:t.byline||this._articleByline,dir:this._articleDir,content:n.innerHTML,textContent:a,length:a.length,excerpt:t.excerpt}}},e.exports=i}]); \ No newline at end of file +!function(e){var t={};function n(i){if(t[i])return t[i].exports;var a=t[i]={i:i,l:!1,exports:{}};return e[i].call(a.exports,a,a.exports,n),a.l=!0,a.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:i})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=10)}([function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},,,,,,,,,,function(e,t,n){n(11),n(12),n(13),n(14),e.exports=n(16)},function(e,t,n){"use strict";var i=window.history.pushState,a=window.history.replaceState;window.history.pushState=function(e,t,n){i.apply(this,arguments),webkit.messageHandlers.historyStateHelper.postMessage({pushState:!0,state:e,title:t,url:n})},window.history.replaceState=function(e,t,n){a.apply(this,arguments),webkit.messageHandlers.historyStateHelper.postMessage({replaceState:!0,state:e,title:t,url:n})}},function(e,t,n){"use strict";Object.defineProperty(window.__firefox__,"NightMode",{enumerable:!1,configurable:!1,writable:!1,value:{enabled:!1}});var i,a="brightness(80%) invert(100%) hue-rotate(180deg)",r="html {\n -webkit-filter: hue-rotate(180deg) invert(100%) !important;\n}\nimg,video {\n -webkit-filter: "+a+" !important;\n}";function o(e){e.querySelectorAll('[style*="background"]').forEach(function(e){var t;(e.style.backgroundImage||"").startsWith("url")&&(t=e,l.push(t),t.__firefox__NightMode_originalFilter=t.style.webkitFilter,t.style.webkitFilter=a)})}function s(e){e.style.webkitFilter=e.__firefox__NightMode_originalFilter,delete e.__firefox__NightMode_originalFilter}var l=null,c=new MutationObserver(function(e){e.forEach(function(e){e.addedNodes.forEach(function(e){e.nodeType===Node.ELEMENT_NODE&&o(e)})})});Object.defineProperty(window.__firefox__.NightMode,"setEnabled",{enumerable:!1,configurable:!1,writable:!1,value:function(e){if(e!==window.__firefox__.NightMode.enabled){window.__firefox__.NightMode.enabled=e;var t=i||((i=document.createElement("style")).type="text/css",i.appendChild(document.createTextNode(r)),i);if(e)return l=[],document.documentElement.appendChild(t),o(document),void c.observe(document.documentElement,{childList:!0,subtree:!0});c.disconnect(),l.forEach(s);var n=t.parentNode;n&&n.removeChild(t),l=null,"rgba(0, 0, 0, 0)"===getComputedStyle(document.documentElement)["background-color"]&&(document.documentElement.style.backgroundColor="#fff")}}})},function(e,t,n){"use strict";Object.defineProperty(window.__firefox__,"NoImageMode",{enumerable:!1,configurable:!1,writable:!1,value:{enabled:!1}});var i="__firefox__NoImageMode";Object.defineProperty(window.__firefox__.NoImageMode,"setEnabled",{enumerable:!1,configurable:!1,writable:!1,value:function(e){if(e!==window.__firefox__.NoImageMode.enabled)if(window.__firefox__.NoImageMode.enabled=e,e)!function(){var e="*{background-image:none !important;}img,iframe{visibility:hidden !important;}",t=document.getElementById(i);if(t)t.innerHTML=e;else{var n=document.createElement("style");n.type="text/css",n.id=i,n.appendChild(document.createTextNode(e)),document.documentElement.appendChild(n)}}();else{var t=document.getElementById(i);t&&t.remove(),[].slice.apply(document.getElementsByTagName("img")).forEach(function(e){var t=e.src;e.src="",e.src=t}),[].slice.apply(document.querySelectorAll('[style*="background"]')).forEach(function(e){var t=e.style.backgroundImage;e.style.backgroundImage="none",e.style.backgroundImage=t}),[].slice.apply(document.styleSheets).forEach(function(e){[].slice.apply(e.rules||[]).forEach(function(e){var t=e.style;if(t){var n=t.backgroundImage;t.backgroundImage="none",t.backgroundImage=n}})})}}}),window.addEventListener("DOMContentLoaded",function(e){window.__firefox__.NoImageMode.setEnabled(window.__firefox__.NoImageMode.enabled)})},function(e,t,n){"use strict";var i=!1,a=null,r=null,o=/^http:\/\/localhost:\d+\/reader-mode\/page/,s=".content p > img:only-child, .content p > a:only-child > img:only-child, .content .wp-caption img, .content figure img";function l(e){i&&console.log(e)}function c(e){r&&r.theme&&document.body.classList.remove(r.theme),e&&e.theme&&document.body.classList.add(e.theme),r&&r.fontSize&&document.body.classList.remove("font-size"+r.fontSize),e&&e.fontSize&&document.body.classList.add("font-size"+e.fontSize),r&&r.fontType&&document.body.classList.remove(r.fontType),e&&e.fontType&&document.body.classList.add(e.fontType),r=e}function d(){c(JSON.parse(document.body.getAttribute("data-readerStyle"))),function(){var e=document.getElementById("reader-message");e&&(e.style.display="none");var t=document.getElementById("reader-header");t&&(t.style.display="block");var n=document.getElementById("reader-content");n&&(n.style.display="block")}(),function(){var e=document.getElementById("reader-content");if(e)for(var t=window.innerWidth,n=e.offsetWidth,i=t+"px !important",a=function(e){e._originalWidth||(e._originalWidth=e.offsetWidth);var a=e._originalWidth;a.55*t&&(a=t);var r=Math.max((n-t)/2,(n-a)/2)+"px !important",o="max-width: "+i+";width: "+a+"px !important;margin-left: "+r+";margin-right: "+r+";";e.style.cssText=o},r=document.querySelectorAll(s),o=r.length;--o>=0;){var l=r[o];l.width>0?a(l):l.onload=function(){a(l)}}}()}Object.defineProperty(window.__firefox__,"reader",{enumerable:!1,configurable:!1,writable:!1,value:Object.freeze({checkReadability:function(){setTimeout(function(){if(document.location.href.match(o))return l({Type:"ReaderModeStateChange",Value:"Active"}),void webkit.messageHandlers.readerModeMessageHandler.postMessage({Type:"ReaderModeStateChange",Value:"Active"});if(("http:"===document.location.protocol||"https:"===document.location.protocol)&&"/"!==document.location.pathname){if(a&&a.content)return l({Type:"ReaderModeStateChange",Value:"Available"}),webkit.messageHandlers.readerModeMessageHandler.postMessage({Type:"ReaderModeStateChange",Value:"Available"}),void webkit.messageHandlers.readerModeMessageHandler.postMessage({Type:"ReaderContentParsed",Value:a});var e=n(15),t={spec:document.location.href,host:document.location.host,prePath:document.location.protocol+"//"+document.location.host,scheme:document.location.protocol.substr(0,document.location.protocol.indexOf(":")),pathBase:document.location.protocol+"//"+document.location.host+location.pathname.substr(0,location.pathname.lastIndexOf("/")+1)},r=(new XMLSerializer).serializeToString(document),s=new e(t,(new DOMParser).parseFromString(r,"text/html"),{debug:i});return l({Type:"ReaderModeStateChange",Value:null!==(a=s.parse())?"Available":"Unavailable"}),webkit.messageHandlers.readerModeMessageHandler.postMessage({Type:"ReaderModeStateChange",Value:null!==a?"Available":"Unavailable"}),void webkit.messageHandlers.readerModeMessageHandler.postMessage({Type:"ReaderContentParsed",Value:a})}l({Type:"ReaderModeStateChange",Value:"Unavailable"}),webkit.messageHandlers.readerModeMessageHandler.postMessage({Type:"ReaderModeStateChange",Value:"Unavailable"})},100)},readerize:function(){return a},setStyle:c})}),window.addEventListener("load",function(e){document.location.href.match(o)&&d()}),window.addEventListener("pageshow",function(e){document.location.href.match(o)&&webkit.messageHandlers.readerModeMessageHandler.postMessage({Type:"ReaderPageEvent",Value:"PageShow"})})},function(e,t,n){"use strict";(function(e){var t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function n(e,t,n){var i;n=n||{},this._uri=e,this._doc=t,this._articleTitle=null,this._articleByline=null,this._articleDir=null,this._attempts=[],this._debug=!!n.debug,this._maxElemsToParse=n.maxElemsToParse||this.DEFAULT_MAX_ELEMS_TO_PARSE,this._nbTopCandidates=n.nbTopCandidates||this.DEFAULT_N_TOP_CANDIDATES,this._charThreshold=n.charThreshold||this.DEFAULT_CHAR_THRESHOLD,this._classesToPreserve=this.CLASSES_TO_PRESERVE.concat(n.classesToPreserve||[]),this._flags=this.FLAG_STRIP_UNLIKELYS|this.FLAG_WEIGHT_CLASSES|this.FLAG_CLEAN_CONDITIONALLY,this._debug?(i=function(e){var t=e.nodeName+" ";if(e.nodeType==e.TEXT_NODE)return t+'("'+e.textContent+'")';var n=e.className&&"."+e.className.replace(/ /g,"."),i="";return e.id?i="(#"+e.id+n+")":n&&(i="("+n+")"),t+i},this.log=function(){if("undefined"!=typeof dump){var e=Array.prototype.map.call(arguments,function(e){return e&&e.nodeName?i(e):e}).join(" ");dump("Reader: (Readability) "+e+"\n")}else if("undefined"!=typeof console){var t=["Reader: (Readability) "].concat(arguments);console.log.apply(console,t)}}):this.log=function(){}}n.prototype={FLAG_STRIP_UNLIKELYS:1,FLAG_WEIGHT_CLASSES:2,FLAG_CLEAN_CONDITIONALLY:4,DEFAULT_MAX_ELEMS_TO_PARSE:0,DEFAULT_N_TOP_CANDIDATES:5,DEFAULT_TAGS_TO_SCORE:"section,h2,h3,h4,h5,h6,p,td,pre".toUpperCase().split(","),DEFAULT_CHAR_THRESHOLD:500,REGEXPS:{unlikelyCandidates:/banner|breadcrumbs|combx|comment|community|cover-wrap|disqus|extra|foot|header|legends|menu|related|remark|replies|rss|shoutbox|sidebar|skyscraper|social|sponsor|supplemental|ad-break|agegate|pagination|pager|popup|yom-remote/i,okMaybeItsACandidate:/and|article|body|column|main|shadow/i,positive:/article|body|content|entry|hentry|h-entry|main|page|pagination|post|text|blog|story/i,negative:/hidden|^hid$| hid$| hid |^hid |banner|combx|comment|com-|contact|foot|footer|footnote|masthead|media|meta|outbrain|promo|related|scroll|share|shoutbox|sidebar|skyscraper|sponsor|shopping|tags|tool|widget/i,extraneous:/print|archive|comment|discuss|e[\-]?mail|share|reply|all|login|sign|single|utility/i,byline:/byline|author|dateline|writtenby|p-author/i,replaceFonts:/<(\/?)font[^>]*>/gi,normalize:/\s{2,}/g,videos:/\/\/(www\.)?(dailymotion|youtube|youtube-nocookie|player\.vimeo)\.com/i,nextLink:/(next|weiter|continue|>([^\|]|$)|»([^\|]|$))/i,prevLink:/(prev|earl|old|new|<|«)/i,whitespace:/^\s*$/,hasContent:/\S$/},DIV_TO_P_ELEMS:["A","BLOCKQUOTE","DL","DIV","IMG","OL","P","PRE","TABLE","UL","SELECT"],ALTER_TO_DIV_EXCEPTIONS:["DIV","ARTICLE","SECTION","P"],PRESENTATIONAL_ATTRIBUTES:["align","background","bgcolor","border","cellpadding","cellspacing","frame","hspace","rules","style","valign","vspace"],DEPRECATED_SIZE_ATTRIBUTE_ELEMS:["TABLE","TH","TD","HR","PRE"],CLASSES_TO_PRESERVE:["readability-styled","page"],_postProcessContent:function(e){this._fixRelativeUris(e),this._cleanClasses(e)},_removeNodes:function(e,t){for(var n=e.length-1;n>=0;n--){var i=e[n],a=i.parentNode;a&&(t&&!t.call(this,i,n,e)||a.removeChild(i))}},_replaceNodeTags:function(e,t){for(var n=e.length-1;n>=0;n--){var i=e[n];this._setNodeTag(i,t)}},_forEachNode:function(e,t){Array.prototype.forEach.call(e,t,this)},_someNode:function(e,t){return Array.prototype.some.call(e,t,this)},_concatNodeLists:function(){var e=Array.prototype.slice,t=e.call(arguments).map(function(t){return e.call(t)});return Array.prototype.concat.apply([],t)},_getAllNodesWithTag:function(e,t){return e.querySelectorAll?e.querySelectorAll(t.join(",")):[].concat.apply([],t.map(function(t){var n=e.getElementsByTagName(t);return Array.isArray(n)?n:Array.from(n)}))},_cleanClasses:function(e){var t=this._classesToPreserve,n=(e.getAttribute("class")||"").split(/\s+/).filter(function(e){return-1!=t.indexOf(e)}).join(" ");for(n?e.setAttribute("class",n):e.removeAttribute("class"),e=e.firstElementChild;e;e=e.nextElementSibling)this._cleanClasses(e)},_fixRelativeUris:function(e){var t=this._doc.baseURI,n=this._doc.documentURI;function i(e){if(t==n&&"#"==e.charAt(0))return e;try{return new URL(e,t).href}catch(e){}return e}var a=e.getElementsByTagName("a");this._forEachNode(a,function(e){var t=e.getAttribute("href");if(t)if(0===t.indexOf("javascript:")){var n=this._doc.createTextNode(e.textContent);e.parentNode.replaceChild(n,e)}else e.setAttribute("href",i(t))});var r=e.getElementsByTagName("img");this._forEachNode(r,function(e){var t=e.getAttribute("src");t&&e.setAttribute("src",i(t))})},_getArticleTitle:function(){var e=this._doc,t="",n="";try{"string"!=typeof(t=n=e.title)&&(t=n=this._getInnerText(e.getElementsByTagName("title")[0]))}catch(e){}var i=!1;function a(e){return e.split(/\s+/).length}if(/ [\|\-\\\/>»] /.test(t))i=/ [\\\/>»] /.test(t),a(t=n.replace(/(.*)[\|\-\\\/>»] .*/gi,"$1"))<3&&(t=n.replace(/[^\|\-\\\/>»]*[\|\-\\\/>»](.*)/gi,"$1"));else if(-1!==t.indexOf(": ")){var r=this._concatNodeLists(e.getElementsByTagName("h1"),e.getElementsByTagName("h2"));this._someNode(r,function(e){return e.textContent===t})||(a(t=n.substring(n.lastIndexOf(":")+1))<3?t=n.substring(n.indexOf(":")+1):a(n.substr(0,n.indexOf(":")))>5&&(t=n))}else if(t.length>150||t.length<15){var o=e.getElementsByTagName("h1");1===o.length&&(t=this._getInnerText(o[0]))}var s=a(t=t.trim());return s<=4&&(!i||s!=a(n.replace(/[\|\-\\\/>»]+/g,""))-1)&&(t=n),t},_prepDocument:function(){var e=this._doc;this._removeNodes(e.getElementsByTagName("style")),e.body&&this._replaceBrs(e.body),this._replaceNodeTags(e.getElementsByTagName("font"),"SPAN")},_nextElement:function(e){for(var t=e;t&&t.nodeType!=Node.ELEMENT_NODE&&this.REGEXPS.whitespace.test(t.textContent);)t=t.nextSibling;return t},_replaceBrs:function(e){this._forEachNode(this._getAllNodesWithTag(e,["br"]),function(e){for(var t=e.nextSibling,n=!1;(t=this._nextElement(t))&&"BR"==t.tagName;){n=!0;var i=t.nextSibling;t.parentNode.removeChild(t),t=i}if(n){var a=this._doc.createElement("p");for(e.parentNode.replaceChild(a,e),t=a.nextSibling;t;){if("BR"==t.tagName){var r=this._nextElement(t.nextSibling);if(r&&"BR"==r.tagName)break}var o=t.nextSibling;a.appendChild(t),t=o}}})},_setNodeTag:function(e,t){if(this.log("_setNodeTag",e,t),e.__JSDOMParser__)return e.localName=t.toLowerCase(),e.tagName=t.toUpperCase(),e;for(var n=e.ownerDocument.createElement(t);e.firstChild;)n.appendChild(e.firstChild);e.parentNode.replaceChild(n,e),e.readability&&(n.readability=e.readability);for(var i=0;i0?t[0].textContent.includes(this._articleTitle):this._articleTitle.includes(t[0].textContent))&&this._clean(e,"h2")}}this._clean(e,"iframe"),this._clean(e,"input"),this._clean(e,"textarea"),this._clean(e,"select"),this._clean(e,"button"),this._cleanHeaders(e),this._cleanConditionally(e,"table"),this._cleanConditionally(e,"ul"),this._cleanConditionally(e,"div"),this._removeNodes(e.getElementsByTagName("p"),function(e){return 0===e.getElementsByTagName("img").length+e.getElementsByTagName("embed").length+e.getElementsByTagName("object").length+e.getElementsByTagName("iframe").length&&!this._getInnerText(e,!1)}),this._forEachNode(this._getAllNodesWithTag(e,["br"]),function(e){var t=this._nextElement(e.nextSibling);t&&"P"==t.tagName&&e.parentNode.removeChild(e)})},_initializeNode:function(e){switch(e.readability={contentScore:0},e.tagName){case"DIV":e.readability.contentScore+=5;break;case"PRE":case"TD":case"BLOCKQUOTE":e.readability.contentScore+=3;break;case"ADDRESS":case"OL":case"UL":case"DL":case"DD":case"DT":case"LI":case"FORM":e.readability.contentScore-=3;break;case"H1":case"H2":case"H3":case"H4":case"H5":case"H6":case"TH":e.readability.contentScore-=5}e.readability.contentScore+=this._getClassWeight(e)},_removeAndGetNext:function(e){var t=this._getNextNode(e,!0);return e.parentNode.removeChild(e),t},_getNextNode:function(e,t){if(!t&&e.firstElementChild)return e.firstElementChild;if(e.nextElementSibling)return e.nextElementSibling;do{e=e.parentNode}while(e&&!e.nextElementSibling);return e&&e.nextElementSibling},_getNextNodeNoElementProperties:function(e,t){function n(e){do{e=e.nextSibling}while(e&&e.nodeType!==e.ELEMENT_NODE);return e}if(!t&&e.children[0])return e.children[0];var i=n(e);if(i)return i;do{(e=e.parentNode)&&(i=n(e))}while(e&&!i);return e&&i},_checkByline:function(e,t){if(this._articleByline)return!1;if(void 0!==e.getAttribute)var n=e.getAttribute("rel");return!("author"!==n&&!this.REGEXPS.byline.test(t)||!this._isValidByline(e.textContent))&&(this._articleByline=e.textContent.trim(),!0)},_getNodeAncestors:function(e,t){t=t||0;for(var n=0,i=[];e.parentNode&&(i.push(e.parentNode),!t||++n!==t);)e=e.parentNode;return i},_grabArticle:function(e){this.log("**** grabArticle ****");var t=this._doc,n=null!==e;if(!(e=e||this._doc.body))return this.log("No body found in document. Abort."),null;for(var i=e.innerHTML;;){for(var a=this._flagIsActive(this.FLAG_STRIP_UNLIKELYS),r=[],o=this._doc.documentElement;o;){var s=o.className+" "+o.id;if(this._checkByline(o,s))o=this._removeAndGetNext(o);else if(a&&this.REGEXPS.unlikelyCandidates.test(s)&&!this.REGEXPS.okMaybeItsACandidate.test(s)&&"BODY"!==o.tagName&&"A"!==o.tagName)this.log("Removing unlikely candidate - "+s),o=this._removeAndGetNext(o);else if("DIV"!==o.tagName&&"SECTION"!==o.tagName&&"HEADER"!==o.tagName&&"H1"!==o.tagName&&"H2"!==o.tagName&&"H3"!==o.tagName&&"H4"!==o.tagName&&"H5"!==o.tagName&&"H6"!==o.tagName||!this._isElementWithoutContent(o)){if(-1!==this.DEFAULT_TAGS_TO_SCORE.indexOf(o.tagName)&&r.push(o),"DIV"===o.tagName)if(this._hasSinglePInsideElement(o)){var l=o.children[0];o.parentNode.replaceChild(l,o),o=l,r.push(o)}else this._hasChildBlockElement(o)?this._forEachNode(o.childNodes,function(e){if(e.nodeType===Node.TEXT_NODE&&e.textContent.trim().length>0){var n=t.createElement("p");n.textContent=e.textContent,n.style.display="inline",n.className="readability-styled",o.replaceChild(n,e)}}):(o=this._setNodeTag(o,"P"),r.push(o));o=this._getNextNode(o)}else o=this._removeAndGetNext(o)}var c=[];this._forEachNode(r,function(e){if(e.parentNode&&void 0!==e.parentNode.tagName){var t=this._getInnerText(e);if(!(t.length<25)){var n=this._getNodeAncestors(e,3);if(0!==n.length){var i=0;i+=1,i+=t.split(",").length,i+=Math.min(Math.floor(t.length/100),3),this._forEachNode(n,function(e,t){if(e.tagName){if(void 0===e.readability&&(this._initializeNode(e),c.push(e)),0===t)var n=1;else n=1===t?2:3*t;e.readability.contentScore+=i/n}})}}}});for(var d=[],h=0,u=c.length;h_.readability.contentScore){d.splice(m,0,g),d.length>this._nbTopCandidates&&d.pop();break}}}var p,b=d[0]||null,y=!1;if(null===b||"BODY"===b.tagName){b=t.createElement("DIV"),y=!0;for(var E=e.childNodes;E.length;)this.log("Moving child out:",E[0]),b.appendChild(E[0]);e.appendChild(b),this._initializeNode(b)}else if(b){for(var N=[],v=1;v=.75&&N.push(this._getNodeAncestors(d[v]));if(N.length>=3)for(p=b.parentNode;"BODY"!==p.tagName;){for(var T=0,S=0;S=3){b=p;break}p=p.parentNode}b.readability||this._initializeNode(b),p=b.parentNode;for(var A=b.readability.contentScore,C=A/3;"BODY"!==p.tagName;)if(p.readability){var x=p.readability.contentScore;if(xA){b=p;break}A=p.readability.contentScore,p=p.parentNode}else p=p.parentNode;for(p=b.parentNode;"BODY"!=p.tagName&&1==p.children.length;)p=(b=p).parentNode;b.readability||this._initializeNode(b)}var L=t.createElement("DIV");n&&(L.id="readability-content");for(var w=Math.max(10,.2*b.readability.contentScore),I=(p=b.parentNode).children,M=0,P=I.length;M=w)R=!0;else if("P"===O.nodeName){var k=this._getLinkDensity(O),B=this._getInnerText(O),H=B.length;H>80&&k<.25?R=!0:H<80&&H>0&&0===k&&-1!==B.search(/\.( |$)/)&&(R=!0)}}R&&(this.log("Appending node:",O),-1===this.ALTER_TO_DIV_EXCEPTIONS.indexOf(O.nodeName)&&(this.log("Altering sibling:",O,"to div."),O=this._setNodeTag(O,"DIV")),L.appendChild(O),M-=1,P-=1)}if(this._debug&&this.log("Article content pre-prep: "+L.innerHTML),this._prepArticle(L),this._debug&&this.log("Article content post-prep: "+L.innerHTML),y)b.id="readability-page-1",b.className="page";else{var G=t.createElement("DIV");G.id="readability-page-1",G.className="page";for(var F=L.childNodes;F.length;)G.appendChild(F[0]);L.appendChild(G)}this._debug&&this.log("Article content after paging: "+L.innerHTML);var U=!0,V=this._getInnerText(L,!0).length;if(V0&&e.length<100)},_getArticleMetadata:function(){var e={},t={},n=this._doc.getElementsByTagName("meta"),i=/^\s*((twitter)\s*:\s*)?(description|title)\s*$/gi,a=/^\s*og\s*:\s*(description|title)\s*$/gi;return this._forEachNode(n,function(n){var r=n.getAttribute("name"),o=n.getAttribute("property");if(-1===[r,o].indexOf("author")){var s=null;if(i.test(r)?s=r:a.test(o)&&(s=o),s){var l=n.getAttribute("content");l&&(s=s.toLowerCase().replace(/\s/g,""),t[s]=l.trim())}}else e.byline=n.getAttribute("content")}),"description"in t?e.excerpt=t.description:"og:description"in t?e.excerpt=t["og:description"]:"twitter:description"in t&&(e.excerpt=t["twitter:description"]),e.title=this._getArticleTitle(),e.title||("og:title"in t?e.title=t["og:title"]:"twitter:title"in t&&(e.title=t["twitter:title"])),e},_removeScripts:function(e){this._removeNodes(e.getElementsByTagName("script"),function(e){return e.nodeValue="",e.removeAttribute("src"),!0}),this._removeNodes(e.getElementsByTagName("noscript"))},_hasSinglePInsideElement:function(e){return 1==e.children.length&&"P"===e.children[0].tagName&&!this._someNode(e.childNodes,function(e){return e.nodeType===Node.TEXT_NODE&&this.REGEXPS.hasContent.test(e.textContent)})},_isElementWithoutContent:function(e){return e.nodeType===Node.ELEMENT_NODE&&0==e.textContent.trim().length&&(0==e.children.length||e.children.length==e.getElementsByTagName("br").length+e.getElementsByTagName("hr").length)},_hasChildBlockElement:function(e){return this._someNode(e.childNodes,function(e){return-1!==this.DIV_TO_P_ELEMS.indexOf(e.tagName)||this._hasChildBlockElement(e)})},_getInnerText:function(e,t){t=void 0===t||t;var n=e.textContent.trim();return t?n.replace(this.REGEXPS.normalize," "):n},_getCharCount:function(e,t){return t=t||",",this._getInnerText(e).split(t).length-1},_cleanStyles:function(e){if(e&&"svg"!==e.tagName.toLowerCase()){if("readability-styled"!==e.className){for(var t=0;t0&&a>n)return!1;if(e.parentNode.tagName===t&&(!i||i(e.parentNode)))return!0;e=e.parentNode,a++}return!1},_getRowAndColumnCount:function(e){for(var t=0,n=0,i=e.getElementsByTagName("tr"),a=0;a0)i._readabilityDataTable=!0;else{if(["col","colgroup","tfoot","thead","th"].some(function(e){return!!i.getElementsByTagName(e)[0]}))this.log("Data table because found data-y descendant"),i._readabilityDataTable=!0;else if(i.getElementsByTagName("table")[0])i._readabilityDataTable=!1;else{var r=this._getRowAndColumnCount(i);r.rows>=10||r.columns>4?i._readabilityDataTable=!0:i._readabilityDataTable=r.rows*r.columns>10}}}else i._readabilityDataTable=!1;else i._readabilityDataTable=!1}},_cleanConditionally:function(e,t){if(this._flagIsActive(this.FLAG_CLEAN_CONDITIONALLY)){var n="ul"===t||"ol"===t;this._removeNodes(e.getElementsByTagName(t),function(e){if(this._hasAncestorTag(e,"table",-1,function(e){return e._readabilityDataTable}))return!1;var t=this._getClassWeight(e);if(this.log("Cleaning Conditionally",e),t+0<0)return!0;if(this._getCharCount(e,",")<10){for(var i=e.getElementsByTagName("p").length,a=e.getElementsByTagName("img").length,r=e.getElementsByTagName("li").length-100,o=e.getElementsByTagName("input").length,s=0,l=e.getElementsByTagName("embed"),c=0,d=l.length;c1&&i/a<.5&&!this._hasAncestorTag(e,"figure")||!n&&r>i||o>Math.floor(i/3)||!n&&u<25&&(0===a||a>2)&&!this._hasAncestorTag(e,"figure")||!n&&t<25&&h>.2||t>=25&&h>.5||1===s&&u<75||s>1}return!1})}},_cleanMatchedNodes:function(e,t){for(var n=this._getNextNode(e,!0),i=this._getNextNode(e);i&&i!=n;)i=t.test(i.className+" "+i.id)?this._removeAndGetNext(i):this._getNextNode(i)},_cleanHeaders:function(e){for(var t=1;t<3;t+=1)this._removeNodes(e.getElementsByTagName("h"+t),function(e){return this._getClassWeight(e)<0})},_flagIsActive:function(e){return(this._flags&e)>0},_removeFlag:function(e){this._flags=this._flags&~e},isProbablyReaderable:function(e){var t=this._getAllNodesWithTag(this._doc,["p","pre"]),n=this._getAllNodesWithTag(this._doc,["div > br"]);if(n.length){var i=new Set;[].forEach.call(n,function(e){i.add(e.parentNode)}),t=[].concat.apply(Array.from(i),t)}var a=0;return this._someNode(t,function(t){if(e&&!e(t))return!1;var n=t.className+" "+t.id;if(this.REGEXPS.unlikelyCandidates.test(n)&&!this.REGEXPS.okMaybeItsACandidate.test(n))return!1;if(t.matches&&t.matches("li p"))return!1;var i=t.textContent.trim().length;return!(i<140)&&(a+=Math.sqrt(i-140))>20})},parse:function(){if(this._maxElemsToParse>0){var e=this._doc.getElementsByTagName("*").length;if(e>this._maxElemsToParse)throw new Error("Aborting parsing document; "+e+" elements found")}void 0===this._doc.documentElement.firstElementChild&&(this._getNextNode=this._getNextNodeNoElementProperties),this._removeScripts(this._doc),this._prepDocument();var t=this._getArticleMetadata();this._articleTitle=t.title;var n=this._grabArticle();if(!n)return null;if(this.log("Grabbed: "+n.innerHTML),this._postProcessContent(n),!t.excerpt){var i=n.getElementsByTagName("p");i.length>0&&(t.excerpt=i[0].textContent.trim())}var a=n.textContent;return{uri:this._uri,title:this._articleTitle,byline:t.byline||this._articleByline,dir:this._articleDir,content:n.innerHTML,textContent:a,length:a.length,excerpt:t.excerpt}}},"object"===t(e)&&(e.exports=n)}).call(t,n(0)(e))},function(e,t,n){"use strict";webkit.messageHandlers.trackingProtectionStats&&function(){function e(e){e&&webkit.messageHandlers.trackingProtectionStats.postMessage({url:e})}function t(){[].slice.apply(document.scripts).forEach(function(t){e(t.src)}),[].slice.apply(document.images).forEach(function(t){0===t.naturalWidth&&e(t.src)})}Object.defineProperty(window.__firefox__,"TrackingProtectionStats",{enumerable:!1,configurable:!1,writable:!1,value:{enabled:!1}}),Object.defineProperty(window.__firefox__.TrackingProtectionStats,"setEnabled",{enumerable:!1,configurable:!1,writable:!1,value:function(e,t){t===SECURITY_TOKEN&&e!==window.__firefox__.TrackingProtectionStats.enabled&&(window.__firefox__.TrackingProtectionStats.enabled=e,o(e))}});var n=null,i=null,a=null,r=null;function o(o){if(!o)return window.removeEventListener("load",t,!1),void(n&&(XMLHttpRequest.prototype.open=n,XMLHttpRequest.prototype.send=i,Image.prototype.src=a,r.disconnect(),n=i=a=r=null));if(!n){window.addEventListener("load",t,!1);var s=XMLHttpRequest.prototype;n||(n=s.open,i=s.send),s.open=function(e,t){return this._url=t,n.apply(this,arguments)},s.send=function(t){return this._tpErrorHandler||(this._tpErrorHandler=function(){e(this._url)},this.addEventListener("error",this._tpErrorHandler)),i.apply(this,arguments)},a||(a=Object.getOwnPropertyDescriptor(Image.prototype,"src")),delete Image.prototype.src,Object.defineProperty(Image.prototype,"src",{get:function(){return a.get.call(this)},set:function(t){this._tpErrorHandler||(this._tpErrorHandler=function(){e(this.src)},this.addEventListener("error",this._tpErrorHandler)),a.set.call(this,t)}}),(r=new MutationObserver(function(t){t.forEach(function(t){t.addedNodes.forEach(function(t){"SCRIPT"===t.tagName&&t.src&&t.addEventListener("error",function(){e(t.src)})})})})).observe(document.documentElement,{childList:!0,subtree:!0})}}window.__firefox__.TrackingProtectionStats.enabled=!0,o(!0)}()}]); \ No newline at end of file diff --git a/Client/Assets/NetError.css b/Client/Assets/NetError.css old mode 100644 new mode 100755 diff --git a/Client/Assets/NetError.html b/Client/Assets/NetError.html old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/README.md b/Client/Assets/Search/README.md old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchOverlays/baidu.xml b/Client/Assets/Search/SearchOverlays/baidu.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchOverlays/bing.xml b/Client/Assets/Search/SearchOverlays/bing.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchOverlays/duckduckgo.xml b/Client/Assets/Search/SearchOverlays/duckduckgo.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchOverlays/qwant.xml b/Client/Assets/Search/SearchOverlays/qwant.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchOverlays/yahoo.xml b/Client/Assets/Search/SearchOverlays/yahoo.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/amazon-au.xml b/Client/Assets/Search/SearchPlugins/amazon-au.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/amazon-br.xml b/Client/Assets/Search/SearchPlugins/amazon-br.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/amazon-ca.xml b/Client/Assets/Search/SearchPlugins/amazon-ca.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/amazon-co-uk.xml b/Client/Assets/Search/SearchPlugins/amazon-co-uk.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/amazon-de.xml b/Client/Assets/Search/SearchPlugins/amazon-de.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/amazon-fr.xml b/Client/Assets/Search/SearchPlugins/amazon-fr.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/amazon-in.xml b/Client/Assets/Search/SearchPlugins/amazon-in.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/amazon-jp.xml b/Client/Assets/Search/SearchPlugins/amazon-jp.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/amazon-mx.xml b/Client/Assets/Search/SearchPlugins/amazon-mx.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/amazon-nl.xml b/Client/Assets/Search/SearchPlugins/amazon-nl.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/amazondotcom.xml b/Client/Assets/Search/SearchPlugins/amazondotcom.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/azerdict.xml b/Client/Assets/Search/SearchPlugins/azerdict.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/azet-sk.xml b/Client/Assets/Search/SearchPlugins/azet-sk.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/baidu.xml b/Client/Assets/Search/SearchPlugins/baidu.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/bing.xml b/Client/Assets/Search/SearchPlugins/bing.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/bolcom-fy-NL.xml b/Client/Assets/Search/SearchPlugins/bolcom-fy-NL.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/bolcom-nl.xml b/Client/Assets/Search/SearchPlugins/bolcom-nl.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/ceneje.xml b/Client/Assets/Search/SearchPlugins/ceneje.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/coccoc.xml b/Client/Assets/Search/SearchPlugins/coccoc.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/danawa-kr.xml b/Client/Assets/Search/SearchPlugins/danawa-kr.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/daum-kr.xml b/Client/Assets/Search/SearchPlugins/daum-kr.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/ddg.xml b/Client/Assets/Search/SearchPlugins/ddg.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/diec2.xml b/Client/Assets/Search/SearchPlugins/diec2.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/drae.xml b/Client/Assets/Search/SearchPlugins/drae.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/duckduckgo.xml b/Client/Assets/Search/SearchPlugins/duckduckgo.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/elebila.xml b/Client/Assets/Search/SearchPlugins/elebila.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/faclair-beag.xml b/Client/Assets/Search/SearchPlugins/faclair-beag.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/google-2018.xml b/Client/Assets/Search/SearchPlugins/google-2018.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/google-nocodes.xml b/Client/Assets/Search/SearchPlugins/google-nocodes.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/google.xml b/Client/Assets/Search/SearchPlugins/google.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/gulesider-mobile-NO.xml b/Client/Assets/Search/SearchPlugins/gulesider-mobile-NO.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/heureka-cz.xml b/Client/Assets/Search/SearchPlugins/heureka-cz.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/leit-is.xml b/Client/Assets/Search/SearchPlugins/leit-is.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/leo_ende_de.xml b/Client/Assets/Search/SearchPlugins/leo_ende_de.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/list-am.xml b/Client/Assets/Search/SearchPlugins/list-am.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/list.json b/Client/Assets/Search/SearchPlugins/list.json old mode 100644 new mode 100755 index 8f8250389..f236e8ed3 --- a/Client/Assets/Search/SearchPlugins/list.json +++ b/Client/Assets/Search/SearchPlugins/list.json @@ -2,7 +2,7 @@ "default": { "searchDefault": "Google", "visibleDefaultEngines": [ - "google", "yahoo", "bing", "amazondotcom", "ddg", "twitter", "wikipedia" + "google", "bing", "amazondotcom", "ddg", "twitter", "wikipedia" ] }, "regionOverrides": { @@ -29,35 +29,35 @@ "ach": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "wikipedia" + "google", "bing", "wikipedia" ] } }, "an": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-es", "bing", "twitter", "wikipedia-an" + "google", "bing", "twitter", "wikipedia-an" ] } }, "ar": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "amazondotcom", "twitter", "wikipedia-ar" + "google", "bing", "amazondotcom", "twitter", "wikipedia-ar" ] } }, "as": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-in", "bing", "amazon-in", "wikipedia-as" + "google", "bing", "amazon-in", "wikipedia-as" ] } }, "ast": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-es", "bing", "amazondotcom", "twitter", "wikipedia-ast" + "google", "bing", "amazondotcom", "twitter", "wikipedia-ast" ] } }, @@ -71,7 +71,7 @@ "be": { "default": { "visibleDefaultEngines": [ - "google", "bing", "yahoo", "ddg", "wikipedia-be", "yandex.by" + "google", "bing", "ddg", "wikipedia-be", "yandex.by" ] }, "BY": { @@ -90,35 +90,35 @@ "bg": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "wikipedia-bg" + "google", "bing", "wikipedia-bg" ] } }, "bn-BD": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "ddg", "wikipedia-bn" + "google", "bing", "ddg", "wikipedia-bn" ] } }, "bn-IN": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-in", "bing", "amazondotcom", "rediff", "wikipedia-bn" + "google", "bing", "amazondotcom", "rediff", "wikipedia-bn" ] } }, "br": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-france", "bing", "twitter", "wikipedia-br" + "google", "bing", "twitter", "wikipedia-br" ] } }, "bs": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "twitter", "wikipedia-bs" + "google", "bing", "twitter", "wikipedia-bs" ] } }, @@ -132,7 +132,7 @@ "cak": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-espanol", "amazondotcom", "ddg", "wikipedia-es" + "google", "amazondotcom", "ddg", "wikipedia-es" ] } }, @@ -146,7 +146,7 @@ "cy": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-en-GB", "bing", "amazon-co-uk", "ddg", "wikipedia-cy" + "google", "bing", "amazon-co-uk", "ddg", "wikipedia-cy" ] } }, @@ -160,35 +160,35 @@ "de": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-de", "bing", "amazon-de", "ddg", "qwant", "twitter", "wikipedia-de" + "google", "bing", "amazon-de", "ddg", "qwant", "twitter", "wikipedia-de" ] } }, "dsb": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-de", "bing", "amazon-de", "twitter", "wikipedia-dsb" + "google", "bing", "amazon-de", "twitter", "wikipedia-dsb" ] } }, "el": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "skroutz", "twitter", "wikipedia-el" + "google", "bing", "skroutz", "twitter", "wikipedia-el" ] } }, "en-GB": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-en-GB", "bing", "amazon-co-uk", "ddg", "qwant", "twitter", "wikipedia" + "google", "bing", "amazon-co-uk", "ddg", "qwant", "twitter", "wikipedia" ] } }, "en-US": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "amazondotcom", "ddg", "twitter", "wikipedia" + "google", "bing", "amazondotcom", "ddg", "twitter", "wikipedia" ] }, "experimental-hidden": { @@ -207,7 +207,7 @@ "eo": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "ddg", "reta-vortaro", "twitter", "wikipedia-eo" + "google", "bing", "ddg", "reta-vortaro", "twitter", "wikipedia-eo" ] } }, @@ -221,21 +221,21 @@ "es-CL": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-cl", "bing", "drae", "mercadolibre-cl", "twitter", "wikipedia-es" + "google", "bing", "drae", "mercadolibre-cl", "twitter", "wikipedia-es" ] } }, "es-ES": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-es", "bing", "ddg", "twitter", "wikipedia-es" + "google", "bing", "ddg", "twitter", "wikipedia-es" ] } }, "es-MX": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-mx", "bing", "amazondotcom", "ddg", "mercadolibre-mx", "twitter", "wikipedia-es" + "google", "bing", "amazondotcom", "ddg", "mercadolibre-mx", "twitter", "wikipedia-es" ] }, "experimental-hidden": { @@ -254,35 +254,35 @@ "eu": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-es", "bing", "elebila", "wikipedia-eu" + "google", "bing", "elebila", "wikipedia-eu" ] } }, "fa": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "wikipedia-fa" + "google", "bing", "wikipedia-fa" ] } }, "ff": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-france", "bing", "amazon-fr", "wikipedia-fr" + "google", "bing", "amazon-fr", "wikipedia-fr" ] } }, "fi": { "default": { "visibleDefaultEngines": [ - "google", "amazondotcom", "twitter", "wikipedia-fi", "yahoo-fi" + "google", "amazondotcom", "twitter", "wikipedia-fi" ] } }, "fr": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-france", "bing", "ddg", "qwant", "twitter", "wikipedia-fr" + "google", "bing", "ddg", "qwant", "twitter", "wikipedia-fr" ] } }, @@ -308,56 +308,56 @@ "gd": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-en-GB", "bing", "ddg", "faclair-beag", "wikipedia-gd" + "google", "bing", "ddg", "faclair-beag", "wikipedia-gd" ] } }, "gl": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-es", "bing", "amazondotcom", "twitter", "wikipedia-gl" + "google", "bing", "amazondotcom", "twitter", "wikipedia-gl" ] } }, "gn": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-espanol", "bing", "amazondotcom", "twitter", "wikipedia-gn" + "google", "bing", "amazondotcom", "twitter", "wikipedia-gn" ] } }, "gu-IN": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-in", "bing", "amazon-in", "wikipedia-gu" + "google", "bing", "amazon-in", "wikipedia-gu" ] } }, "he": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "amazondotcom", "twitter", "wikipedia-he" + "google", "bing", "amazondotcom", "twitter", "wikipedia-he" ] } }, "hi-IN": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-in", "bing", "amazon-in", "twitter", "wikipedia-hi" + "google", "bing", "amazon-in", "twitter", "wikipedia-hi" ] } }, "hr": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "amazon-co-uk", "ddg", "twitter", "wikipedia-hr" + "google", "bing", "amazon-co-uk", "ddg", "twitter", "wikipedia-hr" ] } }, "hsb": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-de", "bing", "amazon-de", "twitter", "wikipedia-hsb" + "google", "bing", "amazon-de", "twitter", "wikipedia-hsb" ] } }, @@ -371,35 +371,35 @@ "hy-AM": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "amazondotcom", "list-am", "wikipedia-hy-AM" + "google", "bing", "amazondotcom", "list-am", "wikipedia-hy-AM" ] } }, "ia": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ia" + "google", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ia" ] } }, "id": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-id", "bing", "twitter", "wikipedia-id" + "google", "bing", "twitter", "wikipedia-id" ] } }, "is": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "amazondotcom", "leit-is", "wikipedia-is" + "google", "bing", "amazondotcom", "leit-is", "wikipedia-is" ] } }, "it": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-it", "bing", "ddg", "twitter", "wikipedia-it" + "google", "bing", "ddg", "twitter", "wikipedia-it" ] } }, @@ -413,21 +413,21 @@ "ka": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "amazondotcom", "ddg", "wikipedia-ka" + "google", "bing", "amazondotcom", "ddg", "wikipedia-ka" ] } }, "kab": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-france", "bing", "wikipedia-kab" + "google", "bing", "wikipedia-kab" ] } }, "kk": { "default": { "visibleDefaultEngines": [ - "yandex", "google", "yahoo", "bing", "twitter", "wikipedia-kk" + "yandex", "google", "bing", "twitter", "wikipedia-kk" ] }, "KZ": { @@ -446,14 +446,14 @@ "km": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "amazondotcom", "twitter", "wikipedia-km" + "google", "bing", "amazondotcom", "twitter", "wikipedia-km" ] } }, "kn": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-in", "bing", "amazon-in", "twitter", "wikipedia-kn", "wiktionary-kn" + "google", "bing", "amazon-in", "twitter", "wikipedia-kn", "wiktionary-kn" ] } }, @@ -474,7 +474,7 @@ "lo": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "twitter", "wikipedia-lo" + "google", "bing", "twitter", "wikipedia-lo" ] } }, @@ -488,7 +488,7 @@ "ltg": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "amazon-co-uk", "twitter", "wikipedia-ltg" + "google", "bing", "amazon-co-uk", "twitter", "wikipedia-ltg" ] } }, @@ -502,35 +502,35 @@ "mai": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-in", "bing", "amazon-in", "twitter", "wikipedia-hi" + "google", "bing", "amazon-in", "twitter", "wikipedia-hi" ] } }, "ml": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-in", "bing", "ddg", "twitter", "wikipedia-ml" + "google", "bing", "ddg", "twitter", "wikipedia-ml" ] } }, "mr": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-in", "bing", "amazon-in", "rediff", "wikipedia-mr" + "google", "bing", "amazon-in", "rediff", "wikipedia-mr" ] } }, "ms": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "amazondotcom", "twitter", "wikipedia-ms" + "google", "bing", "amazondotcom", "twitter", "wikipedia-ms" ] } }, "my": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "amazondotcom", "twitter", "wikipedia-my" + "google", "bing", "amazondotcom", "twitter", "wikipedia-my" ] } }, @@ -544,14 +544,14 @@ "ne-NP": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "twitter", "wikipedia-ne" + "google", "bing", "twitter", "wikipedia-ne" ] } }, "nl": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "bolcom-nl", "ddg", "twitter", "wikipedia-nl" + "google", "bing", "bolcom-nl", "ddg", "twitter", "wikipedia-nl" ] }, "experimental-hidden": { @@ -570,21 +570,21 @@ "oc": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-france", "bing", "wikipedia-oc", "wiktionary-oc" + "google", "bing", "wikipedia-oc", "wiktionary-oc" ] } }, "or": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-in", "bing", "amazon-in", "wikipedia-or", "wiktionary-or" + "google", "bing", "amazon-in", "wikipedia-or", "wiktionary-or" ] } }, "pa-IN": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-in", "bing", "wikipedia-pa" + "google", "bing", "wikipedia-pa" ] } }, @@ -598,7 +598,7 @@ "pt-BR": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-br", "bing", "twitter", "wikipedia-pt" + "google", "bing", "twitter", "wikipedia-pt" ] }, "experimental-hidden": { @@ -617,7 +617,7 @@ "rm": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-ch", "bing", "ddg", "leo_ende_de", "pledarigrond", "wikipedia-rm" + "google", "bing", "ddg", "leo_ende_de", "pledarigrond", "wikipedia-rm" ] } }, @@ -664,21 +664,21 @@ "son": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-france", "bing", "amazon-fr", "twitter", "wikipedia-fr" + "google", "bing", "amazon-fr", "twitter", "wikipedia-fr" ] } }, "sq": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "amazon-co-uk", "twitter", "wikipedia-sq" + "google", "bing", "amazon-co-uk", "twitter", "wikipedia-sq" ] } }, "sr": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "ddg", "twitter", "wikipedia-sr" + "google", "bing", "ddg", "twitter", "wikipedia-sr" ] } }, @@ -692,14 +692,14 @@ "ta": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-in", "bing", "amazon-in", "ddg", "wikipedia-ta", "wiktionary-ta" + "google", "bing", "amazon-in", "ddg", "wikipedia-ta", "wiktionary-ta" ] } }, "te": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-in", "bing", "amazon-in", "wikipedia-te", "wiktionary-te" + "google", "bing", "amazon-in", "wikipedia-te", "wiktionary-te" ] } }, @@ -733,7 +733,7 @@ "default": { "searchDefault": "Google", "visibleDefaultEngines": [ - "amazondotcom", "bing", "google", "twitter", "wikipedia-es", "yahoo-espanol" + "amazondotcom", "bing", "google", "twitter", "wikipedia-es" ] } }, @@ -747,14 +747,14 @@ "ur": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-in", "bing", "amazon-in", "ddg", "twitter", "wikipedia-ur" + "google", "bing", "amazon-in", "ddg", "twitter", "wikipedia-ur" ] } }, "uz": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "amazondotcom", "twitter", "wikipedia-uz" + "google", "bing", "amazondotcom", "twitter", "wikipedia-uz" ] } }, @@ -768,21 +768,21 @@ "wo": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-france", "bing", "ddg", "wikipedia-wo" + "google", "bing", "ddg", "wikipedia-wo" ] } }, "xh": { "default": { "visibleDefaultEngines": [ - "google", "yahoo", "bing", "twitter", "wikipedia" + "google", "bing", "twitter", "wikipedia" ] } }, "zam": { "default": { "visibleDefaultEngines": [ - "google", "yahoo-espanol", "bing", "wikipedia-es" + "google", "bing", "wikipedia-es" ] } }, diff --git a/Client/Assets/Search/SearchPlugins/mapy-cz.xml b/Client/Assets/Search/SearchPlugins/mapy-cz.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/mercadolibre-ar.xml b/Client/Assets/Search/SearchPlugins/mercadolibre-ar.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/mercadolibre-cl.xml b/Client/Assets/Search/SearchPlugins/mercadolibre-cl.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/mercadolibre-mx.xml b/Client/Assets/Search/SearchPlugins/mercadolibre-mx.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/naver-kr.xml b/Client/Assets/Search/SearchPlugins/naver-kr.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/odpiralni.xml b/Client/Assets/Search/SearchPlugins/odpiralni.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/pledarigrond.xml b/Client/Assets/Search/SearchPlugins/pledarigrond.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/prisjakt-sv-SE.xml b/Client/Assets/Search/SearchPlugins/prisjakt-sv-SE.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/qwant.xml b/Client/Assets/Search/SearchPlugins/qwant.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/rediff.xml b/Client/Assets/Search/SearchPlugins/rediff.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/reta-vortaro.xml b/Client/Assets/Search/SearchPlugins/reta-vortaro.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/salidzinilv.xml b/Client/Assets/Search/SearchPlugins/salidzinilv.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/seznam-cz.xml b/Client/Assets/Search/SearchPlugins/seznam-cz.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/skroutz.xml b/Client/Assets/Search/SearchPlugins/skroutz.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/slovnik-sk.xml b/Client/Assets/Search/SearchPlugins/slovnik-sk.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/sslv.xml b/Client/Assets/Search/SearchPlugins/sslv.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/sztaki-en-hu.xml b/Client/Assets/Search/SearchPlugins/sztaki-en-hu.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/taobao.xml b/Client/Assets/Search/SearchPlugins/taobao.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/tearma.xml b/Client/Assets/Search/SearchPlugins/tearma.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/twitter-ja.xml b/Client/Assets/Search/SearchPlugins/twitter-ja.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/twitter.xml b/Client/Assets/Search/SearchPlugins/twitter.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/vatera.xml b/Client/Assets/Search/SearchPlugins/vatera.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-NN.xml b/Client/Assets/Search/SearchPlugins/wikipedia-NN.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-NO.xml b/Client/Assets/Search/SearchPlugins/wikipedia-NO.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-an.xml b/Client/Assets/Search/SearchPlugins/wikipedia-an.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-ar.xml b/Client/Assets/Search/SearchPlugins/wikipedia-ar.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-as.xml b/Client/Assets/Search/SearchPlugins/wikipedia-as.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-ast.xml b/Client/Assets/Search/SearchPlugins/wikipedia-ast.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-az.xml b/Client/Assets/Search/SearchPlugins/wikipedia-az.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-be.xml b/Client/Assets/Search/SearchPlugins/wikipedia-be.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-bg.xml b/Client/Assets/Search/SearchPlugins/wikipedia-bg.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-bn.xml b/Client/Assets/Search/SearchPlugins/wikipedia-bn.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-br.xml b/Client/Assets/Search/SearchPlugins/wikipedia-br.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-bs.xml b/Client/Assets/Search/SearchPlugins/wikipedia-bs.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-ca.xml b/Client/Assets/Search/SearchPlugins/wikipedia-ca.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-cy.xml b/Client/Assets/Search/SearchPlugins/wikipedia-cy.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-cz.xml b/Client/Assets/Search/SearchPlugins/wikipedia-cz.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-da.xml b/Client/Assets/Search/SearchPlugins/wikipedia-da.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-de.xml b/Client/Assets/Search/SearchPlugins/wikipedia-de.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-dsb.xml b/Client/Assets/Search/SearchPlugins/wikipedia-dsb.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-el.xml b/Client/Assets/Search/SearchPlugins/wikipedia-el.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-eo.xml b/Client/Assets/Search/SearchPlugins/wikipedia-eo.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-es.xml b/Client/Assets/Search/SearchPlugins/wikipedia-es.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-et.xml b/Client/Assets/Search/SearchPlugins/wikipedia-et.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-eu.xml b/Client/Assets/Search/SearchPlugins/wikipedia-eu.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-fa.xml b/Client/Assets/Search/SearchPlugins/wikipedia-fa.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-fi.xml b/Client/Assets/Search/SearchPlugins/wikipedia-fi.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-fr.xml b/Client/Assets/Search/SearchPlugins/wikipedia-fr.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-fy-NL.xml b/Client/Assets/Search/SearchPlugins/wikipedia-fy-NL.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-ga-IE.xml b/Client/Assets/Search/SearchPlugins/wikipedia-ga-IE.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-gd.xml b/Client/Assets/Search/SearchPlugins/wikipedia-gd.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-gl.xml b/Client/Assets/Search/SearchPlugins/wikipedia-gl.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-gn.xml b/Client/Assets/Search/SearchPlugins/wikipedia-gn.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-gu.xml b/Client/Assets/Search/SearchPlugins/wikipedia-gu.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-he.xml b/Client/Assets/Search/SearchPlugins/wikipedia-he.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-hi.xml b/Client/Assets/Search/SearchPlugins/wikipedia-hi.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-hr.xml b/Client/Assets/Search/SearchPlugins/wikipedia-hr.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-hsb.xml b/Client/Assets/Search/SearchPlugins/wikipedia-hsb.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-hu.xml b/Client/Assets/Search/SearchPlugins/wikipedia-hu.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-hy-AM.xml b/Client/Assets/Search/SearchPlugins/wikipedia-hy-AM.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-ia.xml b/Client/Assets/Search/SearchPlugins/wikipedia-ia.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-id.xml b/Client/Assets/Search/SearchPlugins/wikipedia-id.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-is.xml b/Client/Assets/Search/SearchPlugins/wikipedia-is.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-it.xml b/Client/Assets/Search/SearchPlugins/wikipedia-it.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-ja.xml b/Client/Assets/Search/SearchPlugins/wikipedia-ja.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-ka.xml b/Client/Assets/Search/SearchPlugins/wikipedia-ka.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-kab.xml b/Client/Assets/Search/SearchPlugins/wikipedia-kab.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-kk.xml b/Client/Assets/Search/SearchPlugins/wikipedia-kk.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-km.xml b/Client/Assets/Search/SearchPlugins/wikipedia-km.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-kn.xml b/Client/Assets/Search/SearchPlugins/wikipedia-kn.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-lo.xml b/Client/Assets/Search/SearchPlugins/wikipedia-lo.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-lt.xml b/Client/Assets/Search/SearchPlugins/wikipedia-lt.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-ltg.xml b/Client/Assets/Search/SearchPlugins/wikipedia-ltg.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-lv.xml b/Client/Assets/Search/SearchPlugins/wikipedia-lv.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-ml.xml b/Client/Assets/Search/SearchPlugins/wikipedia-ml.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-mr.xml b/Client/Assets/Search/SearchPlugins/wikipedia-mr.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-ms.xml b/Client/Assets/Search/SearchPlugins/wikipedia-ms.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-my.xml b/Client/Assets/Search/SearchPlugins/wikipedia-my.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-ne.xml b/Client/Assets/Search/SearchPlugins/wikipedia-ne.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-nl.xml b/Client/Assets/Search/SearchPlugins/wikipedia-nl.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-oc.xml b/Client/Assets/Search/SearchPlugins/wikipedia-oc.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-or.xml b/Client/Assets/Search/SearchPlugins/wikipedia-or.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-pa.xml b/Client/Assets/Search/SearchPlugins/wikipedia-pa.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-pl.xml b/Client/Assets/Search/SearchPlugins/wikipedia-pl.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-pt.xml b/Client/Assets/Search/SearchPlugins/wikipedia-pt.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-rm.xml b/Client/Assets/Search/SearchPlugins/wikipedia-rm.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-ro.xml b/Client/Assets/Search/SearchPlugins/wikipedia-ro.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-ru.xml b/Client/Assets/Search/SearchPlugins/wikipedia-ru.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-sk.xml b/Client/Assets/Search/SearchPlugins/wikipedia-sk.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-sl.xml b/Client/Assets/Search/SearchPlugins/wikipedia-sl.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-sq.xml b/Client/Assets/Search/SearchPlugins/wikipedia-sq.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-sr.xml b/Client/Assets/Search/SearchPlugins/wikipedia-sr.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-sv-SE.xml b/Client/Assets/Search/SearchPlugins/wikipedia-sv-SE.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-ta.xml b/Client/Assets/Search/SearchPlugins/wikipedia-ta.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-te.xml b/Client/Assets/Search/SearchPlugins/wikipedia-te.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-th.xml b/Client/Assets/Search/SearchPlugins/wikipedia-th.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-tr.xml b/Client/Assets/Search/SearchPlugins/wikipedia-tr.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-uk.xml b/Client/Assets/Search/SearchPlugins/wikipedia-uk.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-ur.xml b/Client/Assets/Search/SearchPlugins/wikipedia-ur.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-uz.xml b/Client/Assets/Search/SearchPlugins/wikipedia-uz.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-vi.xml b/Client/Assets/Search/SearchPlugins/wikipedia-vi.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-wo.xml b/Client/Assets/Search/SearchPlugins/wikipedia-wo.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-zh-CN.xml b/Client/Assets/Search/SearchPlugins/wikipedia-zh-CN.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia-zh-TW.xml b/Client/Assets/Search/SearchPlugins/wikipedia-zh-TW.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wikipedia.xml b/Client/Assets/Search/SearchPlugins/wikipedia.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wiktionary-kn.xml b/Client/Assets/Search/SearchPlugins/wiktionary-kn.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wiktionary-oc.xml b/Client/Assets/Search/SearchPlugins/wiktionary-oc.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wiktionary-or.xml b/Client/Assets/Search/SearchPlugins/wiktionary-or.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wiktionary-ta.xml b/Client/Assets/Search/SearchPlugins/wiktionary-ta.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/wiktionary-te.xml b/Client/Assets/Search/SearchPlugins/wiktionary-te.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/yahoo-br.xml b/Client/Assets/Search/SearchPlugins/yahoo-br.xml deleted file mode 100644 index 22106df48..000000000 --- a/Client/Assets/Search/SearchPlugins/yahoo-br.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - -Yahoo -UTF-8 -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAt1BMVEUAAABTALVUALVUALZUALVVAL9TALX///9hFrv+/v77+v19QMdXBrfezvGba9SVYtH49vzw6vnIree+n+P08Pro3vXaye/Ot+rKsejFqua1kt+yjd6of9qfcdaOV855OcV1M8NuKMBpIb7l2PPi1PKrg9uidteKUs2GTcuESspaC7jz7frUwO3Bo+SviNyhdNaZaNOYZ9KSXdBnHb1eEbldD7n18frs4/a6muG6meG5mOGnftmletijsdsyAAAABnRSTlMA8si8ZBgxEvPEAAACZElEQVRo3u2aaW/CMAyGC2NuoeUobMC473FtY4Pd+/+/a2SOlIy1SDR5pSHVH6pUcfI0sRM7VZy95LIZAkgmm3OEXF4QTC4u9wBU/0zYzw9BJedkCSpZJ0NQyTgElhSQAlJACjABLDo933/q1PrH288/Zr3bXnnqnwzwVu6PFOmYBNesdb08fYrKLsvmGKArleZJbLDmtuEuXsW7Yp1mIiMPC9y6Fa9SY43KNpkXfXLzwjBOYZBnjVlCNw3G3L4Rp1Dn+kmQEEC+MuExN/CTL7Q76YSRn7gLubZGSQHKS76iKj+4buUZAKgk3WQUb+GN2V5UlI4eW1MnM0BffuciZmyFgSGA3pSdo6zTIlOA98I9dSLXcPhsDKAHZee/M/dIpgC1npsRFi5aiWhzl+VWtzCLbwVADe7tdXlo4RsyB+j7dvtgB6lsLQGorXxe3wM7ZAvwHOqrNpioKbMDUBtzWbzM5EvPZl5UV+tqW+HymmwC+i7LO1GVS/mBTYDq1l9I1BvZBYykq45lpnXlWQbQvftLumQbsAz1/seBbYByVRl/bAPUDsqZEgLArsq5HgRAN66r4iQCMJRhbLUjggCoqrkoBFDSQhsE8IgGbLR9GjlFT6J8noCuFtcggE8tnYMApgwoiTIGAF1oKug8iDIE0NaOxRgAegQt7cwJAdS0nBQCkBFnym+4eHDPb7AR8DkBOAIOyRBAU2bAogwBNLTfKxDAmgF3ogwB1LXDJQRQZEBVlCGAiXbmBwEKL5U8p74QwMgTT28knv//73sKSAEp4JwA6EsD8GsP8Isb6Ksn+Msz8Os/38MM7gJG7lmzAAAAAElFTkSuQmCC - - - - - - - - - - - -https://br.search.yahoo.com/ - diff --git a/Client/Assets/Search/SearchPlugins/yahoo-ch.xml b/Client/Assets/Search/SearchPlugins/yahoo-ch.xml deleted file mode 100644 index 43a9a14e8..000000000 --- a/Client/Assets/Search/SearchPlugins/yahoo-ch.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - -Yahoo -UTF-8 -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAt1BMVEUAAABTALVUALVUALZUALVVAL9TALX///9hFrv+/v77+v19QMdXBrfezvGba9SVYtH49vzw6vnIree+n+P08Pro3vXaye/Ot+rKsejFqua1kt+yjd6of9qfcdaOV855OcV1M8NuKMBpIb7l2PPi1PKrg9uidteKUs2GTcuESspaC7jz7frUwO3Bo+SviNyhdNaZaNOYZ9KSXdBnHb1eEbldD7n18frs4/a6muG6meG5mOGnftmletijsdsyAAAABnRSTlMA8si8ZBgxEvPEAAACZElEQVRo3u2aaW/CMAyGC2NuoeUobMC473FtY4Pd+/+/a2SOlIy1SDR5pSHVH6pUcfI0sRM7VZy95LIZAkgmm3OEXF4QTC4u9wBU/0zYzw9BJedkCSpZJ0NQyTgElhSQAlJACjABLDo933/q1PrH288/Zr3bXnnqnwzwVu6PFOmYBNesdb08fYrKLsvmGKArleZJbLDmtuEuXsW7Yp1mIiMPC9y6Fa9SY43KNpkXfXLzwjBOYZBnjVlCNw3G3L4Rp1Dn+kmQEEC+MuExN/CTL7Q76YSRn7gLubZGSQHKS76iKj+4buUZAKgk3WQUb+GN2V5UlI4eW1MnM0BffuciZmyFgSGA3pSdo6zTIlOA98I9dSLXcPhsDKAHZee/M/dIpgC1npsRFi5aiWhzl+VWtzCLbwVADe7tdXlo4RsyB+j7dvtgB6lsLQGorXxe3wM7ZAvwHOqrNpioKbMDUBtzWbzM5EvPZl5UV+tqW+HymmwC+i7LO1GVS/mBTYDq1l9I1BvZBYykq45lpnXlWQbQvftLumQbsAz1/seBbYByVRl/bAPUDsqZEgLArsq5HgRAN66r4iQCMJRhbLUjggCoqrkoBFDSQhsE8IgGbLR9GjlFT6J8noCuFtcggE8tnYMApgwoiTIGAF1oKug8iDIE0NaOxRgAegQt7cwJAdS0nBQCkBFnym+4eHDPb7AR8DkBOAIOyRBAU2bAogwBNLTfKxDAmgF3ogwB1LXDJQRQZEBVlCGAiXbmBwEKL5U8p74QwMgTT28knv//73sKSAEp4JwA6EsD8GsP8Isb6Ksn+Msz8Os/38MM7gJG7lmzAAAAAElFTkSuQmCC - - - - - - - - - - -https://ch.search.yahoo.com/ - diff --git a/Client/Assets/Search/SearchPlugins/yahoo-cl.xml b/Client/Assets/Search/SearchPlugins/yahoo-cl.xml deleted file mode 100644 index 74bb64e99..000000000 --- a/Client/Assets/Search/SearchPlugins/yahoo-cl.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - -Yahoo -UTF-8 -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAt1BMVEUAAABTALVUALVUALZUALVVAL9TALX///9hFrv+/v77+v19QMdXBrfezvGba9SVYtH49vzw6vnIree+n+P08Pro3vXaye/Ot+rKsejFqua1kt+yjd6of9qfcdaOV855OcV1M8NuKMBpIb7l2PPi1PKrg9uidteKUs2GTcuESspaC7jz7frUwO3Bo+SviNyhdNaZaNOYZ9KSXdBnHb1eEbldD7n18frs4/a6muG6meG5mOGnftmletijsdsyAAAABnRSTlMA8si8ZBgxEvPEAAACZElEQVRo3u2aaW/CMAyGC2NuoeUobMC473FtY4Pd+/+/a2SOlIy1SDR5pSHVH6pUcfI0sRM7VZy95LIZAkgmm3OEXF4QTC4u9wBU/0zYzw9BJedkCSpZJ0NQyTgElhSQAlJACjABLDo933/q1PrH288/Zr3bXnnqnwzwVu6PFOmYBNesdb08fYrKLsvmGKArleZJbLDmtuEuXsW7Yp1mIiMPC9y6Fa9SY43KNpkXfXLzwjBOYZBnjVlCNw3G3L4Rp1Dn+kmQEEC+MuExN/CTL7Q76YSRn7gLubZGSQHKS76iKj+4buUZAKgk3WQUb+GN2V5UlI4eW1MnM0BffuciZmyFgSGA3pSdo6zTIlOA98I9dSLXcPhsDKAHZee/M/dIpgC1npsRFi5aiWhzl+VWtzCLbwVADe7tdXlo4RsyB+j7dvtgB6lsLQGorXxe3wM7ZAvwHOqrNpioKbMDUBtzWbzM5EvPZl5UV+tqW+HymmwC+i7LO1GVS/mBTYDq1l9I1BvZBYykq45lpnXlWQbQvftLumQbsAz1/seBbYByVRl/bAPUDsqZEgLArsq5HgRAN66r4iQCMJRhbLUjggCoqrkoBFDSQhsE8IgGbLR9GjlFT6J8noCuFtcggE8tnYMApgwoiTIGAF1oKug8iDIE0NaOxRgAegQt7cwJAdS0nBQCkBFnym+4eHDPb7AR8DkBOAIOyRBAU2bAogwBNLTfKxDAmgF3ogwB1LXDJQRQZEBVlCGAiXbmBwEKL5U8p74QwMgTT28knv//73sKSAEp4JwA6EsD8GsP8Isb6Ksn+Msz8Os/38MM7gJG7lmzAAAAAElFTkSuQmCC - - - - - - - - - - - -https://cl.search.yahoo.com/ - diff --git a/Client/Assets/Search/SearchPlugins/yahoo-de.xml b/Client/Assets/Search/SearchPlugins/yahoo-de.xml deleted file mode 100644 index 5ad83bf00..000000000 --- a/Client/Assets/Search/SearchPlugins/yahoo-de.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - -Yahoo -UTF-8 -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAt1BMVEUAAABTALVUALVUALZUALVVAL9TALX///9hFrv+/v77+v19QMdXBrfezvGba9SVYtH49vzw6vnIree+n+P08Pro3vXaye/Ot+rKsejFqua1kt+yjd6of9qfcdaOV855OcV1M8NuKMBpIb7l2PPi1PKrg9uidteKUs2GTcuESspaC7jz7frUwO3Bo+SviNyhdNaZaNOYZ9KSXdBnHb1eEbldD7n18frs4/a6muG6meG5mOGnftmletijsdsyAAAABnRSTlMA8si8ZBgxEvPEAAACZElEQVRo3u2aaW/CMAyGC2NuoeUobMC473FtY4Pd+/+/a2SOlIy1SDR5pSHVH6pUcfI0sRM7VZy95LIZAkgmm3OEXF4QTC4u9wBU/0zYzw9BJedkCSpZJ0NQyTgElhSQAlJACjABLDo933/q1PrH288/Zr3bXnnqnwzwVu6PFOmYBNesdb08fYrKLsvmGKArleZJbLDmtuEuXsW7Yp1mIiMPC9y6Fa9SY43KNpkXfXLzwjBOYZBnjVlCNw3G3L4Rp1Dn+kmQEEC+MuExN/CTL7Q76YSRn7gLubZGSQHKS76iKj+4buUZAKgk3WQUb+GN2V5UlI4eW1MnM0BffuciZmyFgSGA3pSdo6zTIlOA98I9dSLXcPhsDKAHZee/M/dIpgC1npsRFi5aiWhzl+VWtzCLbwVADe7tdXlo4RsyB+j7dvtgB6lsLQGorXxe3wM7ZAvwHOqrNpioKbMDUBtzWbzM5EvPZl5UV+tqW+HymmwC+i7LO1GVS/mBTYDq1l9I1BvZBYykq45lpnXlWQbQvftLumQbsAz1/seBbYByVRl/bAPUDsqZEgLArsq5HgRAN66r4iQCMJRhbLUjggCoqrkoBFDSQhsE8IgGbLR9GjlFT6J8noCuFtcggE8tnYMApgwoiTIGAF1oKug8iDIE0NaOxRgAegQt7cwJAdS0nBQCkBFnym+4eHDPb7AR8DkBOAIOyRBAU2bAogwBNLTfKxDAmgF3ogwB1LXDJQRQZEBVlCGAiXbmBwEKL5U8p74QwMgTT28knv//73sKSAEp4JwA6EsD8GsP8Isb6Ksn+Msz8Os/38MM7gJG7lmzAAAAAElFTkSuQmCC - - - - - - - - - - - -https://de.search.yahoo.com/ - diff --git a/Client/Assets/Search/SearchPlugins/yahoo-en-GB.xml b/Client/Assets/Search/SearchPlugins/yahoo-en-GB.xml deleted file mode 100644 index 37f8e96db..000000000 --- a/Client/Assets/Search/SearchPlugins/yahoo-en-GB.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - -Yahoo.co.uk -UTF-8 -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAt1BMVEUAAABTALVUALVUALZUALVVAL9TALX///9hFrv+/v77+v19QMdXBrfezvGba9SVYtH49vzw6vnIree+n+P08Pro3vXaye/Ot+rKsejFqua1kt+yjd6of9qfcdaOV855OcV1M8NuKMBpIb7l2PPi1PKrg9uidteKUs2GTcuESspaC7jz7frUwO3Bo+SviNyhdNaZaNOYZ9KSXdBnHb1eEbldD7n18frs4/a6muG6meG5mOGnftmletijsdsyAAAABnRSTlMA8si8ZBgxEvPEAAACZElEQVRo3u2aaW/CMAyGC2NuoeUobMC473FtY4Pd+/+/a2SOlIy1SDR5pSHVH6pUcfI0sRM7VZy95LIZAkgmm3OEXF4QTC4u9wBU/0zYzw9BJedkCSpZJ0NQyTgElhSQAlJACjABLDo933/q1PrH288/Zr3bXnnqnwzwVu6PFOmYBNesdb08fYrKLsvmGKArleZJbLDmtuEuXsW7Yp1mIiMPC9y6Fa9SY43KNpkXfXLzwjBOYZBnjVlCNw3G3L4Rp1Dn+kmQEEC+MuExN/CTL7Q76YSRn7gLubZGSQHKS76iKj+4buUZAKgk3WQUb+GN2V5UlI4eW1MnM0BffuciZmyFgSGA3pSdo6zTIlOA98I9dSLXcPhsDKAHZee/M/dIpgC1npsRFi5aiWhzl+VWtzCLbwVADe7tdXlo4RsyB+j7dvtgB6lsLQGorXxe3wM7ZAvwHOqrNpioKbMDUBtzWbzM5EvPZl5UV+tqW+HymmwC+i7LO1GVS/mBTYDq1l9I1BvZBYykq45lpnXlWQbQvftLumQbsAz1/seBbYByVRl/bAPUDsqZEgLArsq5HgRAN66r4iQCMJRhbLUjggCoqrkoBFDSQhsE8IgGbLR9GjlFT6J8noCuFtcggE8tnYMApgwoiTIGAF1oKug8iDIE0NaOxRgAegQt7cwJAdS0nBQCkBFnym+4eHDPb7AR8DkBOAIOyRBAU2bAogwBNLTfKxDAmgF3ogwB1LXDJQRQZEBVlCGAiXbmBwEKL5U8p74QwMgTT28knv//73sKSAEp4JwA6EsD8GsP8Isb6Ksn+Msz8Os/38MM7gJG7lmzAAAAAElFTkSuQmCC - - - - - - - - - - - -https://uk.search.yahoo.com/ - diff --git a/Client/Assets/Search/SearchPlugins/yahoo-es.xml b/Client/Assets/Search/SearchPlugins/yahoo-es.xml deleted file mode 100644 index 69c9160a5..000000000 --- a/Client/Assets/Search/SearchPlugins/yahoo-es.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - -Yahoo -UTF-8 -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAt1BMVEUAAABTALVUALVUALZUALVVAL9TALX///9hFrv+/v77+v19QMdXBrfezvGba9SVYtH49vzw6vnIree+n+P08Pro3vXaye/Ot+rKsejFqua1kt+yjd6of9qfcdaOV855OcV1M8NuKMBpIb7l2PPi1PKrg9uidteKUs2GTcuESspaC7jz7frUwO3Bo+SviNyhdNaZaNOYZ9KSXdBnHb1eEbldD7n18frs4/a6muG6meG5mOGnftmletijsdsyAAAABnRSTlMA8si8ZBgxEvPEAAACZElEQVRo3u2aaW/CMAyGC2NuoeUobMC473FtY4Pd+/+/a2SOlIy1SDR5pSHVH6pUcfI0sRM7VZy95LIZAkgmm3OEXF4QTC4u9wBU/0zYzw9BJedkCSpZJ0NQyTgElhSQAlJACjABLDo933/q1PrH288/Zr3bXnnqnwzwVu6PFOmYBNesdb08fYrKLsvmGKArleZJbLDmtuEuXsW7Yp1mIiMPC9y6Fa9SY43KNpkXfXLzwjBOYZBnjVlCNw3G3L4Rp1Dn+kmQEEC+MuExN/CTL7Q76YSRn7gLubZGSQHKS76iKj+4buUZAKgk3WQUb+GN2V5UlI4eW1MnM0BffuciZmyFgSGA3pSdo6zTIlOA98I9dSLXcPhsDKAHZee/M/dIpgC1npsRFi5aiWhzl+VWtzCLbwVADe7tdXlo4RsyB+j7dvtgB6lsLQGorXxe3wM7ZAvwHOqrNpioKbMDUBtzWbzM5EvPZl5UV+tqW+HymmwC+i7LO1GVS/mBTYDq1l9I1BvZBYykq45lpnXlWQbQvftLumQbsAz1/seBbYByVRl/bAPUDsqZEgLArsq5HgRAN66r4iQCMJRhbLUjggCoqrkoBFDSQhsE8IgGbLR9GjlFT6J8noCuFtcggE8tnYMApgwoiTIGAF1oKug8iDIE0NaOxRgAegQt7cwJAdS0nBQCkBFnym+4eHDPb7AR8DkBOAIOyRBAU2bAogwBNLTfKxDAmgF3ogwB1LXDJQRQZEBVlCGAiXbmBwEKL5U8p74QwMgTT28knv//73sKSAEp4JwA6EsD8GsP8Isb6Ksn+Msz8Os/38MM7gJG7lmzAAAAAElFTkSuQmCC - - - - - - - - - - - -https://es.search.yahoo.com/ - diff --git a/Client/Assets/Search/SearchPlugins/yahoo-espanol.xml b/Client/Assets/Search/SearchPlugins/yahoo-espanol.xml deleted file mode 100644 index 059604221..000000000 --- a/Client/Assets/Search/SearchPlugins/yahoo-espanol.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - -Yahoo -UTF-8 -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAt1BMVEUAAABTALVUALVUALZUALVVAL9TALX///9hFrv+/v77+v19QMdXBrfezvGba9SVYtH49vzw6vnIree+n+P08Pro3vXaye/Ot+rKsejFqua1kt+yjd6of9qfcdaOV855OcV1M8NuKMBpIb7l2PPi1PKrg9uidteKUs2GTcuESspaC7jz7frUwO3Bo+SviNyhdNaZaNOYZ9KSXdBnHb1eEbldD7n18frs4/a6muG6meG5mOGnftmletijsdsyAAAABnRSTlMA8si8ZBgxEvPEAAACZElEQVRo3u2aaW/CMAyGC2NuoeUobMC473FtY4Pd+/+/a2SOlIy1SDR5pSHVH6pUcfI0sRM7VZy95LIZAkgmm3OEXF4QTC4u9wBU/0zYzw9BJedkCSpZJ0NQyTgElhSQAlJACjABLDo933/q1PrH288/Zr3bXnnqnwzwVu6PFOmYBNesdb08fYrKLsvmGKArleZJbLDmtuEuXsW7Yp1mIiMPC9y6Fa9SY43KNpkXfXLzwjBOYZBnjVlCNw3G3L4Rp1Dn+kmQEEC+MuExN/CTL7Q76YSRn7gLubZGSQHKS76iKj+4buUZAKgk3WQUb+GN2V5UlI4eW1MnM0BffuciZmyFgSGA3pSdo6zTIlOA98I9dSLXcPhsDKAHZee/M/dIpgC1npsRFi5aiWhzl+VWtzCLbwVADe7tdXlo4RsyB+j7dvtgB6lsLQGorXxe3wM7ZAvwHOqrNpioKbMDUBtzWbzM5EvPZl5UV+tqW+HymmwC+i7LO1GVS/mBTYDq1l9I1BvZBYykq45lpnXlWQbQvftLumQbsAz1/seBbYByVRl/bAPUDsqZEgLArsq5HgRAN66r4iQCMJRhbLUjggCoqrkoBFDSQhsE8IgGbLR9GjlFT6J8noCuFtcggE8tnYMApgwoiTIGAF1oKug8iDIE0NaOxRgAegQt7cwJAdS0nBQCkBFnym+4eHDPb7AR8DkBOAIOyRBAU2bAogwBNLTfKxDAmgF3ogwB1LXDJQRQZEBVlCGAiXbmBwEKL5U8p74QwMgTT28knv//73sKSAEp4JwA6EsD8GsP8Isb6Ksn+Msz8Os/38MM7gJG7lmzAAAAAElFTkSuQmCC - - - - - - - - - - - -https://espanol.search.yahoo.com/ - diff --git a/Client/Assets/Search/SearchPlugins/yahoo-fi.xml b/Client/Assets/Search/SearchPlugins/yahoo-fi.xml deleted file mode 100644 index 63440dde5..000000000 --- a/Client/Assets/Search/SearchPlugins/yahoo-fi.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - -Yahoo -UTF-8 -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAt1BMVEUAAABTALVUALVUALZUALVVAL9TALX///9hFrv+/v77+v19QMdXBrfezvGba9SVYtH49vzw6vnIree+n+P08Pro3vXaye/Ot+rKsejFqua1kt+yjd6of9qfcdaOV855OcV1M8NuKMBpIb7l2PPi1PKrg9uidteKUs2GTcuESspaC7jz7frUwO3Bo+SviNyhdNaZaNOYZ9KSXdBnHb1eEbldD7n18frs4/a6muG6meG5mOGnftmletijsdsyAAAABnRSTlMA8si8ZBgxEvPEAAACZElEQVRo3u2aaW/CMAyGC2NuoeUobMC473FtY4Pd+/+/a2SOlIy1SDR5pSHVH6pUcfI0sRM7VZy95LIZAkgmm3OEXF4QTC4u9wBU/0zYzw9BJedkCSpZJ0NQyTgElhSQAlJACjABLDo933/q1PrH288/Zr3bXnnqnwzwVu6PFOmYBNesdb08fYrKLsvmGKArleZJbLDmtuEuXsW7Yp1mIiMPC9y6Fa9SY43KNpkXfXLzwjBOYZBnjVlCNw3G3L4Rp1Dn+kmQEEC+MuExN/CTL7Q76YSRn7gLubZGSQHKS76iKj+4buUZAKgk3WQUb+GN2V5UlI4eW1MnM0BffuciZmyFgSGA3pSdo6zTIlOA98I9dSLXcPhsDKAHZee/M/dIpgC1npsRFi5aiWhzl+VWtzCLbwVADe7tdXlo4RsyB+j7dvtgB6lsLQGorXxe3wM7ZAvwHOqrNpioKbMDUBtzWbzM5EvPZl5UV+tqW+HymmwC+i7LO1GVS/mBTYDq1l9I1BvZBYykq45lpnXlWQbQvftLumQbsAz1/seBbYByVRl/bAPUDsqZEgLArsq5HgRAN66r4iQCMJRhbLUjggCoqrkoBFDSQhsE8IgGbLR9GjlFT6J8noCuFtcggE8tnYMApgwoiTIGAF1oKug8iDIE0NaOxRgAegQt7cwJAdS0nBQCkBFnym+4eHDPb7AR8DkBOAIOyRBAU2bAogwBNLTfKxDAmgF3ogwB1LXDJQRQZEBVlCGAiXbmBwEKL5U8p74QwMgTT28knv//73sKSAEp4JwA6EsD8GsP8Isb6Ksn+Msz8Os/38MM7gJG7lmzAAAAAElFTkSuQmCC - - - - - - - - - - - -https://fi.search.yahoo.com/ - diff --git a/Client/Assets/Search/SearchPlugins/yahoo-france.xml b/Client/Assets/Search/SearchPlugins/yahoo-france.xml deleted file mode 100644 index f7b74e0b1..000000000 --- a/Client/Assets/Search/SearchPlugins/yahoo-france.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - -Yahoo -UTF-8 -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAt1BMVEUAAABTALVUALVUALZUALVVAL9TALX///9hFrv+/v77+v19QMdXBrfezvGba9SVYtH49vzw6vnIree+n+P08Pro3vXaye/Ot+rKsejFqua1kt+yjd6of9qfcdaOV855OcV1M8NuKMBpIb7l2PPi1PKrg9uidteKUs2GTcuESspaC7jz7frUwO3Bo+SviNyhdNaZaNOYZ9KSXdBnHb1eEbldD7n18frs4/a6muG6meG5mOGnftmletijsdsyAAAABnRSTlMA8si8ZBgxEvPEAAACZElEQVRo3u2aaW/CMAyGC2NuoeUobMC473FtY4Pd+/+/a2SOlIy1SDR5pSHVH6pUcfI0sRM7VZy95LIZAkgmm3OEXF4QTC4u9wBU/0zYzw9BJedkCSpZJ0NQyTgElhSQAlJACjABLDo933/q1PrH288/Zr3bXnnqnwzwVu6PFOmYBNesdb08fYrKLsvmGKArleZJbLDmtuEuXsW7Yp1mIiMPC9y6Fa9SY43KNpkXfXLzwjBOYZBnjVlCNw3G3L4Rp1Dn+kmQEEC+MuExN/CTL7Q76YSRn7gLubZGSQHKS76iKj+4buUZAKgk3WQUb+GN2V5UlI4eW1MnM0BffuciZmyFgSGA3pSdo6zTIlOA98I9dSLXcPhsDKAHZee/M/dIpgC1npsRFi5aiWhzl+VWtzCLbwVADe7tdXlo4RsyB+j7dvtgB6lsLQGorXxe3wM7ZAvwHOqrNpioKbMDUBtzWbzM5EvPZl5UV+tqW+HymmwC+i7LO1GVS/mBTYDq1l9I1BvZBYykq45lpnXlWQbQvftLumQbsAz1/seBbYByVRl/bAPUDsqZEgLArsq5HgRAN66r4iQCMJRhbLUjggCoqrkoBFDSQhsE8IgGbLR9GjlFT6J8noCuFtcggE8tnYMApgwoiTIGAF1oKug8iDIE0NaOxRgAegQt7cwJAdS0nBQCkBFnym+4eHDPb7AR8DkBOAIOyRBAU2bAogwBNLTfKxDAmgF3ogwB1LXDJQRQZEBVlCGAiXbmBwEKL5U8p74QwMgTT28knv//73sKSAEp4JwA6EsD8GsP8Isb6Ksn+Msz8Os/38MM7gJG7lmzAAAAAElFTkSuQmCC - - - - - - - - - - - -https://fr.search.yahoo.com/ - diff --git a/Client/Assets/Search/SearchPlugins/yahoo-id.xml b/Client/Assets/Search/SearchPlugins/yahoo-id.xml deleted file mode 100644 index d456a79be..000000000 --- a/Client/Assets/Search/SearchPlugins/yahoo-id.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - -Yahoo -UTF-8 -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAt1BMVEUAAABTALVUALVUALZUALVVAL9TALX///9hFrv+/v77+v19QMdXBrfezvGba9SVYtH49vzw6vnIree+n+P08Pro3vXaye/Ot+rKsejFqua1kt+yjd6of9qfcdaOV855OcV1M8NuKMBpIb7l2PPi1PKrg9uidteKUs2GTcuESspaC7jz7frUwO3Bo+SviNyhdNaZaNOYZ9KSXdBnHb1eEbldD7n18frs4/a6muG6meG5mOGnftmletijsdsyAAAABnRSTlMA8si8ZBgxEvPEAAACZElEQVRo3u2aaW/CMAyGC2NuoeUobMC473FtY4Pd+/+/a2SOlIy1SDR5pSHVH6pUcfI0sRM7VZy95LIZAkgmm3OEXF4QTC4u9wBU/0zYzw9BJedkCSpZJ0NQyTgElhSQAlJACjABLDo933/q1PrH288/Zr3bXnnqnwzwVu6PFOmYBNesdb08fYrKLsvmGKArleZJbLDmtuEuXsW7Yp1mIiMPC9y6Fa9SY43KNpkXfXLzwjBOYZBnjVlCNw3G3L4Rp1Dn+kmQEEC+MuExN/CTL7Q76YSRn7gLubZGSQHKS76iKj+4buUZAKgk3WQUb+GN2V5UlI4eW1MnM0BffuciZmyFgSGA3pSdo6zTIlOA98I9dSLXcPhsDKAHZee/M/dIpgC1npsRFi5aiWhzl+VWtzCLbwVADe7tdXlo4RsyB+j7dvtgB6lsLQGorXxe3wM7ZAvwHOqrNpioKbMDUBtzWbzM5EvPZl5UV+tqW+HymmwC+i7LO1GVS/mBTYDq1l9I1BvZBYykq45lpnXlWQbQvftLumQbsAz1/seBbYByVRl/bAPUDsqZEgLArsq5HgRAN66r4iQCMJRhbLUjggCoqrkoBFDSQhsE8IgGbLR9GjlFT6J8noCuFtcggE8tnYMApgwoiTIGAF1oKug8iDIE0NaOxRgAegQt7cwJAdS0nBQCkBFnym+4eHDPb7AR8DkBOAIOyRBAU2bAogwBNLTfKxDAmgF3ogwB1LXDJQRQZEBVlCGAiXbmBwEKL5U8p74QwMgTT28knv//73sKSAEp4JwA6EsD8GsP8Isb6Ksn+Msz8Os/38MM7gJG7lmzAAAAAElFTkSuQmCC - - - - - - - - - - - -https://id.search.yahoo.com/ - diff --git a/Client/Assets/Search/SearchPlugins/yahoo-in.xml b/Client/Assets/Search/SearchPlugins/yahoo-in.xml deleted file mode 100644 index 8b17bdcb0..000000000 --- a/Client/Assets/Search/SearchPlugins/yahoo-in.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - -Yahoo -UTF-8 -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAt1BMVEUAAABTALVUALVUALZUALVVAL9TALX///9hFrv+/v77+v19QMdXBrfezvGba9SVYtH49vzw6vnIree+n+P08Pro3vXaye/Ot+rKsejFqua1kt+yjd6of9qfcdaOV855OcV1M8NuKMBpIb7l2PPi1PKrg9uidteKUs2GTcuESspaC7jz7frUwO3Bo+SviNyhdNaZaNOYZ9KSXdBnHb1eEbldD7n18frs4/a6muG6meG5mOGnftmletijsdsyAAAABnRSTlMA8si8ZBgxEvPEAAACZElEQVRo3u2aaW/CMAyGC2NuoeUobMC473FtY4Pd+/+/a2SOlIy1SDR5pSHVH6pUcfI0sRM7VZy95LIZAkgmm3OEXF4QTC4u9wBU/0zYzw9BJedkCSpZJ0NQyTgElhSQAlJACjABLDo933/q1PrH288/Zr3bXnnqnwzwVu6PFOmYBNesdb08fYrKLsvmGKArleZJbLDmtuEuXsW7Yp1mIiMPC9y6Fa9SY43KNpkXfXLzwjBOYZBnjVlCNw3G3L4Rp1Dn+kmQEEC+MuExN/CTL7Q76YSRn7gLubZGSQHKS76iKj+4buUZAKgk3WQUb+GN2V5UlI4eW1MnM0BffuciZmyFgSGA3pSdo6zTIlOA98I9dSLXcPhsDKAHZee/M/dIpgC1npsRFi5aiWhzl+VWtzCLbwVADe7tdXlo4RsyB+j7dvtgB6lsLQGorXxe3wM7ZAvwHOqrNpioKbMDUBtzWbzM5EvPZl5UV+tqW+HymmwC+i7LO1GVS/mBTYDq1l9I1BvZBYykq45lpnXlWQbQvftLumQbsAz1/seBbYByVRl/bAPUDsqZEgLArsq5HgRAN66r4iQCMJRhbLUjggCoqrkoBFDSQhsE8IgGbLR9GjlFT6J8noCuFtcggE8tnYMApgwoiTIGAF1oKug8iDIE0NaOxRgAegQt7cwJAdS0nBQCkBFnym+4eHDPb7AR8DkBOAIOyRBAU2bAogwBNLTfKxDAmgF3ogwB1LXDJQRQZEBVlCGAiXbmBwEKL5U8p74QwMgTT28knv//73sKSAEp4JwA6EsD8GsP8Isb6Ksn+Msz8Os/38MM7gJG7lmzAAAAAElFTkSuQmCC - - - - - - - - - - - -https://in.search.yahoo.com/ - diff --git a/Client/Assets/Search/SearchPlugins/yahoo-it.xml b/Client/Assets/Search/SearchPlugins/yahoo-it.xml deleted file mode 100644 index 6c86e31e4..000000000 --- a/Client/Assets/Search/SearchPlugins/yahoo-it.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - -Yahoo -UTF-8 -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAt1BMVEUAAABTALVUALVUALZUALVVAL9TALX///9hFrv+/v77+v19QMdXBrfezvGba9SVYtH49vzw6vnIree+n+P08Pro3vXaye/Ot+rKsejFqua1kt+yjd6of9qfcdaOV855OcV1M8NuKMBpIb7l2PPi1PKrg9uidteKUs2GTcuESspaC7jz7frUwO3Bo+SviNyhdNaZaNOYZ9KSXdBnHb1eEbldD7n18frs4/a6muG6meG5mOGnftmletijsdsyAAAABnRSTlMA8si8ZBgxEvPEAAACZElEQVRo3u2aaW/CMAyGC2NuoeUobMC473FtY4Pd+/+/a2SOlIy1SDR5pSHVH6pUcfI0sRM7VZy95LIZAkgmm3OEXF4QTC4u9wBU/0zYzw9BJedkCSpZJ0NQyTgElhSQAlJACjABLDo933/q1PrH288/Zr3bXnnqnwzwVu6PFOmYBNesdb08fYrKLsvmGKArleZJbLDmtuEuXsW7Yp1mIiMPC9y6Fa9SY43KNpkXfXLzwjBOYZBnjVlCNw3G3L4Rp1Dn+kmQEEC+MuExN/CTL7Q76YSRn7gLubZGSQHKS76iKj+4buUZAKgk3WQUb+GN2V5UlI4eW1MnM0BffuciZmyFgSGA3pSdo6zTIlOA98I9dSLXcPhsDKAHZee/M/dIpgC1npsRFi5aiWhzl+VWtzCLbwVADe7tdXlo4RsyB+j7dvtgB6lsLQGorXxe3wM7ZAvwHOqrNpioKbMDUBtzWbzM5EvPZl5UV+tqW+HymmwC+i7LO1GVS/mBTYDq1l9I1BvZBYykq45lpnXlWQbQvftLumQbsAz1/seBbYByVRl/bAPUDsqZEgLArsq5HgRAN66r4iQCMJRhbLUjggCoqrkoBFDSQhsE8IgGbLR9GjlFT6J8noCuFtcggE8tnYMApgwoiTIGAF1oKug8iDIE0NaOxRgAegQt7cwJAdS0nBQCkBFnym+4eHDPb7AR8DkBOAIOyRBAU2bAogwBNLTfKxDAmgF3ogwB1LXDJQRQZEBVlCGAiXbmBwEKL5U8p74QwMgTT28knv//73sKSAEp4JwA6EsD8GsP8Isb6Ksn+Msz8Os/38MM7gJG7lmzAAAAAElFTkSuQmCC - - - - - - - - - - - -https://it.search.yahoo.com/ - diff --git a/Client/Assets/Search/SearchPlugins/yahoo-jp.xml b/Client/Assets/Search/SearchPlugins/yahoo-jp.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/yahoo-mx.xml b/Client/Assets/Search/SearchPlugins/yahoo-mx.xml deleted file mode 100644 index 0dd620c7d..000000000 --- a/Client/Assets/Search/SearchPlugins/yahoo-mx.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - -Yahoo -UTF-8 -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAt1BMVEUAAABTALVUALVUALZUALVVAL9TALX///9hFrv+/v77+v19QMdXBrfezvGba9SVYtH49vzw6vnIree+n+P08Pro3vXaye/Ot+rKsejFqua1kt+yjd6of9qfcdaOV855OcV1M8NuKMBpIb7l2PPi1PKrg9uidteKUs2GTcuESspaC7jz7frUwO3Bo+SviNyhdNaZaNOYZ9KSXdBnHb1eEbldD7n18frs4/a6muG6meG5mOGnftmletijsdsyAAAABnRSTlMA8si8ZBgxEvPEAAACZElEQVRo3u2aaW/CMAyGC2NuoeUobMC473FtY4Pd+/+/a2SOlIy1SDR5pSHVH6pUcfI0sRM7VZy95LIZAkgmm3OEXF4QTC4u9wBU/0zYzw9BJedkCSpZJ0NQyTgElhSQAlJACjABLDo933/q1PrH288/Zr3bXnnqnwzwVu6PFOmYBNesdb08fYrKLsvmGKArleZJbLDmtuEuXsW7Yp1mIiMPC9y6Fa9SY43KNpkXfXLzwjBOYZBnjVlCNw3G3L4Rp1Dn+kmQEEC+MuExN/CTL7Q76YSRn7gLubZGSQHKS76iKj+4buUZAKgk3WQUb+GN2V5UlI4eW1MnM0BffuciZmyFgSGA3pSdo6zTIlOA98I9dSLXcPhsDKAHZee/M/dIpgC1npsRFi5aiWhzl+VWtzCLbwVADe7tdXlo4RsyB+j7dvtgB6lsLQGorXxe3wM7ZAvwHOqrNpioKbMDUBtzWbzM5EvPZl5UV+tqW+HymmwC+i7LO1GVS/mBTYDq1l9I1BvZBYykq45lpnXlWQbQvftLumQbsAz1/seBbYByVRl/bAPUDsqZEgLArsq5HgRAN66r4iQCMJRhbLUjggCoqrkoBFDSQhsE8IgGbLR9GjlFT6J8noCuFtcggE8tnYMApgwoiTIGAF1oKug8iDIE0NaOxRgAegQt7cwJAdS0nBQCkBFnym+4eHDPb7AR8DkBOAIOyRBAU2bAogwBNLTfKxDAmgF3ogwB1LXDJQRQZEBVlCGAiXbmBwEKL5U8p74QwMgTT28knv//73sKSAEp4JwA6EsD8GsP8Isb6Ksn+Msz8Os/38MM7gJG7lmzAAAAAElFTkSuQmCC - - - - - - - - - - - -https://mx.search.yahoo.com/ - diff --git a/Client/Assets/Search/SearchPlugins/yahoo.xml b/Client/Assets/Search/SearchPlugins/yahoo.xml deleted file mode 100644 index 1b08182e0..000000000 --- a/Client/Assets/Search/SearchPlugins/yahoo.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - -Yahoo -UTF-8 -data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAt1BMVEUAAABTALVUALVUALZUALVVAL9TALX///9hFrv+/v77+v19QMdXBrfezvGba9SVYtH49vzw6vnIree+n+P08Pro3vXaye/Ot+rKsejFqua1kt+yjd6of9qfcdaOV855OcV1M8NuKMBpIb7l2PPi1PKrg9uidteKUs2GTcuESspaC7jz7frUwO3Bo+SviNyhdNaZaNOYZ9KSXdBnHb1eEbldD7n18frs4/a6muG6meG5mOGnftmletijsdsyAAAABnRSTlMA8si8ZBgxEvPEAAACZElEQVRo3u2aaW/CMAyGC2NuoeUobMC473FtY4Pd+/+/a2SOlIy1SDR5pSHVH6pUcfI0sRM7VZy95LIZAkgmm3OEXF4QTC4u9wBU/0zYzw9BJedkCSpZJ0NQyTgElhSQAlJACjABLDo933/q1PrH288/Zr3bXnnqnwzwVu6PFOmYBNesdb08fYrKLsvmGKArleZJbLDmtuEuXsW7Yp1mIiMPC9y6Fa9SY43KNpkXfXLzwjBOYZBnjVlCNw3G3L4Rp1Dn+kmQEEC+MuExN/CTL7Q76YSRn7gLubZGSQHKS76iKj+4buUZAKgk3WQUb+GN2V5UlI4eW1MnM0BffuciZmyFgSGA3pSdo6zTIlOA98I9dSLXcPhsDKAHZee/M/dIpgC1npsRFi5aiWhzl+VWtzCLbwVADe7tdXlo4RsyB+j7dvtgB6lsLQGorXxe3wM7ZAvwHOqrNpioKbMDUBtzWbzM5EvPZl5UV+tqW+HymmwC+i7LO1GVS/mBTYDq1l9I1BvZBYykq45lpnXlWQbQvftLumQbsAz1/seBbYByVRl/bAPUDsqZEgLArsq5HgRAN66r4iQCMJRhbLUjggCoqrkoBFDSQhsE8IgGbLR9GjlFT6J8noCuFtcggE8tnYMApgwoiTIGAF1oKug8iDIE0NaOxRgAegQt7cwJAdS0nBQCkBFnym+4eHDPb7AR8DkBOAIOyRBAU2bAogwBNLTfKxDAmgF3ogwB1LXDJQRQZEBVlCGAiXbmBwEKL5U8p74QwMgTT28knv//73sKSAEp4JwA6EsD8GsP8Isb6Ksn+Msz8Os/38MM7gJG7lmzAAAAAElFTkSuQmCC - - - - - - - - - - - - - - - - - - - - - diff --git a/Client/Assets/Search/SearchPlugins/yandex-market.xml b/Client/Assets/Search/SearchPlugins/yandex-market.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/yandex-ru.xml b/Client/Assets/Search/SearchPlugins/yandex-ru.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/yandex-tr.xml b/Client/Assets/Search/SearchPlugins/yandex-tr.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/yandex.by.xml b/Client/Assets/Search/SearchPlugins/yandex.by.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/SearchPlugins/yandex.xml b/Client/Assets/Search/SearchPlugins/yandex.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/Tests/Base/testplugin.xml b/Client/Assets/Search/Tests/Base/testplugin.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/Tests/Expected/append.xml b/Client/Assets/Search/Tests/Expected/append.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/Tests/Expected/replace.xml b/Client/Assets/Search/Tests/Expected/replace.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/Tests/Overlays/append.xml b/Client/Assets/Search/Tests/Overlays/append.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/Search/Tests/Overlays/replace.xml b/Client/Assets/Search/Tests/Overlays/replace.xml old mode 100644 new mode 100755 diff --git a/Client/Assets/SessionRestore.html b/Client/Assets/SessionRestore.html old mode 100644 new mode 100755 diff --git a/Client/Assets/SpotlightHelper.js b/Client/Assets/SpotlightHelper.js old mode 100644 new mode 100755 diff --git a/Client/Assets/TopSites/mozilla-com.png b/Client/Assets/TopSites/mozilla-com.png old mode 100644 new mode 100755 diff --git a/Client/Assets/topdomains.txt b/Client/Assets/topdomains.txt old mode 100644 new mode 100755 diff --git a/Client/Configuration/Fennec.enterprise.xcconfig b/Client/Configuration/Fennec.enterprise.xcconfig old mode 100644 new mode 100755 diff --git a/Client/Configuration/Fennec.xcconfig b/Client/Configuration/Fennec.xcconfig old mode 100644 new mode 100755 diff --git a/Client/Configuration/Firefox.xcconfig b/Client/Configuration/Firefox.xcconfig old mode 100644 new mode 100755 diff --git a/Client/Configuration/FirefoxBeta.xcconfig b/Client/Configuration/FirefoxBeta.xcconfig old mode 100644 new mode 100755 diff --git a/Client/DispatchQueueExtensions.swift b/Client/DispatchQueueExtensions.swift old mode 100644 new mode 100755 diff --git a/Client/Entitlements/FennecApplication.entitlements b/Client/Entitlements/FennecApplication.entitlements old mode 100644 new mode 100755 diff --git a/Client/Entitlements/FennecEnterpriseApplication.entitlements b/Client/Entitlements/FennecEnterpriseApplication.entitlements old mode 100644 new mode 100755 diff --git a/Client/Entitlements/FirefoxApplication.entitlements b/Client/Entitlements/FirefoxApplication.entitlements old mode 100644 new mode 100755 diff --git a/Client/Entitlements/FirefoxBetaApplication.entitlements b/Client/Entitlements/FirefoxBetaApplication.entitlements old mode 100644 new mode 100755 diff --git a/Client/Extensions/GeometryExtensions.swift b/Client/Extensions/GeometryExtensions.swift old mode 100644 new mode 100755 diff --git a/Client/Extensions/NSAttributedStringExtensions.swift b/Client/Extensions/NSAttributedStringExtensions.swift old mode 100644 new mode 100755 diff --git a/Client/Extensions/NSURLExtensionsMailTo.swift b/Client/Extensions/NSURLExtensionsMailTo.swift old mode 100644 new mode 100755 diff --git a/Client/Extensions/SnapKitExtensions.swift b/Client/Extensions/SnapKitExtensions.swift old mode 100644 new mode 100755 diff --git a/Client/Extensions/UIAlertControllerExtensions.swift b/Client/Extensions/UIAlertControllerExtensions.swift old mode 100644 new mode 100755 diff --git a/Client/Extensions/UIImageViewExtensions.swift b/Client/Extensions/UIImageViewExtensions.swift old mode 100644 new mode 100755 diff --git a/Client/Extensions/UIPasteboardExtensions.swift b/Client/Extensions/UIPasteboardExtensions.swift old mode 100644 new mode 100755 diff --git a/Client/Extensions/UIViewExtensions.swift b/Client/Extensions/UIViewExtensions.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Accessors/HomePageAccessors.swift b/Client/Frontend/Accessors/HomePageAccessors.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Accessors/NewTabAccessors.swift b/Client/Frontend/Accessors/NewTabAccessors.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/AuthenticationManager/AppAuthenticator.swift b/Client/Frontend/AuthenticationManager/AppAuthenticator.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/AuthenticationManager/AuthenticationManagerConstants.swift b/Client/Frontend/AuthenticationManager/AuthenticationManagerConstants.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/AuthenticationManager/AuthenticationSettingsViewController.swift b/Client/Frontend/AuthenticationManager/AuthenticationSettingsViewController.swift old mode 100644 new mode 100755 index b89d673fe..f3f39863a --- a/Client/Frontend/AuthenticationManager/AuthenticationSettingsViewController.swift +++ b/Client/Frontend/AuthenticationManager/AuthenticationSettingsViewController.swift @@ -240,10 +240,6 @@ class AuthenticationSettingsViewController: SettingsTableViewController { tableView.accessibilityIdentifier = "AuthenticationManager.settingsTableView" } - deinit { - NotificationCenter.default.removeObserver(self) - } - override func generateSettings() -> [SettingSection] { if let _ = KeychainWrapper.sharedAppContainerKeychain.authenticationInfo() { return passcodeEnabledSettings() diff --git a/Client/Frontend/AuthenticationManager/BasePasscodeViewController.swift b/Client/Frontend/AuthenticationManager/BasePasscodeViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/AuthenticationManager/ChangePasscodeViewController.swift b/Client/Frontend/AuthenticationManager/ChangePasscodeViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/AuthenticationManager/PagingPasscodeViewController.swift b/Client/Frontend/AuthenticationManager/PagingPasscodeViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/AuthenticationManager/PasscodeEntryViewController.swift b/Client/Frontend/AuthenticationManager/PasscodeEntryViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/AuthenticationManager/PasscodeViews.swift b/Client/Frontend/AuthenticationManager/PasscodeViews.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/AuthenticationManager/RemovePasscodeViewController.swift b/Client/Frontend/AuthenticationManager/RemovePasscodeViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/AuthenticationManager/RequirePasscodeIntervalViewController.swift b/Client/Frontend/AuthenticationManager/RequirePasscodeIntervalViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/AuthenticationManager/SensitiveViewController.swift b/Client/Frontend/AuthenticationManager/SensitiveViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/AuthenticationManager/SetupPasscodeViewController.swift b/Client/Frontend/AuthenticationManager/SetupPasscodeViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/AboutHomeHandler.swift b/Client/Frontend/Browser/AboutHomeHandler.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/Authenticator.swift b/Client/Frontend/Browser/Authenticator.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/BackForwardListAnimator.swift b/Client/Frontend/Browser/BackForwardListAnimator.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/BackForwardListViewController.swift b/Client/Frontend/Browser/BackForwardListViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/BackForwardTableViewCell.swift b/Client/Frontend/Browser/BackForwardTableViewCell.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/BrowserPrompts.swift b/Client/Frontend/Browser/BrowserPrompts.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/BrowserTrayAnimators.swift b/Client/Frontend/Browser/BrowserTrayAnimators.swift old mode 100644 new mode 100755 index 176174661..ef4c80316 --- a/Client/Frontend/Browser/BrowserTrayAnimators.swift +++ b/Client/Frontend/Browser/BrowserTrayAnimators.swift @@ -195,6 +195,7 @@ private extension BrowserToTrayAnimator { toggleWebViewVisibility(true, usingTabManager: bvc.tabManager) bvc.homePanelController?.view.isHidden = false + resetTransformsForViews([bvc.header, bvc.readerModeBar, bvc.footer]) bvc.urlBar.isTransitioning = false transitionContext.completeTransition(true) }) diff --git a/Client/Frontend/Browser/BrowserViewController.swift b/Client/Frontend/Browser/BrowserViewController.swift old mode 100644 new mode 100755 index 53e6704e5..5763acb6c --- a/Client/Frontend/Browser/BrowserViewController.swift +++ b/Client/Frontend/Browser/BrowserViewController.swift @@ -47,7 +47,7 @@ class BrowserViewController: UIViewController { let webViewContainerToolbar = UIView() var statusBarOverlay: UIView! fileprivate(set) var toolbar: TabToolbar? - fileprivate var searchController: SearchViewController? + var searchController: SearchViewController? fileprivate var screenshotHelper: ScreenshotHelper! fileprivate var homePanelIsInline = false fileprivate var searchLoader: SearchLoader? @@ -132,13 +132,7 @@ class BrowserViewController: UIViewController { override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) { super.viewWillTransition(to: size, with: coordinator) - displayedPopoverController?.dismiss(animated: true) { - self.displayedPopoverController = nil - } - - if let _ = self.presentedViewController as? PhotonActionSheet { - self.presentedViewController?.dismiss(animated: true, completion: nil) - } + dismissVisibleMenus() coordinator.animate(alongsideTransition: { context in self.scrollController.updateMinimumZoom() @@ -261,6 +255,13 @@ class BrowserViewController: UIViewController { }, completion: nil) } + func dismissVisibleMenus() { + displayedPopoverController?.dismiss(animated: true) + if let _ = self.presentedViewController as? PhotonActionSheet { + self.presentedViewController?.dismiss(animated: true, completion: nil) + } + } + func SELappDidEnterBackgroundNotification() { displayedPopoverController?.dismiss(animated: false) { self.displayedPopoverController = nil @@ -345,14 +346,14 @@ class BrowserViewController: UIViewController { view.addSubview(header) // UIAccessibilityCustomAction subclass holding an AccessibleAction instance does not work, thus unable to generate AccessibleActions and UIAccessibilityCustomActions "on-demand" and need to make them "persistent" e.g. by being stored in BVC - pasteGoAction = AccessibleAction(name: NSLocalizedString("Paste & Go", comment: "Paste the URL into the location bar and visit"), handler: { () -> Bool in + pasteGoAction = AccessibleAction(name: Strings.PasteAndGoTitle, handler: { () -> Bool in if let pasteboardContents = UIPasteboard.general.string { self.urlBar(self.urlBar, didSubmitText: pasteboardContents) return true } return false }) - pasteAction = AccessibleAction(name: NSLocalizedString("Paste", comment: "Paste the URL into the location bar"), handler: { () -> Bool in + pasteAction = AccessibleAction(name: Strings.PasteTitle, handler: { () -> Bool in if let pasteboardContents = UIPasteboard.general.string { // Enter overlay mode and make the search controller appear. self.urlBar.enterOverlayMode(pasteboardContents, pasted: true, search: true) @@ -361,7 +362,7 @@ class BrowserViewController: UIViewController { } return false }) - copyAddressAction = AccessibleAction(name: NSLocalizedString("Copy Address", comment: "Copy the URL from the location bar"), handler: { () -> Bool in + copyAddressAction = AccessibleAction(name: Strings.CopyAddressTitle, handler: { () -> Bool in if let url = self.urlBar.currentURL { UIPasteboard.general.url = url as URL } @@ -904,8 +905,6 @@ class BrowserViewController: UIViewController { guard let url = webView.url, url.isWebPage(), !url.isLocal else { return } - webView.evaluateJavaScript("__firefox__.metadata && __firefox__.metadata.extractMetadata()", completionHandler: nil) - if #available(iOS 11, *) { if NoImageModeHelper.isActivated(profile.prefs) { webView.evaluateJavaScript("__firefox__.NoImageMode.setEnabled(true)", completionHandler: nil) @@ -981,11 +980,16 @@ class BrowserViewController: UIViewController { func openBlankNewTab(focusLocationField: Bool, isPrivate: Bool = false) { popToBVC() openURLInNewTab(nil, isPrivate: isPrivate, isPrivileged: true) + let freshTab = tabManager.selectedTab if focusLocationField { DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(300)) { // Without a delay, the text field fails to become first responder - self.urlBar.tabLocationViewDidTapLocation(self.urlBar.locationView) + // Check that the newly created tab is still selected. + // This let's the user spam the Cmd+T button without lots of responder changes. + if freshTab == self.tabManager.selectedTab { + self.urlBar.tabLocationViewDidTapLocation(self.urlBar.locationView) + } } } } @@ -1110,21 +1114,25 @@ class BrowserViewController: UIViewController { return } - if let url = webView.url, !url.isErrorPageURL && !url.isAboutHomeURL { - tab.lastExecutedTime = Date.now() + if let url = webView.url { + if !url.isErrorPageURL, !url.isAboutHomeURL { + tab.lastExecutedTime = Date.now() - postLocationChangeNotificationForTab(tab, navigation: navigation) - - // Fire the readability check. This is here and not in the pageShow event handler in ReaderMode.js anymore - // because that event wil not always fire due to unreliable page caching. This will either let us know that - // the currently loaded page can be turned into reading mode or if the page already is in reading mode. We - // ignore the result because we are being called back asynchronous when the readermode status changes. - webView.evaluateJavaScript("\(ReaderModeNamespace).checkReadability()", completionHandler: nil) + postLocationChangeNotificationForTab(tab, navigation: navigation) + + // Fire the readability check. This is here and not in the pageShow event handler in ReaderMode.js anymore + // because that event wil not always fire due to unreliable page caching. This will either let us know that + // the currently loaded page can be turned into reading mode or if the page already is in reading mode. We + // ignore the result because we are being called back asynchronous when the readermode status changes. + webView.evaluateJavaScript("\(ReaderModeNamespace).checkReadability()", completionHandler: nil) - // Re-run additional scripts in webView to extract updated favicons and metadata. - runScriptsOnWebView(webView) + // Re-run additional scripts in webView to extract updated favicons and metadata. + runScriptsOnWebView(webView) + } + + TabEvent.post(.didChangeURL(url), for: tab) } - + if tab === tabManager.selectedTab { UIAccessibilityPostNotification(UIAccessibilityScreenChangedNotification, nil) // must be followed by LayoutChanged, as ScreenChanged will make VoiceOver @@ -1142,7 +1150,6 @@ class BrowserViewController: UIViewController { webView.removeFromSuperview() } } - } // Remember whether or not a desktop site was requested @@ -1238,7 +1245,6 @@ extension BrowserViewController { } extension BrowserViewController: URLBarDelegate { - func showTabTray() { webViewContainerToolbar.isHidden = true updateFindInPageVisibility(visible: false) @@ -1265,7 +1271,6 @@ extension BrowserViewController: URLBarDelegate { } func urlBarDidPressPageOptions(_ urlBar: URLBarView, from button: UIButton) { - let actionMenuPresenter: (URL, Tab, UIView, UIPopoverArrowDirection) -> Void = { (url, tab, view, _) in self.presentActivityViewController(url, tab: tab, sourceView: view, sourceRect: view.bounds, arrowDirection: .up) } @@ -1291,9 +1296,22 @@ extension BrowserViewController: URLBarDelegate { func urlBarDidLongPressPageOptions(_ urlBar: URLBarView, from button: UIButton) { guard let tab = tabManager.selectedTab else { return } - guard let url = tab.canonicalURL?.displayURL else { return } + guard let url = tab.canonicalURL?.displayURL, self.presentedViewController == nil else { + return + } + + let generator = UIImpactFeedbackGenerator(style: .heavy) + generator.impactOccurred() presentActivityViewController(url, tab: tab, sourceView: button, sourceRect: button.bounds, arrowDirection: .up) } + + func urlBarDidTapShield(_ urlBar: URLBarView, from button: UIButton) { + if #available(iOS 11.0, *), let tab = self.tabManager.selectedTab { + let trackingProtectionMenu = self.getTrackingSubMenu(for: tab) + guard !trackingProtectionMenu.isEmpty else { return } + self.presentSheetWith(actions: trackingProtectionMenu, on: self, from: urlBar) + } + } func urlBarDidPressStop(_ urlBar: URLBarView) { tabManager.selectedTab?.stop() @@ -1363,41 +1381,21 @@ extension BrowserViewController: URLBarDelegate { } func urlBarDidLongPressLocation(_ urlBar: URLBarView) { - let longPressAlertController = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet) - - for action in locationActionsForURLBar(urlBar) { - longPressAlertController.addAction(action.alertAction(style: .default)) - } - - let cancelAction = UIAlertAction(title: NSLocalizedString("Cancel", comment: "Label for Cancel button"), style: .cancel, handler: { (alert: UIAlertAction) -> Void in - }) - longPressAlertController.addAction(cancelAction) - - let setupPopover = { [unowned self] in - if let popoverPresentationController = longPressAlertController.popoverPresentationController { - popoverPresentationController.sourceView = urlBar - popoverPresentationController.sourceRect = urlBar.frame - popoverPresentationController.permittedArrowDirections = .any - popoverPresentationController.delegate = self - } - } - - setupPopover() - - if longPressAlertController.popoverPresentationController != nil { - displayedPopoverController = longPressAlertController - updateDisplayedPopoverProperties = setupPopover + let urlActions = self.getLongPressLocationBarActions(with: urlBar) + let generator = UIImpactFeedbackGenerator(style: .heavy) + generator.impactOccurred() + if #available(iOS 11.0, *), let tab = self.tabManager.selectedTab { + let trackingProtectionMenu = self.getTrackingMenu(for: tab, presentingOn: urlBar) + self.presentSheetWith(actions: [urlActions, trackingProtectionMenu], on: self, from: urlBar) + } else { + self.presentSheetWith(actions: [urlActions], on: self, from: urlBar) } - - self.present(longPressAlertController, animated: true, completion: nil) } func urlBarDidPressScrollToTop(_ urlBar: URLBarView) { - if let selectedTab = tabManager.selectedTab { + if let selectedTab = tabManager.selectedTab, homePanelController == nil { // Only scroll to top if we are not showing the home view controller - if homePanelController == nil { - selectedTab.webView?.scrollView.setContentOffset(CGPoint.zero, animated: true) - } + selectedTab.webView?.scrollView.setContentOffset(CGPoint.zero, animated: true) } } @@ -1483,6 +1481,10 @@ extension BrowserViewController: URLBarDelegate { hideSearchController() updateInContentHomePanel(tabManager.selectedTab?.url as URL?) } + + func urlBarDidBeginDragInteraction(_ urlBar: URLBarView) { + dismissVisibleMenus() + } } extension BrowserViewController: TabToolbarDelegate, PhotonActionSheetProtocol { @@ -1491,6 +1493,8 @@ extension BrowserViewController: TabToolbarDelegate, PhotonActionSheetProtocol { } func tabToolbarDidLongPressBack(_ tabToolbar: TabToolbarProtocol, button: UIButton) { + let generator = UIImpactFeedbackGenerator(style: .heavy) + generator.impactOccurred() showBackForwardList() } @@ -1499,34 +1503,17 @@ extension BrowserViewController: TabToolbarDelegate, PhotonActionSheetProtocol { } func tabToolbarDidLongPressReload(_ tabToolbar: TabToolbarProtocol, button: UIButton) { - guard let tab = tabManager.selectedTab, tab.webView?.url != nil && (tab.getContentScript(name: ReaderMode.name()) as? ReaderMode)?.state != .active else { + guard let tab = tabManager.selectedTab else { return } - - let toggleActionTitle: String - if tab.desktopSite { - toggleActionTitle = NSLocalizedString("Request Mobile Site", comment: "Action Sheet Button for Requesting the Mobile Site") - } else { - toggleActionTitle = NSLocalizedString("Request Desktop Site", comment: "Action Sheet Button for Requesting the Desktop Site") - } - - let controller = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet) - controller.addAction(UIAlertAction(title: toggleActionTitle, style: .default, handler: { _ in tab.toggleDesktopSite() })) - controller.addAction(UIAlertAction(title: NSLocalizedString("Cancel", comment: "Label for Cancel button"), style: .cancel, handler: nil)) - if #available(iOS 11, *) { - if let helper = tab.contentBlocker as? ContentBlockerHelper { - let state = helper.userOverrideForTrackingProtection - if state != .disallowUserOverride { - let title = state == .forceDisabled ? Strings.TrackingProtectionReloadWith : Strings.TrackingProtectionReloadWithout - controller.addAction(UIAlertAction(title: title, style: .default, handler: {_ in - helper.overridePrefsAndReloadTab(enableTrackingProtection: state == .forceDisabled) - })) - } - } + let urlActions = self.getRefreshLongPressMenu(for: tab) + guard !urlActions.isEmpty else { + return } - controller.popoverPresentationController?.sourceView = toolbar ?? urlBar - controller.popoverPresentationController?.sourceRect = button.frame - present(controller, animated: true, completion: nil) + let generator = UIImpactFeedbackGenerator(style: .heavy) + generator.impactOccurred() + let shouldSuppress = !topTabsVisible && UIDevice.current.userInterfaceIdiom == .pad + presentSheetWith(actions: [urlActions], on: self, from: button, suppressPopover: shouldSuppress) } func tabToolbarDidPressStop(_ tabToolbar: TabToolbarProtocol, button: UIButton) { @@ -1538,6 +1525,8 @@ extension BrowserViewController: TabToolbarDelegate, PhotonActionSheetProtocol { } func tabToolbarDidLongPressForward(_ tabToolbar: TabToolbarProtocol, button: UIButton) { + let generator = UIImpactFeedbackGenerator(style: .heavy) + generator.impactOccurred() showBackForwardList() } @@ -1549,8 +1538,8 @@ extension BrowserViewController: TabToolbarDelegate, PhotonActionSheetProtocol { actions.append(getHomePanelActions()) actions.append(getOtherPanelActions(vcDelegate: self)) // force a modal if the menu is being displayed in compact split screen - let shouldSupress = !topTabsVisible && UIDevice.current.userInterfaceIdiom == .pad - presentSheetWith(actions: actions, on: self, from: button, supressPopover: shouldSupress) + let shouldSuppress = !topTabsVisible && UIDevice.current.userInterfaceIdiom == .pad + presentSheetWith(actions: actions, on: self, from: button, suppressPopover: shouldSuppress) } func tabToolbarDidPressTabs(_ tabToolbar: TabToolbarProtocol, button: UIButton) { @@ -1558,6 +1547,9 @@ extension BrowserViewController: TabToolbarDelegate, PhotonActionSheetProtocol { } func tabToolbarDidLongPressTabs(_ tabToolbar: TabToolbarProtocol, button: UIButton) { + guard self.presentedViewController == nil else { + return + } let controller = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet) controller.addAction(UIAlertAction(title: Strings.NewTabTitle, style: .default, handler: { _ in self.tabManager.addTabAndSelect(isPrivate: false) @@ -1573,6 +1565,8 @@ extension BrowserViewController: TabToolbarDelegate, PhotonActionSheetProtocol { controller.addAction(UIAlertAction(title: NSLocalizedString("Cancel", comment: "Label for Cancel button"), style: .cancel, handler: nil)) controller.popoverPresentationController?.sourceView = toolbar ?? urlBar controller.popoverPresentationController?.sourceRect = button.frame + let generator = UIImpactFeedbackGenerator(style: .heavy) + generator.impactOccurred() present(controller, animated: true, completion: nil) } @@ -1646,13 +1640,15 @@ extension BrowserViewController: TabDelegate { let historyStateHelper = HistoryStateHelper(tab: tab) historyStateHelper.delegate = self tab.addContentScript(historyStateHelper, name: HistoryStateHelper.name()) - + if #available(iOS 11, *) { - (tab.contentBlocker as? ContentBlockerHelper)?.setupForWebView() + if let blocker = tab.contentBlocker as? ContentBlockerHelper { + blocker.setupTabTrackingProtection() + tab.addContentScript(blocker, name: ContentBlockerHelper.name()) + } } - let metadataHelper = MetadataParserHelper(tab: tab, profile: profile) - tab.addContentScript(metadataHelper, name: MetadataParserHelper.name()) + tab.addContentScript(FocusHelper(tab: tab), name: FocusHelper.name()) } func tab(_ tab: Tab, willDeleteWebView webView: WKWebView) { @@ -1757,6 +1753,10 @@ extension BrowserViewController: SearchViewControllerDelegate { self.present(navController, animated: true, completion: nil) } + + func searchViewController(_ searchViewController: SearchViewController, didHighlightText text: String, search: Bool) { + self.urlBar.setLocation(text, search: search) + } } extension BrowserViewController: TabManagerDelegate { @@ -1901,15 +1901,15 @@ extension BrowserViewController: TabManagerDelegate { } } -/// List of schemes that are allowed to open a popup window -private let SchemesAllowedToOpenPopups = ["http", "https", "javascript", "data"] +/// List of schemes that are allowed to be opened in new tabs. +private let schemesAllowedToBeOpenedAsPopups = ["http", "https", "javascript", "data", "about"] extension BrowserViewController: WKUIDelegate { func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? { guard let parentTab = tabManager[webView] else { return nil } - if !navigationAction.isAllowed { - print("Denying unprivileged request: \(navigationAction.request)") + guard navigationAction.isAllowed, shouldRequestBeOpenedAsPopup(navigationAction.request) else { + print("Denying popup from request: \(navigationAction.request)") return nil } @@ -1917,35 +1917,35 @@ extension BrowserViewController: WKUIDelegate { screenshotHelper.takeScreenshot(currentTab) } - let request: URLRequest - if let formPostHelper = parentTab.getContentScript(name: "FormPostHelper") as? FormPostHelper { - request = formPostHelper.urlRequestForNavigationAction(navigationAction) - } else { - request = navigationAction.request - } + // If the page uses `window.open()` or `[target="_blank"]`, open the page in a new tab. + // IMPORTANT!!: WebKit will perform the `URLRequest` automatically!! Attempting to do + // the request here manually leads to incorrect results!! + let newTab = tabManager.addPopupForParentTab(parentTab, configuration: configuration) - // If the page uses window.open() or target="_blank", open the page in a new tab. - let newTab = tabManager.addTab(request, configuration: configuration, afterTab: parentTab, isPrivate: parentTab.isPrivate) - tabManager.selectTab(newTab) + return newTab.webView + } - // If the page we just opened has a bad scheme, we return nil here so that JavaScript does not - // get a reference to it which it can return from window.open() - this will end up as a - // CFErrorHTTPBadURL being presented. - guard let scheme = (navigationAction.request as NSURLRequest).url?.scheme?.lowercased(), SchemesAllowedToOpenPopups.contains(scheme) else { - return nil + fileprivate func shouldRequestBeOpenedAsPopup(_ request: URLRequest) -> Bool { + // Treat `window.open("")` the same as `window.open("about:blank")`. + if request.url?.absoluteString.isEmpty ?? false { + return true } - return newTab.webView + if let scheme = request.url?.scheme?.lowercased(), schemesAllowedToBeOpenedAsPopups.contains(scheme) { + return true + } + + return false } - fileprivate func canDisplayJSAlertForWebView(_ webView: WKWebView) -> Bool { + fileprivate func shouldDisplayJSAlertForWebView(_ webView: WKWebView) -> Bool { // Only display a JS Alert if we are selected and there isn't anything being shown return ((tabManager.selectedTab == nil ? false : tabManager.selectedTab!.webView == webView)) && (self.presentedViewController == nil) } func webView(_ webView: WKWebView, runJavaScriptAlertPanelWithMessage message: String, initiatedByFrame frame: WKFrameInfo, completionHandler: @escaping () -> Void) { let messageAlert = MessageAlert(message: message, frame: frame, completionHandler: completionHandler) - if canDisplayJSAlertForWebView(webView) { + if shouldDisplayJSAlertForWebView(webView) { present(messageAlert.alertController(), animated: true, completion: nil) } else if let promptingTab = tabManager[webView] { promptingTab.queueJavascriptAlertPrompt(messageAlert) @@ -1958,7 +1958,7 @@ extension BrowserViewController: WKUIDelegate { func webView(_ webView: WKWebView, runJavaScriptConfirmPanelWithMessage message: String, initiatedByFrame frame: WKFrameInfo, completionHandler: @escaping (Bool) -> Void) { let confirmAlert = ConfirmPanelAlert(message: message, frame: frame, completionHandler: completionHandler) - if canDisplayJSAlertForWebView(webView) { + if shouldDisplayJSAlertForWebView(webView) { present(confirmAlert.alertController(), animated: true, completion: nil) } else if let promptingTab = tabManager[webView] { promptingTab.queueJavascriptAlertPrompt(confirmAlert) @@ -1969,7 +1969,7 @@ extension BrowserViewController: WKUIDelegate { func webView(_ webView: WKWebView, runJavaScriptTextInputPanelWithPrompt prompt: String, defaultText: String?, initiatedByFrame frame: WKFrameInfo, completionHandler: @escaping (String?) -> Void) { let textInputAlert = TextInputAlert(message: prompt, frame: frame, completionHandler: completionHandler, defaultText: defaultText) - if canDisplayJSAlertForWebView(webView) { + if shouldDisplayJSAlertForWebView(webView) { present(textInputAlert.alertController(), animated: true, completion: nil) } else if let promptingTab = tabManager[webView] { promptingTab.queueJavascriptAlertPrompt(textInputAlert) @@ -2015,8 +2015,8 @@ extension BrowserViewController: WKUIDelegate { fileprivate func checkIfWebContentProcessHasCrashed(_ webView: WKWebView, error: NSError) -> Bool { if error.code == WKError.webContentProcessTerminated.rawValue && error.domain == "WebKitErrorDomain" { - print("WebContent process has crashed. Trying to reloadFromOrigin to restart it.") - webView.reloadFromOrigin() + print("WebContent process has crashed. Trying to reload to restart it.") + webView.reload() return true } @@ -2064,6 +2064,9 @@ extension BrowserViewController: ReaderModeDelegate { self.showReaderModeBar(animated: true) tab.showContent(true) } + + func readerMode(_ readerMode: ReaderMode, didParseReadabilityResult readabilityResult: ReadabilityResult, forTab tab: Tab) { + } } // MARK: - UIPopoverPresentationControllerDelegate @@ -2335,7 +2338,6 @@ extension BrowserViewController: IntroViewControllerDelegate { func introViewControllerDidFinish(_ introViewController: IntroViewController, requestToLogin: Bool) { self.profile.prefs.setInt(1, forKey: PrefsKeys.IntroSeen) - LeanPlumClient.shared.track(event: .dismissedOnboarding) introViewController.dismiss(animated: true) { finished in if self.navigationController?.viewControllers.count ?? 0 > 1 { @@ -2719,9 +2721,14 @@ extension BrowserViewController: TabTrayDelegate { // This function animates and resets the tab chrome transforms when // the tab tray dismisses. func tabTrayDidDismiss(_ tabTray: TabTrayController) { + topTabsViewController?.reloadData() resetBrowserChrome() } + func tabTrayDidAddTab(_ tabTray: TabTrayController, tab: Tab) { + topTabsViewController?.reloadData() + } + func tabTrayDidAddBookmark(_ tab: Tab) { guard let url = tab.url?.absoluteString, !url.isEmpty else { return } self.addBookmark(tab.tabState) diff --git a/Client/Frontend/Browser/BrowserViewController/BrowserViewController+KeyCommands.swift b/Client/Frontend/Browser/BrowserViewController/BrowserViewController+KeyCommands.swift old mode 100644 new mode 100755 index 87064bd58..38d13732c --- a/Client/Frontend/Browser/BrowserViewController/BrowserViewController+KeyCommands.swift +++ b/Client/Frontend/Browser/BrowserViewController/BrowserViewController+KeyCommands.swift @@ -5,47 +5,56 @@ import Shared // Naming functions: use the suffix 'KeyCommand' for an additional level of namespacing (bug 1415830) - extension BrowserViewController { @objc private func reloadTabKeyCommand() { - if homePanelController == nil { - tabManager.selectedTab?.reload() + UnifiedTelemetry.recordEvent(category: .action, method: .press, object: .keyCommand, extras: ["action": "reload"]) + if let tab = tabManager.selectedTab, homePanelController == nil { + tab.reload() } } @objc private func goBackKeyCommand() { - if tabManager.selectedTab?.canGoBack == true && homePanelController == nil { - tabManager.selectedTab?.goBack() + UnifiedTelemetry.recordEvent(category: .action, method: .press, object: .keyCommand, extras: ["action": "go-back"]) + if let tab = tabManager.selectedTab, tab.canGoBack, homePanelController == nil { + tab.goBack() } } @objc private func goForwardKeyCommand() { - if tabManager.selectedTab?.canGoForward == true && homePanelController == nil { - tabManager.selectedTab?.goForward() + UnifiedTelemetry.recordEvent(category: .action, method: .press, object: .keyCommand, extras: ["action": "go-forward"]) + if let tab = tabManager.selectedTab, tab.canGoForward { + tab.goForward() } } - @objc private func findOnPageKeyCommand() { - if homePanelController == nil { - tab( (tabManager.selectedTab)!, didSelectFindInPageForSelection: "") + @objc private func findInPageKeyCommand() { + UnifiedTelemetry.recordEvent(category: .action, method: .press, object: .keyCommand, extras: ["action": "find-in-page"]) + if let tab = tabManager.selectedTab, homePanelController == nil { + self.tab(tab, didSelectFindInPageForSelection: "") } } @objc private func selectLocationBarKeyCommand() { + UnifiedTelemetry.recordEvent(category: .action, method: .press, object: .keyCommand, extras: ["action": "select-location-bar"]) scrollController.showToolbars(animated: true) urlBar.tabLocationViewDidTapLocation(urlBar.locationView) } @objc private func newTabKeyCommand() { - openBlankNewTab(focusLocationField: false, isPrivate: false) + UnifiedTelemetry.recordEvent(category: .action, method: .press, object: .keyCommand, extras: ["action": "new-tab"]) + openBlankNewTab(focusLocationField: true, isPrivate: false) } @objc private func newPrivateTabKeyCommand() { - openBlankNewTab(focusLocationField: false, isPrivate: true) + // NOTE: We cannot and should not distinguish between "new-tab" and "new-private-tab" + // when recording telemetry for key commands. + UnifiedTelemetry.recordEvent(category: .action, method: .press, object: .keyCommand, extras: ["action": "new-tab"]) + openBlankNewTab(focusLocationField: true, isPrivate: true) } @objc private func closeTabKeyCommand() { + UnifiedTelemetry.recordEvent(category: .action, method: .press, object: .keyCommand, extras: ["action": "close-tab"]) guard let currentTab = tabManager.selectedTab else { return } @@ -53,6 +62,7 @@ extension BrowserViewController { } @objc private func nextTabKeyCommand() { + UnifiedTelemetry.recordEvent(category: .action, method: .press, object: .keyCommand, extras: ["action": "next-tab"]) guard let currentTab = tabManager.selectedTab else { return } @@ -66,6 +76,7 @@ extension BrowserViewController { } @objc private func previousTabKeyCommand() { + UnifiedTelemetry.recordEvent(category: .action, method: .press, object: .keyCommand, extras: ["action": "previous-tab"]) guard let currentTab = tabManager.selectedTab else { return } @@ -78,23 +89,58 @@ extension BrowserViewController { } } + @objc private func showTabTrayKeyCommand() { + UnifiedTelemetry.recordEvent(category: .action, method: .press, object: .keyCommand, extras: ["action": "show-tab-tray"]) + showTabTray() + } + + @objc private func moveURLCompletionKeyCommand(sender: UIKeyCommand) { + guard let searchController = self.searchController else { + return + } + + searchController.handleKeyCommands(sender: sender) + } + override var keyCommands: [UIKeyCommand]? { - return [ + let searchLocationCommands = [ + UIKeyCommand(input: UIKeyInputDownArrow, modifierFlags: [], action: #selector(moveURLCompletionKeyCommand(sender:))), + UIKeyCommand(input: UIKeyInputUpArrow, modifierFlags: [], action: #selector(moveURLCompletionKeyCommand(sender:))), + ] + let overidesTextEditing = [ + UIKeyCommand(input: UIKeyInputRightArrow, modifierFlags: [.command, .shift], action: #selector(nextTabKeyCommand)), + UIKeyCommand(input: UIKeyInputLeftArrow, modifierFlags: [.command, .shift], action: #selector(previousTabKeyCommand)), + UIKeyCommand(input: UIKeyInputLeftArrow, modifierFlags: .command, action: #selector(goBackKeyCommand)), + UIKeyCommand(input: UIKeyInputRightArrow, modifierFlags: .command, action: #selector(goForwardKeyCommand)), + ] + let tabNavigation = [ UIKeyCommand(input: "r", modifierFlags: .command, action: #selector(reloadTabKeyCommand), discoverabilityTitle: Strings.ReloadPageTitle), UIKeyCommand(input: "[", modifierFlags: .command, action: #selector(goBackKeyCommand), discoverabilityTitle: Strings.BackTitle), - UIKeyCommand(input: UIKeyInputLeftArrow, modifierFlags: .command, action: #selector(goBackKeyCommand), discoverabilityTitle: Strings.BackTitle), UIKeyCommand(input: "]", modifierFlags: .command, action: #selector(goForwardKeyCommand), discoverabilityTitle: Strings.ForwardTitle), - UIKeyCommand(input: UIKeyInputRightArrow, modifierFlags: .command, action: #selector(goForwardKeyCommand), discoverabilityTitle: Strings.ForwardTitle), - UIKeyCommand(input: "f", modifierFlags: .command, action: #selector(findOnPageKeyCommand), discoverabilityTitle: Strings.FindTitle), + UIKeyCommand(input: "f", modifierFlags: .command, action: #selector(findInPageKeyCommand), discoverabilityTitle: Strings.FindTitle), UIKeyCommand(input: "l", modifierFlags: .command, action: #selector(selectLocationBarKeyCommand), discoverabilityTitle: Strings.SelectLocationBarTitle), UIKeyCommand(input: "t", modifierFlags: .command, action: #selector(newTabKeyCommand), discoverabilityTitle: Strings.NewTabTitle), UIKeyCommand(input: "p", modifierFlags: [.command, .shift], action: #selector(newPrivateTabKeyCommand), discoverabilityTitle: Strings.NewPrivateTabTitle), UIKeyCommand(input: "w", modifierFlags: .command, action: #selector(closeTabKeyCommand), discoverabilityTitle: Strings.CloseTabTitle), UIKeyCommand(input: "\t", modifierFlags: .control, action: #selector(nextTabKeyCommand), discoverabilityTitle: Strings.ShowNextTabTitle), - UIKeyCommand(input: UIKeyInputRightArrow, modifierFlags: [.command, .shift], action: #selector(nextTabKeyCommand), discoverabilityTitle: Strings.ShowNextTabTitle), UIKeyCommand(input: "\t", modifierFlags: [.control, .shift], action: #selector(previousTabKeyCommand), discoverabilityTitle: Strings.ShowPreviousTabTitle), - UIKeyCommand(input: UIKeyInputLeftArrow, modifierFlags: [.command, .shift], action: #selector(previousTabKeyCommand), discoverabilityTitle: Strings.ShowPreviousTabTitle), + + // Switch tab to match Safari on iOS. + UIKeyCommand(input: "]", modifierFlags: [.command, .shift], action: #selector(nextTabKeyCommand)), + UIKeyCommand(input: "[", modifierFlags: [.command, .shift], action: #selector(previousTabKeyCommand)), + + UIKeyCommand(input: "\\", modifierFlags: [.command, .shift], action: #selector(showTabTrayKeyCommand)), // Safari on macOS + UIKeyCommand(input: "\t", modifierFlags: [.command, .alternate], action: #selector(showTabTrayKeyCommand), discoverabilityTitle: Strings.ShowTabTrayFromTabKeyCodeTitle) ] + + let isEditingText = tabManager.selectedTab?.isEditing ?? false + + if urlBar.inOverlayMode { + return tabNavigation + searchLocationCommands + } else if !isEditingText { + return tabNavigation + overidesTextEditing + } + return tabNavigation } } diff --git a/Client/Frontend/Browser/BrowserViewController/BrowserViewController+UIDropInteractionDelegate.swift b/Client/Frontend/Browser/BrowserViewController/BrowserViewController+UIDropInteractionDelegate.swift old mode 100644 new mode 100755 index fdd0d8c80..5b40fe450 --- a/Client/Frontend/Browser/BrowserViewController/BrowserViewController+UIDropInteractionDelegate.swift +++ b/Client/Frontend/Browser/BrowserViewController/BrowserViewController+UIDropInteractionDelegate.swift @@ -8,6 +8,11 @@ import Storage @available(iOS 11.0, *) extension BrowserViewController: UIDropInteractionDelegate { func dropInteraction(_ interaction: UIDropInteraction, canHandle session: UIDropSession) -> Bool { + // Prevent tabs from being dragged and dropped into the address bar. + if let localDragSession = session.localDragSession, let item = localDragSession.items.first, let _ = item.localObject { + return false + } + return session.canLoadObjects(ofClass: URL.self) } @@ -16,6 +21,8 @@ extension BrowserViewController: UIDropInteractionDelegate { } func dropInteraction(_ interaction: UIDropInteraction, performDrop session: UIDropSession) { + UnifiedTelemetry.recordEvent(category: .action, method: .drop, object: .url, value: .browser) + _ = session.loadObjects(ofClass: URL.self) { urls in guard let url = urls.first else { return diff --git a/Client/Frontend/Browser/BrowserViewController/BrowserViewController+WKNavigationDelegate.swift b/Client/Frontend/Browser/BrowserViewController/BrowserViewController+WKNavigationDelegate.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/ButtonToast.swift b/Client/Frontend/Browser/ButtonToast.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/ClipboardBarDisplayHandler.swift b/Client/Frontend/Browser/ClipboardBarDisplayHandler.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/ContextMenuHelper.swift b/Client/Frontend/Browser/ContextMenuHelper.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/CustomSearchHandler.swift b/Client/Frontend/Browser/CustomSearchHandler.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/DefaultSearchPrefs.swift b/Client/Frontend/Browser/DefaultSearchPrefs.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/ErrorPageHelper.swift b/Client/Frontend/Browser/ErrorPageHelper.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/FaviconHandler.swift b/Client/Frontend/Browser/FaviconHandler.swift old mode 100644 new mode 100755 index ffd774048..df9572cea --- a/Client/Frontend/Browser/FaviconHandler.swift +++ b/Client/Frontend/Browser/FaviconHandler.swift @@ -41,10 +41,10 @@ class FaviconHandler { } } - let onSuccess: (Favicon, Data?) -> Void = { (favicon, data) -> Void in - tab.favicons.append(favicon) + let onSuccess: (Favicon, Data?) -> Void = { [weak tab] (favicon, data) -> Void in + tab?.favicons.append(favicon) - guard !tab.isPrivate, let appDelegate = UIApplication.shared.delegate as? AppDelegate, let profile = appDelegate.profile else { + guard !(tab?.isPrivate ?? true), let appDelegate = UIApplication.shared.delegate as? AppDelegate, let profile = appDelegate.profile else { deferred.fill(Maybe(success: (favicon, data))) return } diff --git a/Client/Frontend/Browser/FaviconManager.swift b/Client/Frontend/Browser/FaviconManager.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/FindInPageBar.swift b/Client/Frontend/Browser/FindInPageBar.swift old mode 100644 new mode 100755 index c77ec010c..c866189fc --- a/Client/Frontend/Browser/FindInPageBar.swift +++ b/Client/Frontend/Browser/FindInPageBar.swift @@ -29,13 +29,21 @@ class FindInPageBar: UIView { var currentResult = 0 { didSet { - matchCountView.text = "\(currentResult)/\(totalResults)" + if totalResults > 500 { + matchCountView.text = "\(currentResult)/500+" + } else { + matchCountView.text = "\(currentResult)/\(totalResults)" + } } } var totalResults = 0 { didSet { - matchCountView.text = "\(currentResult)/\(totalResults)" + if totalResults > 500 { + matchCountView.text = "\(currentResult)/500+" + } else { + matchCountView.text = "\(currentResult)/\(totalResults)" + } previousButton.isEnabled = totalResults > 1 nextButton.isEnabled = previousButton.isEnabled } @@ -156,7 +164,7 @@ class FindInPageBar: UIView { } @objc fileprivate func SELdidTextChange(_ sender: UITextField) { - matchCountView.isHidden = searchText.text?.isEmpty ?? true + matchCountView.isHidden = searchText.text?.trimmingCharacters(in: .whitespaces).isEmpty ?? true delegate?.findInPage(self, didTextChange: searchText.text ?? "") } diff --git a/Client/Frontend/Browser/FindInPageHelper.swift b/Client/Frontend/Browser/FindInPageHelper.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/FocusHelper.swift b/Client/Frontend/Browser/FocusHelper.swift new file mode 100755 index 000000000..ee3597857 --- /dev/null +++ b/Client/Frontend/Browser/FocusHelper.swift @@ -0,0 +1,45 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import Foundation +import Shared +import WebKit + +private let log = Logger.browserLogger + +class FocusHelper: TabContentScript { + fileprivate weak var tab: Tab? + + init(tab: Tab) { + self.tab = tab + } + + static func name() -> String { + return "FocusHelper" + } + + func scriptMessageHandlerName() -> String? { + return "focusHelper" + } + + func userContentController(_ userContentController: WKUserContentController, didReceiveScriptMessage message: WKScriptMessage) { + guard let data = message.body as? [String: String] else { + return log.error("FocusHelper.js sent wrong type of message") + } + + guard let _ = data["elementType"], + let eventType = data["eventType"] else { + return log.error("FocusHelper.js sent wrong keys for message") + } + + switch eventType { + case "focus": + tab?.isEditing = true + case "blur": + tab?.isEditing = false + default: + return log.error("FocusHelper.js sent unhandled eventType") + } + } +} diff --git a/Client/Frontend/Browser/FormPostHelper.swift b/Client/Frontend/Browser/FormPostHelper.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/HistoryStateHelper.swift b/Client/Frontend/Browser/HistoryStateHelper.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/HomePageHelper.swift b/Client/Frontend/Browser/HomePageHelper.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/LocalRequestHelper.swift b/Client/Frontend/Browser/LocalRequestHelper.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/LoginsHelper.swift b/Client/Frontend/Browser/LoginsHelper.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/MailProviders.swift b/Client/Frontend/Browser/MailProviders.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/MailtoLinkHandler.swift b/Client/Frontend/Browser/MailtoLinkHandler.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/MetadataParserHelper.swift b/Client/Frontend/Browser/MetadataParserHelper.swift old mode 100644 new mode 100755 index 5880c8f25..be56b7e2a --- a/Client/Frontend/Browser/MetadataParserHelper.swift +++ b/Client/Frontend/Browser/MetadataParserHelper.swift @@ -3,6 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ import Foundation +import SDWebImage import Shared import Storage import XCGLogger @@ -10,43 +11,94 @@ import WebKit private let log = Logger.browserLogger -class MetadataParserHelper: TabContentScript { - private weak var tab: Tab? - private let profile: Profile +class MetadataParserHelper: TabEventHandler { + private var tabObservers: TabObservers! - class func name() -> String { - return "MetadataParserHelper" + init() { + self.tabObservers = registerFor( + .didChangeURL, + queue: .main) } - required init(tab: Tab, profile: Profile) { - self.tab = tab - self.profile = profile + deinit { + unregister(tabObservers) } - func scriptMessageHandlerName() -> String? { - return "metadataMessageHandler" - } - - func userContentController(_ userContentController: WKUserContentController, didReceiveScriptMessage message: WKScriptMessage) { + func tab(_ tab: Tab, didChangeURL url: URL) { // Get the metadata out of the page-metadata-parser, and into a type safe struct as soon // as possible. - guard let dict = message.body as? [String: Any], - let tab = self.tab, - let pageURL = tab.url?.displayURL, - let pageMetadata = PageMetadata.fromDictionary(dict) else { - log.debug("Page contains no metadata!") + guard let webView = tab.webView, + let url = webView.url, url.isWebPage(includeDataURIs: false), !url.isLocal else { + return + } + + webView.evaluateJavaScript("__firefox__.metadata && __firefox__.metadata.getMetadata()") { (result, error) in + guard error == nil else { return + } + + guard let dict = result as? [String: Any], + let pageURL = tab.url?.displayURL, + let pageMetadata = PageMetadata.fromDictionary(dict) else { + log.debug("Page contains no metadata!") + return + } + + tab.pageMetadata = pageMetadata + TabEvent.post(.didLoadPageMetadata(pageMetadata), for: tab) + + let userInfo: [String: Any] = [ + "isPrivate": tab.isPrivate, + "pageMetadata": pageMetadata, + "tabURL": pageURL + ] + NotificationCenter.default.post(name: .OnPageMetadataFetched, object: nil, userInfo: userInfo) } + } +} - let userInfo: [String: Any] = [ - "isPrivate": self.tab?.isPrivate ?? true, - "pageMetadata": pageMetadata, - "tabURL": pageURL - ] +class MediaImageLoader: TabEventHandler { + private var tabObservers: TabObservers! + private let prefs: Prefs + + init(_ prefs: Prefs) { + self.prefs = prefs + self.tabObservers = registerFor( + .didLoadPageMetadata, + queue: .main) + } - tab.pageMetadata = pageMetadata + deinit { + unregister(tabObservers) + } + + func tab(_ tab: Tab, didLoadPageMetadata metadata: PageMetadata) { + let cacheImages = !NoImageModeHelper.isActivated(prefs) + if let urlString = metadata.mediaURL, + let mediaURL = URL(string: urlString), cacheImages { + prepareCache(mediaURL) + } + } + + fileprivate func prepareCache(_ url: URL) { + let manager = SDWebImageManager.shared() + manager.cachedImageExists(for: url) { exists in + if !exists { + self.downloadAndCache(fromURL: url) + } + } + } + + fileprivate func downloadAndCache(fromURL webUrl: URL) { + let manager = SDWebImageManager.shared() + manager.loadImage(with: webUrl, options: .continueInBackground, progress: nil) { (image, _, _, _, _, _) in + if let image = image { + self.cache(image: image, forURL: webUrl) + } + } + } - TabEvent.post(.didLoadPageMetadata(pageMetadata), for: tab) - NotificationCenter.default.post(name: .OnPageMetadataFetched, object: nil, userInfo: userInfo) + fileprivate func cache(image: UIImage, forURL url: URL) { + SDWebImageManager.shared().saveImage(toCache: image, for: url) } } diff --git a/Client/Frontend/Browser/NightModeHelper.swift b/Client/Frontend/Browser/NightModeHelper.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/NoImageModeHelper.swift b/Client/Frontend/Browser/NoImageModeHelper.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/OpenInHelper.swift b/Client/Frontend/Browser/OpenInHelper.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/OpenSearch.swift b/Client/Frontend/Browser/OpenSearch.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/OpenWithSettingsViewController.swift b/Client/Frontend/Browser/OpenWithSettingsViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/PrintHelper.swift b/Client/Frontend/Browser/PrintHelper.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/PrivilegedRequest.swift b/Client/Frontend/Browser/PrivilegedRequest.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/Punycode.swift b/Client/Frontend/Browser/Punycode.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCode.xcassets/Contents.json b/Client/Frontend/Browser/QRCode.xcassets/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCode.xcassets/qrcode-goBack.imageset/Contents.json b/Client/Frontend/Browser/QRCode.xcassets/qrcode-goBack.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCode.xcassets/qrcode-goBack.imageset/qrcode-goBack.png b/Client/Frontend/Browser/QRCode.xcassets/qrcode-goBack.imageset/qrcode-goBack.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCode.xcassets/qrcode-goBack.imageset/qrcode-goBack@2x.png b/Client/Frontend/Browser/QRCode.xcassets/qrcode-goBack.imageset/qrcode-goBack@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCode.xcassets/qrcode-goBack.imageset/qrcode-goBack@3x.png b/Client/Frontend/Browser/QRCode.xcassets/qrcode-goBack.imageset/qrcode-goBack@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCode.xcassets/qrcode-isLighting.imageset/Contents.json b/Client/Frontend/Browser/QRCode.xcassets/qrcode-isLighting.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCode.xcassets/qrcode-isLighting.imageset/qrcode-isLighting.png b/Client/Frontend/Browser/QRCode.xcassets/qrcode-isLighting.imageset/qrcode-isLighting.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCode.xcassets/qrcode-isLighting.imageset/qrcode-isLighting@2x.png b/Client/Frontend/Browser/QRCode.xcassets/qrcode-isLighting.imageset/qrcode-isLighting@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCode.xcassets/qrcode-isLighting.imageset/qrcode-isLighting@3x.png b/Client/Frontend/Browser/QRCode.xcassets/qrcode-isLighting.imageset/qrcode-isLighting@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCode.xcassets/qrcode-light.imageset/Contents.json b/Client/Frontend/Browser/QRCode.xcassets/qrcode-light.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCode.xcassets/qrcode-light.imageset/qrcode-light.png b/Client/Frontend/Browser/QRCode.xcassets/qrcode-light.imageset/qrcode-light.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCode.xcassets/qrcode-light.imageset/qrcode-light@2x.png b/Client/Frontend/Browser/QRCode.xcassets/qrcode-light.imageset/qrcode-light@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCode.xcassets/qrcode-light.imageset/qrcode-light@3x.png b/Client/Frontend/Browser/QRCode.xcassets/qrcode-light.imageset/qrcode-light@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCode.xcassets/qrcode-scanBorder.imageset/Contents.json b/Client/Frontend/Browser/QRCode.xcassets/qrcode-scanBorder.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCode.xcassets/qrcode-scanBorder.imageset/qrcode-scanBorder.png b/Client/Frontend/Browser/QRCode.xcassets/qrcode-scanBorder.imageset/qrcode-scanBorder.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCode.xcassets/qrcode-scanLine.imageset/Contents.json b/Client/Frontend/Browser/QRCode.xcassets/qrcode-scanLine.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCode.xcassets/qrcode-scanLine.imageset/qrcode-scanLine.png b/Client/Frontend/Browser/QRCode.xcassets/qrcode-scanLine.imageset/qrcode-scanLine.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/QRCodeViewController.swift b/Client/Frontend/Browser/QRCodeViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/ReaderModeBarView.swift b/Client/Frontend/Browser/ReaderModeBarView.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/ScreenshotHelper.swift b/Client/Frontend/Browser/ScreenshotHelper.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/SearchEngines.swift b/Client/Frontend/Browser/SearchEngines.swift old mode 100644 new mode 100755 index 527f65147..ab05a06f9 --- a/Client/Frontend/Browser/SearchEngines.swift +++ b/Client/Frontend/Browser/SearchEngines.swift @@ -202,7 +202,8 @@ class SearchEngines { /// Get all known search engines, possibly as ordered by the user. fileprivate func getOrderedEngines() -> [OpenSearchEngine] { - let unorderedEngines = customEngines + SearchEngines.getUnorderedBundledEnginesFor(locale: Locale.current) + let locale = Locale(identifier: Locale.preferredLanguages.first ?? Locale.current.identifier) + let unorderedEngines = customEngines + SearchEngines.getUnorderedBundledEnginesFor(locale: locale) // might not work to change the default. guard let orderedEngineNames = prefs.stringArrayForKey(OrderedEngineNames) else { diff --git a/Client/Frontend/Browser/SearchLoader.swift b/Client/Frontend/Browser/SearchLoader.swift old mode 100644 new mode 100755 index c36ede4ef..d68463ddd --- a/Client/Frontend/Browser/SearchLoader.swift +++ b/Client/Frontend/Browser/SearchLoader.swift @@ -74,9 +74,10 @@ class _SearchLoader: Loader, SearchViewController // First, see if the query matches any URLs from the user's search history. self.load(cursor) for site in cursor { - if let url = site?.url, - let completion = self.completionForURL(url) { - self.urlBar.setAutocompleteSuggestion(completion) + if let url = site?.url, let completion = self.completionForURL(url) { + if oldValue.count < self.query.count { + self.urlBar.setAutocompleteSuggestion(completion) + } return } } @@ -84,7 +85,9 @@ class _SearchLoader: Loader, SearchViewController // If there are no search history matches, try matching one of the Alexa top domains. for domain in self.topDomains { if let completion = self.completionForDomain(domain) { - self.urlBar.setAutocompleteSuggestion(completion) + if oldValue.count < self.query.count { + self.urlBar.setAutocompleteSuggestion(completion) + } return } } diff --git a/Client/Frontend/Browser/SearchSuggestClient.swift b/Client/Frontend/Browser/SearchSuggestClient.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/SearchViewController.swift b/Client/Frontend/Browser/SearchViewController.swift old mode 100644 new mode 100755 index 628ae4b40..a0568e346 --- a/Client/Frontend/Browser/SearchViewController.swift +++ b/Client/Frontend/Browser/SearchViewController.swift @@ -46,6 +46,7 @@ protocol SearchViewControllerDelegate: class { func searchViewController(_ searchViewController: SearchViewController, didSelectURL url: URL) func searchViewController(_ searchViewController: SearchViewController, didLongPressSuggestion suggestion: String) func presentSearchSettingsController() + func searchViewController(_ searchViewController: SearchViewController, didHighlightText text: String, search: Bool) } class SearchViewController: SiteTableViewController, KeyboardHelperDelegate, LoaderListener { @@ -420,6 +421,76 @@ class SearchViewController: SiteTableViewController, KeyboardHelperDelegate, Loa func numberOfSectionsInTableView(_ tableView: UITableView) -> Int { return SearchListSection.Count } + + func tableView(_ tableView: UITableView, didHighlightRowAt indexPath: IndexPath) { + guard let section = SearchListSection.init(rawValue: indexPath.section) else { + return + } + + if section == .bookmarksAndHistory, + let suggestion = data[indexPath.item] { + searchDelegate?.searchViewController(self, didHighlightText: suggestion.url, search: false) + } + } +} + +extension SearchViewController { + func handleKeyCommands(sender: UIKeyCommand) { + let initialSection = SearchListSection.bookmarksAndHistory.rawValue + guard let current = tableView.indexPathForSelectedRow else { + let count = tableView(tableView, numberOfRowsInSection: initialSection) + if sender.input == UIKeyInputDownArrow, count > 0 { + let next = IndexPath(item: 0, section: initialSection) + self.tableView(tableView, didHighlightRowAt: next) + tableView.selectRow(at: next, animated: false, scrollPosition: .top) + } + return + } + + let nextSection: Int + let nextItem: Int + switch sender.input { + case UIKeyInputUpArrow: + // we're going down, we should check if we've reached the first item in this section. + if (current.item == 0) { + // We have, so check if we can decrement the section. + if current.section == initialSection { + // We've reached the first item in the first section. + searchDelegate?.searchViewController(self, didHighlightText: searchQuery, search: false) + return + } else { + nextSection = current.section - 1 + nextItem = tableView(tableView, numberOfRowsInSection: nextSection) - 1 + } + } else { + nextSection = current.section + nextItem = current.item - 1 + } + case UIKeyInputDownArrow: + let currentSectionItemsCount = tableView(tableView, numberOfRowsInSection: current.section) + if current.item == currentSectionItemsCount - 1 { + if current.section == tableView.numberOfSections - 1 { + // We've reached the last item in the last section + return + } else { + // We can go to the next section. + nextSection = current.section + 1 + nextItem = 0 + } + } else { + nextSection = current.section + nextItem = current.item + 1 + } + default: + return + } + guard nextItem >= 0 else { + return + } + let next = IndexPath(item: nextItem, section: nextSection) + self.tableView(tableView, didHighlightRowAt: next) + tableView.selectRow(at: next, animated: false, scrollPosition: .middle) + } } extension SearchViewController: SuggestionCellDelegate { @@ -512,7 +583,11 @@ fileprivate class SuggestionCell: UITableViewCell { if container.subviews.isEmpty { let image = UIImage(named: SearchViewControllerUX.SearchImage) button.setImage(image, for: []) - button.titleEdgeInsets = UIEdgeInsets(top: 0, left: 8, bottom: 0, right: 0) + if UIApplication.shared.userInterfaceLayoutDirection == .leftToRight { + button.titleEdgeInsets = UIEdgeInsets(top: 0, left: 8, bottom: 0, right: 0) + } else { + button.titleEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 8) + } } container.addSubview(button) diff --git a/Client/Frontend/Browser/SessionData.swift b/Client/Frontend/Browser/SessionData.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/SessionRestoreHandler.swift b/Client/Frontend/Browser/SessionRestoreHandler.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/SessionRestoreHelper.swift b/Client/Frontend/Browser/SessionRestoreHelper.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/SimpleToast.swift b/Client/Frontend/Browser/SimpleToast.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/SwipeAnimator.swift b/Client/Frontend/Browser/SwipeAnimator.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/Tab.swift b/Client/Frontend/Browser/Tab.swift old mode 100644 new mode 100755 index 193aec19e..2b7ac1c7b --- a/Client/Frontend/Browser/Tab.swift +++ b/Client/Frontend/Browser/Tab.swift @@ -80,6 +80,7 @@ class Tab: NSObject { var pendingScreenshot = false var url: URL? var mimeType: String? + var isEditing: Bool = false fileprivate var _noImageMode = false diff --git a/Client/Frontend/Browser/TabLocationView.swift b/Client/Frontend/Browser/TabLocationView.swift old mode 100644 new mode 100755 index ae95b36cd..0850110a3 --- a/Client/Frontend/Browser/TabLocationView.swift +++ b/Client/Frontend/Browser/TabLocationView.swift @@ -13,8 +13,10 @@ protocol TabLocationViewDelegate { func tabLocationViewDidTapLocation(_ tabLocationView: TabLocationView) func tabLocationViewDidLongPressLocation(_ tabLocationView: TabLocationView) func tabLocationViewDidTapReaderMode(_ tabLocationView: TabLocationView) + func tabLocationViewDidTapShield(_ tabLocationView: TabLocationView) func tabLocationViewDidTapPageOptions(_ tabLocationView: TabLocationView, from button: UIButton) func tabLocationViewDidLongPressPageOptions(_ tabLocationVIew: TabLocationView) + func tabLocationViewDidBeginDragInteraction(_ tabLocationView: TabLocationView) /// - returns: whether the long-press was handled by the delegate; i.e. return `false` when the conditions for even starting handling long-press were not satisfied @discardableResult func tabLocationViewDidLongPressReaderMode(_ tabLocationView: TabLocationView) -> Bool @@ -24,14 +26,19 @@ protocol TabLocationViewDelegate { private struct TabLocationViewUX { static let HostFontColor = UIColor.black static let BaseURLFontColor = UIColor.gray - static let LocationContentInset = 8 + static let Spacing: CGFloat = 8 + static let StatusIconSize: CGFloat = 18 + static let TPIconSize: CGFloat = 24 + static let ButtonSize: CGFloat = 44 static let URLBarPadding = 4 } -class TabLocationView: UIView { +class TabLocationView: UIView, TabEventHandler { var delegate: TabLocationViewDelegate? var longPressRecognizer: UILongPressGestureRecognizer! var tapRecognizer: UITapGestureRecognizer! + private var contentView: UIStackView! + private var tabObservers: TabObservers! dynamic var baseURLFontColor: UIColor = TabLocationViewUX.BaseURLFontColor { didSet { updateTextWithURL() } @@ -46,10 +53,17 @@ class TabLocationView: UIView { } updateTextWithURL() pageOptionsButton.isHidden = (url == nil) + if url == nil { + trackingProtectionButton.isHidden = true + } setNeedsUpdateConstraints() } } + deinit { + unregister(tabObservers) + } + var readerModeState: ReaderModeState { get { return readerModeButton.readerModeState @@ -70,13 +84,7 @@ class TabLocationView: UIView { } } UIView.animate(withDuration: 0.1, animations: { () -> Void in - if newReaderModeState == ReaderModeState.unavailable { - self.readerModeButton.alpha = 0.0 - } else { - self.readerModeButton.alpha = 1.0 - } - self.setNeedsUpdateConstraints() - self.layoutIfNeeded() + self.readerModeButton.alpha = newReaderModeState == .unavailable ? 0 : 1 }) } } @@ -90,11 +98,6 @@ class TabLocationView: UIView { lazy var urlTextField: UITextField = { let urlTextField = DisplayTextField() - self.longPressRecognizer.delegate = self - urlTextField.addGestureRecognizer(self.longPressRecognizer) - self.tapRecognizer.delegate = self - urlTextField.addGestureRecognizer(self.tapRecognizer) - // Prevent the field from compressing the toolbar buttons on the 4S in landscape. urlTextField.setContentCompressionResistancePriority(250, for: .horizontal) urlTextField.attributedPlaceholder = self.placeholder @@ -116,7 +119,6 @@ class TabLocationView: UIView { fileprivate lazy var lockImageView: UIImageView = { let lockImageView = UIImageView(image: UIImage.templateImageNamed("lock_verified")) - lockImageView.isHidden = true lockImageView.tintColor = UIColor.Defaults.LockGreen lockImageView.isAccessibilityElement = true lockImageView.contentMode = .center @@ -124,13 +126,24 @@ class TabLocationView: UIView { return lockImageView }() + lazy var trackingProtectionButton: UIButton = { + let trackingProtectionButton = UIButton() + trackingProtectionButton.setImage(UIImage.templateImageNamed("tracking-protection"), for: .normal) + trackingProtectionButton.addTarget(self, action: #selector(SELDidPressTPShieldButton(_:)), for: .touchUpInside) + trackingProtectionButton.tintColor = .gray + trackingProtectionButton.imageView?.contentMode = .scaleAspectFill + trackingProtectionButton.isHidden = true + return trackingProtectionButton + }() + fileprivate lazy var readerModeButton: ReaderModeButton = { let readerModeButton = ReaderModeButton(frame: .zero) - readerModeButton.isHidden = true readerModeButton.addTarget(self, action: #selector(SELtapReaderModeButton), for: .touchUpInside) readerModeButton.addGestureRecognizer(UILongPressGestureRecognizer(target: self, action: #selector(SELlongPressReaderModeButton))) readerModeButton.isAccessibilityElement = true + readerModeButton.isHidden = true readerModeButton.imageView?.contentMode = .scaleAspectFit + readerModeButton.contentHorizontalAlignment = .left readerModeButton.accessibilityLabel = NSLocalizedString("Reader View", comment: "Accessibility label for the Reader View button") readerModeButton.accessibilityIdentifier = "TabLocationView.readerModeButton" readerModeButton.accessibilityCustomActions = [UIAccessibilityCustomAction(name: NSLocalizedString("Add to Reading List", comment: "Accessibility label for action adding current page to reading list."), target: self, selector: #selector(SELreaderModeCustomAction))] @@ -140,10 +153,10 @@ class TabLocationView: UIView { lazy var pageOptionsButton: ToolbarButton = { let pageOptionsButton = ToolbarButton(frame: .zero) pageOptionsButton.setImage(UIImage.templateImageNamed("menu-More-Options"), for: .normal) - pageOptionsButton.isHidden = true pageOptionsButton.addTarget(self, action: #selector(SELDidPressPageOptionsButton), for: .touchUpInside) pageOptionsButton.isAccessibilityElement = true - pageOptionsButton.imageView?.contentMode = .center + pageOptionsButton.isHidden = true + pageOptionsButton.imageView?.contentMode = .left pageOptionsButton.accessibilityLabel = NSLocalizedString("Page Options Menu", comment: "Accessibility label for the Page Options menu button") pageOptionsButton.accessibilityIdentifier = "TabLocationView.pageOptionsButton" let longPressGesture = UILongPressGestureRecognizer(target: self, action: #selector(SELDidLongPressPageOptionsButton)) @@ -161,73 +174,93 @@ class TabLocationView: UIView { override init(frame: CGRect) { super.init(frame: frame) + self.tabObservers = registerFor(.didChangeContentBlocking, queue: .main) + longPressRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(SELlongPressLocation)) + longPressRecognizer.delegate = self + tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(SELtapLocation)) + tapRecognizer.delegate = self - addSubview(urlTextField) - addSubview(lockImageView) - addSubview(readerModeButton) - addSubview(pageOptionsButton) - addSubview(separatorLine) + addGestureRecognizer(longPressRecognizer) + addGestureRecognizer(tapRecognizer) + + let spaceView = UIView() + spaceView.snp.makeConstraints { make in + make.width.equalTo(TabLocationViewUX.Spacing) + } + // The lock and TP icons have custom spacing. + // TODO: Once we cut ios10 support we can use UIstackview.setCustomSpacing + let iconStack = UIStackView(arrangedSubviews: [spaceView, lockImageView, trackingProtectionButton]) + iconStack.spacing = TabLocationViewUX.Spacing / 2 + + let subviews = [iconStack, urlTextField, readerModeButton, separatorLine, pageOptionsButton] + contentView = UIStackView(arrangedSubviews: subviews) + contentView.distribution = .fill + contentView.alignment = .center + addSubview(contentView) + + contentView.snp.makeConstraints { make in + make.edges.equalTo(self) + } lockImageView.snp.makeConstraints { make in - make.size.equalTo(24) - make.centerY.equalTo(self) - make.leading.equalTo(self).offset(9) + make.width.equalTo(TabLocationViewUX.StatusIconSize) + make.height.equalTo(TabLocationViewUX.ButtonSize) + } + trackingProtectionButton.snp.makeConstraints { make in + make.width.equalTo(TabLocationViewUX.TPIconSize) + make.height.equalTo(TabLocationViewUX.ButtonSize) } pageOptionsButton.snp.makeConstraints { make in - make.centerY.equalTo(self) - make.trailing.equalTo(self) - make.width.equalTo(44) - make.height.equalTo(self) + make.size.equalTo(TabLocationViewUX.ButtonSize) } - separatorLine.snp.makeConstraints { make in make.width.equalTo(1) make.height.equalTo(26) - make.trailing.equalTo(pageOptionsButton.snp.leading) - make.centerY.equalTo(self) } - readerModeButton.snp.makeConstraints { make in - make.centerY.equalTo(self) - make.trailing.equalTo(separatorLine.snp.leading).offset(-9) - make.size.equalTo(24) + // The reader mode button only has the padding on one side. + // The buttons "contentHorizontalAlignment" helps make the button still look centered + make.size.equalTo(TabLocationViewUX.ButtonSize - 10) } - } - override var accessibilityElements: [Any]? { - get { - return [lockImageView, urlTextField, readerModeButton, pageOptionsButton].filter { !$0.isHidden } + // Setup UIDragInteraction to handle dragging the location + // bar for dropping its URL into other apps. + if #available(iOS 11, *) { + let dragInteraction = UIDragInteraction(delegate: self) + dragInteraction.allowsSimultaneousRecognitionDuringLift = true + self.addInteraction(dragInteraction) } - set { - super.accessibilityElements = newValue + } + + func tabDidChangeContentBlockerStatus(_ tab: Tab) { + assertIsMainThread("UI changes must be on the main thread") + guard #available(iOS 11.0, *), let blocker = tab.contentBlocker as? ContentBlockerHelper else { return } + switch blocker.status { + case .Blocking: + self.trackingProtectionButton.setImage(UIImage.templateImageNamed("tracking-protection"), for: .normal) + self.trackingProtectionButton.isHidden = false + case .Disabled, .NoBlockedURLs: + self.trackingProtectionButton.isHidden = true + case .Whitelisted: + self.trackingProtectionButton.setImage(UIImage.templateImageNamed("tracking-protection-off"), for: .normal) + self.trackingProtectionButton.isHidden = false } } - required init?(coder aDecoder: NSCoder) { + required init(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } - override func updateConstraints() { - urlTextField.snp.remakeConstraints { make in - make.top.bottom.equalTo(self) - - if lockImageView.isHidden { - make.leading.equalTo(self).offset(TabLocationViewUX.LocationContentInset) - } else { - make.leading.equalTo(self.lockImageView.snp.trailing).offset(TabLocationViewUX.URLBarPadding) - } - - if readerModeButton.isHidden { - make.trailing.equalTo(self.pageOptionsButton.snp.leading).offset(-TabLocationViewUX.URLBarPadding) - } else { - make.trailing.equalTo(self.readerModeButton.snp.leading).offset(-TabLocationViewUX.URLBarPadding) - } + override var accessibilityElements: [Any]? { + get { + return [lockImageView, urlTextField, readerModeButton, pageOptionsButton].filter { !$0.isHidden } + } + set { + super.accessibilityElements = newValue } - - super.updateConstraints() } func SELtapReaderModeButton() { @@ -258,6 +291,10 @@ class TabLocationView: UIView { delegate?.tabLocationViewDidTapLocation(self) } + func SELDidPressTPShieldButton(_ button: UIButton) { + delegate?.tabLocationViewDidTapShield(self) + } + func SELreaderModeCustomAction() -> Bool { return delegate?.tabLocationViewDidLongPressReaderMode(self) ?? false } @@ -277,12 +314,32 @@ class TabLocationView: UIView { extension TabLocationView: UIGestureRecognizerDelegate { func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool { - return true + // When long pressing a button make sure the textfield's long press gesture is not triggered + return !(otherGestureRecognizer.view is UIButton) } func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool { - // If the longPressRecognizer is active, fail all other recognizers to avoid conflicts. - return gestureRecognizer == longPressRecognizer + // If the longPressRecognizer is active, fail the tap recognizer to avoid conflicts. + return gestureRecognizer == longPressRecognizer && otherGestureRecognizer == tapRecognizer + } +} + +@available(iOS 11.0, *) +extension TabLocationView: UIDragInteractionDelegate { + func dragInteraction(_ interaction: UIDragInteraction, itemsForBeginning session: UIDragSession) -> [UIDragItem] { + // Ensure we actually have a URL in the location bar and that the URL is not local. + guard let url = self.url, !url.isLocal, let itemProvider = NSItemProvider(contentsOf: url) else { + return [] + } + + UnifiedTelemetry.recordEvent(category: .action, method: .drag, object: .locationBar) + + let dragItem = UIDragItem(itemProvider: itemProvider) + return [dragItem] + } + + func dragInteraction(_ interaction: UIDragInteraction, sessionWillBegin session: UIDragSession) { + delegate?.tabLocationViewDidBeginDragInteraction(self) } } @@ -378,4 +435,8 @@ private class DisplayTextField: UITextField { fileprivate override var canBecomeFirstResponder: Bool { return false } + + override func textRect(forBounds bounds: CGRect) -> CGRect { + return bounds.insetBy(dx: TabLocationViewUX.Spacing, dy: 0) + } } diff --git a/Client/Frontend/Browser/TabManager.swift b/Client/Frontend/Browser/TabManager.swift old mode 100644 new mode 100755 index 9d5a00665..e46465ec2 --- a/Client/Frontend/Browser/TabManager.swift +++ b/Client/Frontend/Browser/TabManager.swift @@ -39,7 +39,7 @@ class WeakTabManagerDelegate { // TabManager must extend NSObjectProtocol in order to implement WKNavigationDelegate class TabManager: NSObject { fileprivate var delegates = [WeakTabManagerDelegate]() - fileprivate var tabEventHandlers = TabEventHandlers.default.handlers + fileprivate let tabEventHandlers: [TabEventHandler] weak var stateDelegate: TabManagerStateDelegate? func addDelegate(_ delegate: TabManagerDelegate) { @@ -103,6 +103,7 @@ class TabManager: NSObject { self.prefs = prefs self.navDelegate = TabManagerNavDelegate() self.imageStore = imageStore + self.tabEventHandlers = TabEventHandlers.create(with: prefs) super.init() addNavigationDelegate(self) @@ -208,8 +209,9 @@ class TabManager: NSObject { //Called by other classes to signal that they are entering/exiting private mode //This is called by TabTrayVC when the private mode button is pressed and BEFORE we've switched to the new mode - func willSwitchTabMode() { - if shouldClearPrivateTabs() && (selectedTab?.isPrivate ?? false) { + //we only want to remove all private tabs when leaving PBM and not when entering. + func willSwitchTabMode(leavingPBM: Bool) { + if shouldClearPrivateTabs() && leavingPBM { removeAllPrivateTabs() } } @@ -222,6 +224,20 @@ class TabManager: NSObject { } } + func addPopupForParentTab(_ parentTab: Tab, configuration: WKWebViewConfiguration) -> Tab { + let popup = Tab(configuration: configuration, isPrivate: parentTab.isPrivate) + configureTab(popup, request: nil, afterTab: parentTab, flushToDisk: true, zombie: false, isPopup: true) + + // Wait momentarily before selecting the new tab, otherwise the parent tab + // may be unable to set `window.location` on the popup immediately after + // calling `window.open("")`. + DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(100)) { + self.selectTab(popup) + } + + return popup + } + @discardableResult func addTab(_ request: URLRequest! = nil, configuration: WKWebViewConfiguration! = nil, afterTab: Tab? = nil, isPrivate: Bool) -> Tab { return self.addTab(request, configuration: configuration, afterTab: afterTab, flushToDisk: true, zombie: false, isPrivate: isPrivate) } @@ -285,23 +301,28 @@ class TabManager: NSObject { func moveTab(isPrivate privateMode: Bool, fromIndex visibleFromIndex: Int, toIndex visibleToIndex: Int) { assert(Thread.isMainThread) - + let currentTabs = privateMode ? privateTabs : normalTabs + + guard visibleFromIndex < currentTabs.count, visibleToIndex < currentTabs.count else { + return + } + let fromIndex = tabs.index(of: currentTabs[visibleFromIndex]) ?? tabs.count - 1 let toIndex = tabs.index(of: currentTabs[visibleToIndex]) ?? tabs.count - 1 - + let previouslySelectedTab = selectedTab - + tabs.insert(tabs.remove(at: fromIndex), at: toIndex) - + if let previouslySelectedTab = previouslySelectedTab, let previousSelectedIndex = tabs.index(of: previouslySelectedTab) { _selectedIndex = previousSelectedIndex } - + storeChanges() } - func configureTab(_ tab: Tab, request: URLRequest?, afterTab parent: Tab? = nil, flushToDisk: Bool, zombie: Bool) { + func configureTab(_ tab: Tab, request: URLRequest?, afterTab parent: Tab? = nil, flushToDisk: Bool, zombie: Bool, isPopup: Bool = false) { assert(Thread.isMainThread) delegates.forEach { $0.get()?.tabManager(self, willAddTab: tab) } @@ -326,7 +347,7 @@ class TabManager: NSObject { if let request = request { tab.loadRequest(request) - } else { + } else if !isPopup { let newTabChoice = NewTabAccessors.getNewTabPage(prefs) switch newTabChoice { case .homePage: @@ -411,8 +432,9 @@ class TabManager: NSObject { if tabIndex == viableTabs.count { tabIndex -= 1 } - if tabIndex < viableTabs.count && !viableTabs.isEmpty { - _selectedIndex = tabs.index(of: viableTabs[tabIndex]) ?? -1 + + if let currentTab = viableTabs[safe: tabIndex] { + _selectedIndex = tabs.index(of: currentTab) ?? -1 } else { _selectedIndex = -1 } @@ -452,6 +474,7 @@ class TabManager: NSObject { } tabs.forEach { tab in if tab.isPrivate { + tab.webView?.removeFromSuperview() removeAllBrowsingDataForTab(tab) } } @@ -828,18 +851,30 @@ extension TabManager { } extension TabManager: WKNavigationDelegate { + + // Note the main frame JSContext (i.e. document, window) is not available yet. func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) { UIApplication.shared.isNetworkActivityIndicatorVisible = true + + if #available(iOS 11, *), let tab = self[webView], let blocker = tab.contentBlocker as? ContentBlockerHelper { + blocker.clearPageStats() + } } + // The main frame JSContext is available, and DOM parsing has begun. + // Do not excute JS at this point that requires running prior to DOM parsing. func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) { - let tab = self[webView] + guard let tab = self[webView] else { return } let isNightMode = NightModeAccessors.isNightMode(self.prefs) - tab?.setNightMode(isNightMode) + tab.setNightMode(isNightMode) if #available(iOS 11, *) { let isNoImageMode = self.prefs.boolForKey(PrefsKeys.KeyNoImageModeStatus) ?? false - tab?.noImageMode = isNoImageMode + tab.noImageMode = isNoImageMode + + if let tpHelper = tab.contentBlocker as? ContentBlockerHelper, !tpHelper.isEnabled { + webView.evaluateJavaScript("window.__firefox__.TrackingProtectionStats.setEnabled(false, \(UserScriptManager.securityToken))", completionHandler: nil) + } } } diff --git a/Client/Frontend/Browser/TabPeekViewController.swift b/Client/Frontend/Browser/TabPeekViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/TabPrintPageRenderer.swift b/Client/Frontend/Browser/TabPrintPageRenderer.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/TabScrollController.swift b/Client/Frontend/Browser/TabScrollController.swift old mode 100644 new mode 100755 index f40080f9e..a78723f1a --- a/Client/Frontend/Browser/TabScrollController.swift +++ b/Client/Frontend/Browser/TabScrollController.swift @@ -337,8 +337,11 @@ extension TabScrollingController: UIScrollViewDelegate { } func scrollViewShouldScrollToTop(_ scrollView: UIScrollView) -> Bool { - showToolbars(animated: true) - webViewContainerToolbar?.isHidden = false + if toolbarState == .collapsed { + showToolbars(animated: true) + webViewContainerToolbar?.isHidden = false + return false + } return true } } diff --git a/Client/Frontend/Browser/TabToolbar.swift b/Client/Frontend/Browser/TabToolbar.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/TabTrayButtonExtensions.swift b/Client/Frontend/Browser/TabTrayButtonExtensions.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/TabTrayController+KeyCommands.swift b/Client/Frontend/Browser/TabTrayController+KeyCommands.swift new file mode 100755 index 000000000..c32906368 --- /dev/null +++ b/Client/Frontend/Browser/TabTrayController+KeyCommands.swift @@ -0,0 +1,82 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import Shared +import UIKit + +extension TabTrayController { + override var keyCommands: [UIKeyCommand]? { + let toggleText = privateMode ? Strings.SwitchToNonPBMKeyCodeTitle: Strings.SwitchToPBMKeyCodeTitle + return [ + UIKeyCommand(input: "`", modifierFlags: .command, action: #selector(didTogglePrivateModeKeyCommand), discoverabilityTitle: toggleText), + UIKeyCommand(input: "w", modifierFlags: .command, action: #selector(didCloseTabKeyCommand)), + UIKeyCommand(input: "\u{8}", modifierFlags: [], action: #selector(didCloseTabKeyCommand), discoverabilityTitle: Strings.CloseTabFromTabTrayKeyCodeTitle), + UIKeyCommand(input: "w", modifierFlags: [.command, .shift], action: #selector(didCloseAllTabsKeyCommand), discoverabilityTitle: Strings.CloseAllTabsFromTabTrayKeyCodeTitle), + UIKeyCommand(input: "\r", modifierFlags: [], action: #selector(didEnterTabKeyCommand), discoverabilityTitle: Strings.OpenSelectedTabFromTabTrayKeyCodeTitle), + UIKeyCommand(input: "\\", modifierFlags: [.command, .shift], action: #selector(didEnterTabKeyCommand)), + UIKeyCommand(input: "\t", modifierFlags: [.command, .alternate], action: #selector(didEnterTabKeyCommand)), + UIKeyCommand(input: "t", modifierFlags: .command, action: #selector(didOpenNewTabKeyCommand), discoverabilityTitle: Strings.OpenNewTabFromTabTrayKeyCodeTitle), + UIKeyCommand(input: UIKeyInputLeftArrow, modifierFlags: [], action: #selector(didChangeSelectedTabKeyCommand(sender:))), + UIKeyCommand(input: UIKeyInputRightArrow, modifierFlags: [], action: #selector(didChangeSelectedTabKeyCommand(sender:))), + UIKeyCommand(input: UIKeyInputDownArrow, modifierFlags: [], action: #selector(didChangeSelectedTabKeyCommand(sender:))), + UIKeyCommand(input: UIKeyInputUpArrow, modifierFlags: [], action: #selector(didChangeSelectedTabKeyCommand(sender:))), + ] + } + + func didTogglePrivateModeKeyCommand() { + // NOTE: We cannot and should not capture telemetry here. + didTogglePrivateMode() + } + + func didCloseTabKeyCommand() { + UnifiedTelemetry.recordEvent(category: .action, method: .press, object: .keyCommand, extras: ["action": "close-tab"]) + if let tab = tabManager.selectedTab { + tabManager.removeTab(tab) + } + } + + func didCloseAllTabsKeyCommand() { + UnifiedTelemetry.recordEvent(category: .action, method: .press, object: .keyCommand, extras: ["action": "close-all-tabs"]) + closeTabsForCurrentTray() + } + + func didEnterTabKeyCommand() { + UnifiedTelemetry.recordEvent(category: .action, method: .press, object: .keyCommand, extras: ["action": "enter-tab"]) + _ = self.navigationController?.popViewController(animated: true) + } + + func didOpenNewTabKeyCommand() { + UnifiedTelemetry.recordEvent(category: .action, method: .press, object: .keyCommand, extras: ["action": "new-tab"]) + openNewTab() + } + + func didChangeSelectedTabKeyCommand(sender: UIKeyCommand) { + UnifiedTelemetry.recordEvent(category: .action, method: .press, object: .keyCommand, extras: ["action": "select-tab"]) + let step: Int + switch sender.input { + case UIKeyInputLeftArrow: + step = -1 + case UIKeyInputRightArrow: + step = 1 + case UIKeyInputUpArrow: + step = -numberOfColumns + case UIKeyInputDownArrow: + step = numberOfColumns + default: + step = 0 + } + + let tabs = self.tabs + let currentIndex: Int + if let selected = tabManager.selectedTab { + currentIndex = tabs.index(of: selected) ?? 0 + } else { + currentIndex = 0 + } + + let nextIndex = max(0, min(currentIndex + step, tabs.count - 1)) + let nextTab = tabs[nextIndex] + tabManager.selectTab(nextTab) + } +} diff --git a/Client/Frontend/Browser/TabTrayController.swift b/Client/Frontend/Browser/TabTrayController.swift old mode 100644 new mode 100755 index 567b35097..59bad85da --- a/Client/Frontend/Browser/TabTrayController.swift +++ b/Client/Frontend/Browser/TabTrayController.swift @@ -17,9 +17,9 @@ struct TabTrayControllerUX { static let Margin = CGFloat(15) static let ToolbarBarTintColor = UIColor.black static let ToolbarButtonOffset = CGFloat(10.0) - static let CloseButtonSize = CGFloat(18.0) + static let CloseButtonSize = CGFloat(32) static let CloseButtonMargin = CGFloat(6.0) - static let CloseButtonEdgeInset = CGFloat(10) + static let CloseButtonEdgeInset = CGFloat(7) static let NumberOfColumnsThin = 1 static let NumberOfColumnsWide = 3 @@ -87,13 +87,14 @@ class TabCell: UICollectionViewCell { self.favicon.layer.masksToBounds = true self.titleText = UILabel() - self.titleText.textAlignment = .left self.titleText.isUserInteractionEnabled = false self.titleText.numberOfLines = 1 self.titleText.font = DynamicFontHelper.defaultHelper.DefaultSmallFontBold self.closeButton = UIButton() - self.closeButton.setImage(UIImage.templateImageNamed("nav-stop"), for: []) + self.closeButton.setImage(UIImage.templateImageNamed("tab_close"), for: []) + self.closeButton.imageView?.contentMode = .scaleAspectFit + self.closeButton.contentMode = .center self.closeButton.tintColor = UIColor.lightGray self.closeButton.imageEdgeInsets = UIEdgeInsets(equalInset: TabTrayControllerUX.CloseButtonEdgeInset) @@ -155,37 +156,31 @@ class TabCell: UICollectionViewCell { override func layoutSubviews() { super.layoutSubviews() - let w = frame.width - let h = frame.height - backgroundHolder.frame = CGRect(x: margin, - y: margin, - width: w, - height: h) + backgroundHolder.frame = CGRect(x: margin, y: margin, width: frame.width, height: frame.height) screenshotView.frame = CGRect(size: backgroundHolder.frame.size) - title.frame = CGRect(x: 0, - y: 0, - width: backgroundHolder.frame.width, - height: TabTrayControllerUX.TextBoxHeight) + title.snp.makeConstraints { (make) in + make.top.left.right.equalTo(backgroundHolder) + make.height.equalTo(TabTrayControllerUX.TextBoxHeight) + } - favicon.frame = CGRect(x: 6, - y: (TabTrayControllerUX.TextBoxHeight - TabTrayControllerUX.FaviconSize)/2, - width: TabTrayControllerUX.FaviconSize, - height: TabTrayControllerUX.FaviconSize) + favicon.snp.makeConstraints { make in + make.leading.equalTo(title.contentView).offset(6) + make.top.equalTo((TabTrayControllerUX.TextBoxHeight - TabTrayControllerUX.FaviconSize) / 2) + make.size.equalTo(TabTrayControllerUX.FaviconSize) + } - let titleTextLeft = favicon.frame.origin.x + favicon.frame.width + 6 - titleText.frame = CGRect(x: titleTextLeft, - y: 0, - width: title.frame.width - titleTextLeft - margin - TabTrayControllerUX.CloseButtonSize - TabTrayControllerUX.CloseButtonMargin * 2, - height: title.frame.height) + titleText.snp.makeConstraints { (make) in + make.leading.equalTo(favicon.snp.trailing).offset(6) + make.trailing.equalTo(closeButton.snp.leading).offset(-6) + make.centerY.equalTo(title.contentView) + } closeButton.snp.makeConstraints { make in - make.size.equalTo(title.snp.height) - make.trailing.centerY.equalTo(title) + make.size.equalTo(TabTrayControllerUX.CloseButtonSize) + make.centerY.trailing.equalTo(title.contentView) } - let top = (TabTrayControllerUX.TextBoxHeight - titleText.bounds.height) / 2.0 - titleText.frame.origin = CGPoint(x: titleText.frame.origin.x, y: max(0, top)) let shadowPath = CGRect(width: layer.frame.width + (TabCell.BorderWidth * 2), height: layer.frame.height + (TabCell.BorderWidth * 2)) layer.shadowPath = UIBezierPath(roundedRect: shadowPath, cornerRadius: TabTrayControllerUX.CornerRadius+TabCell.BorderWidth).cgPath } @@ -229,6 +224,7 @@ struct PrivateModeStrings { protocol TabTrayDelegate: class { func tabTrayDidDismiss(_ tabTray: TabTrayController) + func tabTrayDidAddTab(_ tabTray: TabTrayController, tab: Tab) func tabTrayDidAddBookmark(_ tab: Tab) func tabTrayDidAddToReadingList(_ tab: Tab) -> ReadingListClientRecord? func tabTrayRequestsPresentationOf(_ viewController: UIViewController) @@ -278,6 +274,14 @@ class TabTrayController: UIViewController { return delegate }() + var numberOfColumns: Int { + return tabLayoutDelegate.numberOfColumns + } + + var tabs: [Tab] { + return tabDataSource.tabs + } + init(tabManager: TabManager, profile: Profile) { self.tabManager = tabManager self.profile = profile @@ -319,6 +323,12 @@ class TabTrayController: UIViewController { collectionView.register(TabCell.self, forCellWithReuseIdentifier: TabCell.Identifier) collectionView.backgroundColor = TabTrayControllerUX.BackgroundColor + if #available(iOS 11.0, *) { + collectionView.dragInteractionEnabled = true + collectionView.dragDelegate = tabDataSource + collectionView.dropDelegate = tabDataSource + } + view.addSubview(collectionView) view.addSubview(toolbar) @@ -334,10 +344,11 @@ class TabTrayController: UIViewController { privateMode = true } + // XXX: Bug 1447726 - Temporarily disable 3DT in tabs tray // register for previewing delegate to enable peek and pop if force touch feature available - if traitCollection.forceTouchCapability == .available { - registerForPreviewing(with: self, sourceView: view) - } + // if traitCollection.forceTouchCapability == .available { + // registerForPreviewing(with: self, sourceView: view) + // } emptyPrivateTabsView.isHidden = !privateTabsAreEmpty() @@ -416,7 +427,6 @@ class TabTrayController: UIViewController { func didClickAddTab() { openNewTab() - LeanPlumClient.shared.track(event: .openedNewTab, withParameters: ["Source": "Tab Tray" as AnyObject]) } func didTapLearnMore() { @@ -439,7 +449,7 @@ class TabTrayController: UIViewController { fromView = emptyPrivateTabsView } - tabManager.willSwitchTabMode() + tabManager.willSwitchTabMode(leavingPBM: privateMode) privateMode = !privateMode // If we are exiting private mode and we have the close private tabs option selected, make sure // we clear out all of the private tabs @@ -492,14 +502,20 @@ class TabTrayController: UIViewController { didTogglePrivateMode() } } - - fileprivate func openNewTab(_ request: URLRequest? = nil) { + + func openNewTab() { + LeanPlumClient.shared.track(event: .openedNewTab, withParameters: ["Source": "Tab Tray" as AnyObject]) + openNewTab(nil) + } + + fileprivate func openNewTab(_ request: URLRequest?) { toolbar.isUserInteractionEnabled = false // We're only doing one update here, but using a batch update lets us delay selecting the tab // until after its insert animation finishes. + var tab: Tab? self.collectionView.performBatchUpdates({ _ in - _ = self.tabManager.addTab(request, isPrivate: self.privateMode) + tab = self.tabManager.addTab(request, isPrivate: self.privateMode) }, completion: { finished in // The addTab delegate method will pop to the BVC no need to do anything here. self.toolbar.isUserInteractionEnabled = true @@ -512,10 +528,14 @@ class TabTrayController: UIViewController { } } } + + if let tab = tab { + self.delegate?.tabTrayDidAddTab(self, tab: tab) + } }) } - fileprivate func closeTabsForCurrentTray() { + func closeTabsForCurrentTray() { tabManager.removeTabsWithUndoToast(tabsToDisplay) self.collectionView.reloadData() } @@ -555,12 +575,37 @@ extension TabTrayController: PresentingModalViewControllerDelegate { extension TabTrayController: TabManagerDelegate { func tabManager(_ tabManager: TabManager, didSelectedTabChange selected: Tab?, previous: Tab?) { + tabDataSource.isDragging = false + + // Redraw the cells representing the selected (and recently unselected) tabs. + let tabs = tabDataSource.tabs + + // Only redraw if there is more than one tab in the tray. + guard tabs.count > 1 else { + return + } + + let updated = [ selected, previous ] + .flatMap { $0 } + .flatMap { tabs.index(of: $0) } + .map { IndexPath(item: $0, section: 0) } + + assertIsMainThread("Changing selected tab is on main thread") + collectionView?.performBatchUpdates({ _ in + self.collectionView.reloadItems(at: updated) + + if !updated.isEmpty { + self.collectionView.scrollToItem(at: updated[0], at: [.centeredHorizontally, .centeredVertically], animated: true) + } + }) } func tabManager(_ tabManager: TabManager, willAddTab tab: Tab) { + tabDataSource.isDragging = false } func tabManager(_ tabManager: TabManager, willRemoveTab tab: Tab) { + tabDataSource.isDragging = false } func tabManager(_ tabManager: TabManager, didAddTab tab: Tab) { @@ -695,6 +740,7 @@ fileprivate class TabManagerDataSource: NSObject, UICollectionViewDataSource { unowned var cellDelegate: TabCellDelegate & SwipeAnimatorDelegate fileprivate var tabs: [Tab] fileprivate var tabManager: TabManager + fileprivate var isDragging = false init(tabs: [Tab], cellDelegate: TabCellDelegate & SwipeAnimatorDelegate, tabManager: TabManager) { self.cellDelegate = cellDelegate @@ -768,12 +814,82 @@ fileprivate class TabManagerDataSource: NSObject, UICollectionViewDataSource { @objc func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return tabs.count } - - @objc fileprivate func collectionView(_ collectionView: UICollectionView, moveItemAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath) { - let fromIndex = sourceIndexPath.item - let toIndex = destinationIndexPath.item - tabs.insert(tabs.remove(at: fromIndex), at: toIndex < fromIndex ? toIndex : toIndex - 1) - tabManager.moveTab(isPrivate: tabs[fromIndex].isPrivate, fromIndex: fromIndex, toIndex: toIndex) +} + + +@available(iOS 11.0, *) +extension TabManagerDataSource: UICollectionViewDragDelegate { + func collectionView(_ collectionView: UICollectionView, dragSessionWillBegin session: UIDragSession) { + isDragging = true + } + + func collectionView(_ collectionView: UICollectionView, dragSessionDidEnd session: UIDragSession) { + isDragging = false + } + + func collectionView(_ collectionView: UICollectionView, itemsForBeginning session: UIDragSession, at indexPath: IndexPath) -> [UIDragItem] { + let tab = tabs[indexPath.item] + + // Get the tab's current URL. If it is `nil`, check the `sessionData` since + // it may be a tab that has not been restored yet. + var url = tab.url + if url == nil, let sessionData = tab.sessionData { + let urls = sessionData.urls + let index = sessionData.currentPage + urls.count - 1 + if index < urls.count { + url = urls[index] + } + } + + // Ensure we actually have a URL for the tab being dragged and that the URL is not local. + // If not, just create an empty `NSItemProvider` so we can create a drag item with the + // `Tab` so that it can at still be re-ordered. + var itemProvider: NSItemProvider + if url != nil, !(url?.isLocal ?? true) { + itemProvider = NSItemProvider(contentsOf: url) ?? NSItemProvider() + } else { + itemProvider = NSItemProvider() + } + + UnifiedTelemetry.recordEvent(category: .action, method: .drag, object: .tab, value: .tabTray) + + let dragItem = UIDragItem(itemProvider: itemProvider) + dragItem.localObject = tab + return [dragItem] + } +} + +@available(iOS 11.0, *) +extension TabManagerDataSource: UICollectionViewDropDelegate { + func collectionView(_ collectionView: UICollectionView, performDropWith coordinator: UICollectionViewDropCoordinator) { + guard isDragging, let destinationIndexPath = coordinator.destinationIndexPath, let dragItem = coordinator.items.first?.dragItem, let tab = dragItem.localObject as? Tab, let sourceIndex = tabs.index(of: tab) else { + return + } + + UnifiedTelemetry.recordEvent(category: .action, method: .drop, object: .tab, value: .tabTray) + + coordinator.drop(dragItem, toItemAt: destinationIndexPath) + isDragging = false + + let destinationIndex = destinationIndexPath.item + tabManager.moveTab(isPrivate: tab.isPrivate, fromIndex: sourceIndex, toIndex: destinationIndex) + tabs.insert(tabs.remove(at: sourceIndex), at: destinationIndex) + collectionView.moveItem(at: IndexPath(item: sourceIndex, section: 0), to: destinationIndexPath) + } + + func collectionView(_ collectionView: UICollectionView, dropSessionDidUpdate session: UIDropSession, withDestinationIndexPath destinationIndexPath: IndexPath?) -> UICollectionViewDropProposal { + guard let localDragSession = session.localDragSession, let item = localDragSession.items.first, let tab = item.localObject as? Tab else { + return UICollectionViewDropProposal(operation: .forbidden) + } + + // If the tab doesn't exist by the time we get here, we must return a + // `.cancel` operation continuously until `isDragging` can be reset. + guard isDragging, tabs.index(of: tab) != nil else { + isDragging = false + return UICollectionViewDropProposal(operation: .cancel) + } + + return UICollectionViewDropProposal(operation: .move, intent: .insertAtDestinationIndexPath) } } @@ -1035,14 +1151,14 @@ class TrayToolbar: UIView { addTabButton.snp.makeConstraints { make in make.top.equalTo(self) - make.right.equalTo(self).offset(-sideOffset) + make.trailing.equalTo(self).offset(-sideOffset) make.size.equalTo(toolbarButtonSize) } addSubview(maskButton) maskButton.snp.makeConstraints { make in make.top.equalTo(self) - make.left.equalTo(self).offset(sideOffset) + make.leading.equalTo(self).offset(sideOffset) make.size.equalTo(toolbarButtonSize) } diff --git a/Client/Frontend/Browser/ThirdPartySearchAlerts.swift b/Client/Frontend/Browser/ThirdPartySearchAlerts.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/TopTabsLayout.swift b/Client/Frontend/Browser/TopTabsLayout.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/TopTabsViewController.swift b/Client/Frontend/Browser/TopTabsViewController.swift old mode 100644 new mode 100755 index bfd858a8c..96b9cd029 --- a/Client/Frontend/Browser/TopTabsViewController.swift +++ b/Client/Frontend/Browser/TopTabsViewController.swift @@ -37,6 +37,7 @@ class TopTabsViewController: UIViewController { let tabManager: TabManager weak var delegate: TopTabsDelegate? fileprivate var isPrivate = false + fileprivate var isDragging = false lazy var collectionView: UICollectionView = { let collectionView = UICollectionView(frame: CGRect.zero, collectionViewLayout: TopTabsViewLayout()) @@ -46,11 +47,13 @@ class TopTabsViewController: UIViewController { collectionView.bounces = false collectionView.clipsToBounds = false collectionView.accessibilityIdentifier = "Top Tabs View" + collectionView.semanticContentAttribute = .forceLeftToRight return collectionView }() fileprivate lazy var tabsButton: TabsButton = { let tabsButton = TabsButton.tabTrayButton() + tabsButton.semanticContentAttribute = .forceLeftToRight tabsButton.addTarget(self, action: #selector(TopTabsViewController.tabsTrayTapped), for: .touchUpInside) tabsButton.accessibilityIdentifier = "TopTabsViewController.tabsButton" return tabsButton @@ -58,12 +61,14 @@ class TopTabsViewController: UIViewController { fileprivate lazy var newTab: UIButton = { let newTab = UIButton.newTabButton() + newTab.semanticContentAttribute = .forceLeftToRight newTab.addTarget(self, action: #selector(TopTabsViewController.newTabTapped), for: .touchUpInside) return newTab }() lazy var privateModeButton: PrivateModeButton = { let privateModeButton = PrivateModeButton() + privateModeButton.semanticContentAttribute = .forceLeftToRight privateModeButton.light = true privateModeButton.addTarget(self, action: #selector(TopTabsViewController.togglePrivateModeTapped), for: .touchUpInside) return privateModeButton @@ -98,7 +103,7 @@ class TopTabsViewController: UIViewController { [UICollectionElementKindSectionHeader, UICollectionElementKindSectionFooter].forEach { collectionView.register(TopTabsHeaderFooter.self, forSupplementaryViewOfKind: $0, withReuseIdentifier: "HeaderFooter") } - self.tabObservers = registerFor(.didLoadFavicon, queue: .main) + self.tabObservers = registerFor(.didLoadFavicon, .didChangeURL, queue: .main) } deinit { @@ -113,7 +118,7 @@ class TopTabsViewController: UIViewController { override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) if self.tabsToDisplay != self.tabStore { - self.reloadData() + performTabUpdates() } } @@ -123,14 +128,27 @@ class TopTabsViewController: UIViewController { tabManager.addDelegate(self) self.tabStore = self.tabsToDisplay + if #available(iOS 11.0, *) { + collectionView.dragDelegate = self + collectionView.dropDelegate = self + } + let topTabFader = TopTabFader() + topTabFader.semanticContentAttribute = .forceLeftToRight view.addSubview(topTabFader) topTabFader.addSubview(collectionView) view.addSubview(tabsButton) view.addSubview(newTab) view.addSubview(privateModeButton) - + + // Setup UIDropInteraction to handle dragging and dropping + // links onto the "New Tab" button. + if #available(iOS 11, *) { + let dropInteraction = UIDropInteraction(delegate: self) + newTab.addInteraction(dropInteraction) + } + newTab.snp.makeConstraints { make in make.centerY.equalTo(view) make.trailing.equalTo(tabsButton.snp.leading).offset(-10) @@ -240,6 +258,34 @@ class TopTabsViewController: UIViewController { } } +@available(iOS 11.0, *) +extension TopTabsViewController: UIDropInteractionDelegate { + func dropInteraction(_ interaction: UIDropInteraction, canHandle session: UIDropSession) -> Bool { + // Prevent tabs from being dragged and dropped onto the "New Tab" button. + if let localDragSession = session.localDragSession, let item = localDragSession.items.first, let _ = item.localObject as? Tab { + return false + } + + return session.canLoadObjects(ofClass: URL.self) + } + + func dropInteraction(_ interaction: UIDropInteraction, sessionDidUpdate session: UIDropSession) -> UIDropProposal { + return UIDropProposal(operation: .copy) + } + + func dropInteraction(_ interaction: UIDropInteraction, performDrop session: UIDropSession) { + UnifiedTelemetry.recordEvent(category: .action, method: .drop, object: .url, value: .topTabs) + + _ = session.loadObjects(ofClass: URL.self) { urls in + guard let url = urls.first else { + return + } + + self.tabManager.addTab(URLRequest(url: url), isPrivate: self.isPrivate) + } + } +} + extension TopTabsViewController: Themeable { func applyTheme(_ theme: Theme) { tabsButton.applyTheme(theme) @@ -279,7 +325,7 @@ extension TopTabsViewController: UICollectionViewDataSource { tabCell.titleText.text = tab.displayTitle if tab.displayTitle.isEmpty { - if tab.webView?.url?.baseDomain?.contains("localhost") ?? true { + if tab.webView?.url?.isLocalUtility ?? true { tabCell.titleText.text = Strings.AppMenuNewTabTitleString } else { tabCell.titleText.text = tab.webView?.url?.absoluteDisplayString @@ -318,7 +364,83 @@ extension TopTabsViewController: UICollectionViewDataSource { view.arrangeLine(kind) return view } +} + +@available(iOS 11.0, *) +extension TopTabsViewController: UICollectionViewDragDelegate { + func collectionView(_ collectionView: UICollectionView, dragSessionWillBegin session: UIDragSession) { + isDragging = true + } + + func collectionView(_ collectionView: UICollectionView, dragSessionDidEnd session: UIDragSession) { + isDragging = false + } + + func collectionView(_ collectionView: UICollectionView, itemsForBeginning session: UIDragSession, at indexPath: IndexPath) -> [UIDragItem] { + // We need to store the earliest oldTabs. So if one already exists use that. + self.oldTabs = self.oldTabs ?? tabStore + + let tab = tabStore[indexPath.item] + + // Get the tab's current URL. If it is `nil`, check the `sessionData` since + // it may be a tab that has not been restored yet. + var url = tab.url + if url == nil, let sessionData = tab.sessionData { + let urls = sessionData.urls + let index = sessionData.currentPage + urls.count - 1 + if index < urls.count { + url = urls[index] + } + } + + // Ensure we actually have a URL for the tab being dragged and that the URL is not local. + // If not, just create an empty `NSItemProvider` so we can create a drag item with the + // `Tab` so that it can at still be re-ordered. + var itemProvider: NSItemProvider + if url != nil, !(url?.isLocal ?? true) { + itemProvider = NSItemProvider(contentsOf: url) ?? NSItemProvider() + } else { + itemProvider = NSItemProvider() + } + + UnifiedTelemetry.recordEvent(category: .action, method: .drag, object: .tab, value: .topTabs) + + let dragItem = UIDragItem(itemProvider: itemProvider) + dragItem.localObject = tab + return [dragItem] + } +} + +@available(iOS 11.0, *) +extension TopTabsViewController: UICollectionViewDropDelegate { + func collectionView(_ collectionView: UICollectionView, performDropWith coordinator: UICollectionViewDropCoordinator) { + guard let destinationIndexPath = coordinator.destinationIndexPath, let dragItem = coordinator.items.first?.dragItem, let tab = dragItem.localObject as? Tab, let sourceIndex = tabStore.index(of: tab) else { + return + } + + UnifiedTelemetry.recordEvent(category: .action, method: .drop, object: .tab, value: .topTabs) + + coordinator.drop(dragItem, toItemAt: destinationIndexPath) + isDragging = false + + self.tabManager.moveTab(isPrivate: self.isPrivate, fromIndex: sourceIndex, toIndex: destinationIndexPath.item) + self.performTabUpdates() + } + + func collectionView(_ collectionView: UICollectionView, dropSessionDidUpdate session: UIDropSession, withDestinationIndexPath destinationIndexPath: IndexPath?) -> UICollectionViewDropProposal { + guard let localDragSession = session.localDragSession, let item = localDragSession.items.first, let tab = item.localObject as? Tab else { + return UICollectionViewDropProposal(operation: .forbidden) + } + + // If the `isDragging` is not `true` by the time we get here, we've had other + // add/remove operations happen while the drag was going on. We must return a + // `.cancel` operation continuously until `isDragging` can be reset. + guard tabStore.index(of: tab) != nil, isDragging else { + return UICollectionViewDropProposal(operation: .cancel) + } + return UICollectionViewDropProposal(operation: .move, intent: .insertAtDestinationIndexPath) + } } extension TopTabsViewController: TabSelectionDelegate { @@ -332,33 +454,58 @@ extension TopTabsViewController: TabSelectionDelegate { extension TopTabsViewController: TabEventHandler { func tab(_ tab: Tab, didLoadFavicon favicon: Favicon?, with: Data?) { - assertIsMainThread("Animations can only be performed from the main thread") + assertIsMainThread("UICollectionView changes can only be performed from the main thread") - if self.tabStore.index(of: tab) != nil { - self.needReloads.append(tab) - self.performTabUpdates() + if tabStore.index(of: tab) != nil { + needReloads.append(tab) + performTabUpdates() + } + } + + func tab(_ tab: Tab, didChangeURL url: URL) { + assertIsMainThread("UICollectionView changes can only be performed from the main thread") + + if tabStore.index(of: tab) != nil { + needReloads.append(tab) + performTabUpdates() } } } // Collection Diff (animations) extension TopTabsViewController { + struct TopTabMoveChange: Hashable { + let from: IndexPath + let to: IndexPath + + var hashValue: Int { + return from.hashValue + to.hashValue + } + + // Consider equality when from/to are equal as well as swapped. This is because + // moving a tab from index 2 to index 1 will result in TWO changes: 2 -> 1 and 1 -> 2 + // We only need to keep *one* of those two changes when dealing with a move. + static func ==(lhs: TopTabsViewController.TopTabMoveChange, rhs: TopTabsViewController.TopTabMoveChange) -> Bool { + return (lhs.from == rhs.from && lhs.to == rhs.to) || (lhs.from == rhs.to && lhs.to == rhs.from) + } + } struct TopTabChangeSet { let reloads: Set let inserts: Set let deletes: Set + let moves: Set - init(reloadArr: [IndexPath], insertArr: [IndexPath], deleteArr: [IndexPath]) { + init(reloadArr: [IndexPath], insertArr: [IndexPath], deleteArr: [IndexPath], moveArr: [TopTabMoveChange]) { reloads = Set(reloadArr) inserts = Set(insertArr) deletes = Set(deleteArr) + moves = Set(moveArr) } - var all: [Set] { - return [inserts, reloads, deletes] + var isEmpty: Bool { + return reloads.isEmpty && inserts.isEmpty && deletes.isEmpty && moves.isEmpty } - } // create a TopTabChangeSet which is a snapshot of updates to perfrom on a collectionView @@ -377,20 +524,27 @@ extension TopTabsViewController { return nil } + let moves: [TopTabMoveChange] = newTabs.enumerated().flatMap { newIndex, tab in + if let oldIndex = oldTabs.index(of: tab), oldIndex != newIndex { + return TopTabMoveChange(from: IndexPath(row: oldIndex, section: 0), to: IndexPath(row: newIndex, section: 0)) + } + return nil + } + // Create based on what is visibile but filter out tabs we are about to insert/delete. let reloads: [IndexPath] = reloadTabs.flatMap { tab in guard let tab = tab, newTabs.index(of: tab) != nil else { return nil } return IndexPath(row: newTabs.index(of: tab)!, section: 0) - }.filter { return inserts.index(of: $0) == nil && deletes.index(of: $0) == nil } + }.filter { return inserts.index(of: $0) == nil && deletes.index(of: $0) == nil } - return TopTabChangeSet(reloadArr: reloads, insertArr: inserts, deleteArr: deletes) + return TopTabChangeSet(reloadArr: reloads, insertArr: inserts, deleteArr: deletes, moveArr: moves) } func updateTabsFrom(_ oldTabs: [Tab]?, to newTabs: [Tab], on completion: (() -> Void)? = nil) { assertIsMainThread("Updates can only be performed from the main thread") - guard let oldTabs = oldTabs, !self.isUpdating, !self.pendingReloadData else { + guard let oldTabs = oldTabs, !self.isUpdating, !self.pendingReloadData, !self.isDragging else { return } @@ -399,7 +553,7 @@ extension TopTabsViewController { flushPendingChanges() // If there are no changes. We have nothing to do - if update.all.every({ $0.isEmpty }) { + if update.isEmpty { completion?() return } @@ -407,19 +561,25 @@ extension TopTabsViewController { // The actual update block. We update the dataStore right before we do the UI updates. let updateBlock = { self.tabStore = newTabs - self.collectionView.deleteItems(at: Array(update.deletes)) - self.collectionView.insertItems(at: Array(update.inserts)) - self.collectionView.reloadItems(at: Array(update.reloads)) + + // Only consider moves if no other operations are pending. + if update.deletes.count == 0, update.inserts.count == 0, update.reloads.count == 0 { + for move in update.moves { + self.collectionView.moveItem(at: move.from, to: move.to) + } + } else { + self.collectionView.deleteItems(at: Array(update.deletes)) + self.collectionView.insertItems(at: Array(update.inserts)) + self.collectionView.reloadItems(at: Array(update.reloads)) + } } //Lets lock any other updates from happening. self.isUpdating = true + self.isDragging = false self.pendingUpdatesToTabs = newTabs // This var helps other mutations that might happen while updating. - // The actual update - UIView.animate(withDuration: TopTabsUX.AnimationSpeed, animations: { - self.collectionView.performBatchUpdates(updateBlock) - }) { (_) in + let onComplete: () -> Void = { self.isUpdating = false self.pendingUpdatesToTabs = [] // Sometimes there might be a pending reload. Lets do that. @@ -435,6 +595,20 @@ extension TopTabsViewController { } }) } + + // The actual update. Only animate the changes if no tabs have moved + // as a result of drag-and-drop. + if update.moves.count == 0 { + UIView.animate(withDuration: TopTabsUX.AnimationSpeed, animations: { + self.collectionView.performBatchUpdates(updateBlock) + }) { (_) in + onComplete() + } + } else { + self.collectionView.performBatchUpdates(updateBlock) { _ in + onComplete() + } + } } fileprivate func flushPendingChanges() { @@ -442,7 +616,7 @@ extension TopTabsViewController { needReloads.removeAll() } - fileprivate func reloadData() { + func reloadData() { assertIsMainThread("reloadData must only be called from main thread") if self.isUpdating || self.collectionView.frame == CGRect.zero { @@ -451,6 +625,7 @@ extension TopTabsViewController { } isUpdating = true + isDragging = false self.tabStore = self.tabsToDisplay self.newTab.isUserInteractionEnabled = false self.flushPendingChanges() @@ -480,7 +655,7 @@ extension TopTabsViewController: TabManagerDelegate { } func performTabUpdates() { - guard !isUpdating else { + guard !isUpdating, view.window != nil else { return } diff --git a/Client/Frontend/Browser/TopTabsViews.swift b/Client/Frontend/Browser/TopTabsViews.swift old mode 100644 new mode 100755 index 696fb2200..84db77f77 --- a/Client/Frontend/Browser/TopTabsViews.swift +++ b/Client/Frontend/Browser/TopTabsViews.swift @@ -25,6 +25,7 @@ class TopTabsHeaderFooter: UICollectionReusableView { let line = UIView() override init(frame: CGRect) { super.init(frame: frame) + line.semanticContentAttribute = .forceLeftToRight addSubview(line) line.backgroundColor = TopTabsSeparatorUX.Color } @@ -103,6 +104,7 @@ class TopTabCell: UICollectionViewCell { titleText.numberOfLines = 1 titleText.lineBreakMode = .byCharWrapping titleText.font = DynamicFontHelper.defaultHelper.DefaultSmallFont + titleText.semanticContentAttribute = .forceLeftToRight return titleText }() @@ -110,6 +112,7 @@ class TopTabCell: UICollectionViewCell { let favicon = UIImageView() favicon.layer.cornerRadius = 2.0 favicon.layer.masksToBounds = true + favicon.semanticContentAttribute = .forceLeftToRight return favicon }() @@ -121,6 +124,7 @@ class TopTabCell: UICollectionViewCell { closeButton.layer.shadowOpacity = 0.8 closeButton.layer.masksToBounds = false closeButton.layer.shadowOffset = CGSize(width: -TopTabsUX.TabTitlePadding, height: 0) + closeButton.semanticContentAttribute = .forceLeftToRight return closeButton }() @@ -128,6 +132,7 @@ class TopTabCell: UICollectionViewCell { let line = UIView() line.backgroundColor = UIColor.Defaults.Blue60 line.isHidden = true + line.semanticContentAttribute = .forceLeftToRight return line }() diff --git a/Client/Frontend/Browser/URIFixup.swift b/Client/Frontend/Browser/URIFixup.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Browser/URLBarView.swift b/Client/Frontend/Browser/URLBarView.swift old mode 100644 new mode 100755 index 758d2e190..3d7f89d8c --- a/Client/Frontend/Browser/URLBarView.swift +++ b/Client/Frontend/Browser/URLBarView.swift @@ -36,6 +36,7 @@ protocol URLBarDelegate: class { func urlBarDidLongPressLocation(_ urlBar: URLBarView) func urlBarDidPressQRButton(_ urlBar: URLBarView) func urlBarDidPressPageOptions(_ urlBar: URLBarView, from button: UIButton) + func urlBarDidTapShield(_ urlBar: URLBarView, from button: UIButton) func urlBarLocationAccessibilityActions(_ urlBar: URLBarView) -> [UIAccessibilityCustomAction]? func urlBarDidPressScrollToTop(_ urlBar: URLBarView) func urlBar(_ urlBar: URLBarView, didEnterText text: String) @@ -43,6 +44,7 @@ protocol URLBarDelegate: class { // Returns either (search query, true) or (url, false). func urlBarDisplayTextForURL(_ url: URL?) -> (String?, Bool) func urlBarDidLongPressPageOptions(_ urlBar: URLBarView, from button: UIButton) + func urlBarDidBeginDragInteraction(_ urlBar: URLBarView) } class URLBarView: UIView { @@ -228,13 +230,13 @@ class URLBarView: UIView { } forwardButton.snp.makeConstraints { make in - make.left.equalTo(self.backButton.snp.right) + make.leading.equalTo(self.backButton.snp.trailing) make.centerY.equalTo(self) make.size.equalTo(URLBarViewUX.ButtonHeight) } stopReloadButton.snp.makeConstraints { make in - make.left.equalTo(self.forwardButton.snp.right) + make.leading.equalTo(self.forwardButton.snp.trailing) make.centerY.equalTo(self) make.size.equalTo(URLBarViewUX.ButtonHeight) } @@ -321,6 +323,7 @@ class URLBarView: UIView { locationTextField.autocapitalizationType = .none locationTextField.returnKeyType = .go locationTextField.clearButtonMode = .whileEditing + locationTextField.textAlignment = .left locationTextField.font = UIConstants.DefaultChromeFont locationTextField.accessibilityIdentifier = "address" locationTextField.accessibilityLabel = NSLocalizedString("Address and Search", comment: "Accessibility label for address and search field, both words (Address, Search) are therefore nouns.") @@ -333,6 +336,10 @@ class URLBarView: UIView { locationTextField.applyTheme(currentTheme) } + override func becomeFirstResponder() -> Bool { + return self.locationTextField?.becomeFirstResponder() ?? false + } + func removeLocationTextField() { locationTextField?.removeFromSuperview() locationTextField = nil @@ -377,10 +384,16 @@ class URLBarView: UIView { } func setLocation(_ location: String?, search: Bool) { - locationTextField?.text = location - if search, let location = location, !location.isEmpty { + guard let text = location, !text.isEmpty else { + locationTextField?.text = location + return + } + if search { + locationTextField?.text = text // Not notifying when empty agrees with AutocompleteTextField.textDidChange. - delegate?.urlBar(self, didEnterText: location) + delegate?.urlBar(self, didEnterText: text) + } else { + locationTextField?.setTextWithoutSearching(text) } } @@ -593,6 +606,14 @@ extension URLBarView: TabLocationViewDelegate { func tabLocationViewLocationAccessibilityActions(_ tabLocationView: TabLocationView) -> [UIAccessibilityCustomAction]? { return delegate?.urlBarLocationAccessibilityActions(self) } + + func tabLocationViewDidBeginDragInteraction(_ tabLocationView: TabLocationView) { + delegate?.urlBarDidBeginDragInteraction(self) + } + + func tabLocationViewDidTapShield(_ tabLocationView: TabLocationView) { + delegate?.urlBarDidTapShield(self, from: tabLocationView.trackingProtectionButton) + } } extension URLBarView: AutocompleteTextFieldDelegate { @@ -618,6 +639,10 @@ extension URLBarView: AutocompleteTextFieldDelegate { delegate?.urlBar(self, didEnterText: "") return true } + + func autocompleteTextFieldDidCancel(_ autocompleteTextField: AutocompleteTextField) { + leaveOverlayMode(didCancel: true) + } } // MARK: UIAppearance diff --git a/Client/Frontend/Browser/UserScriptManager.swift b/Client/Frontend/Browser/UserScriptManager.swift old mode 100644 new mode 100755 index cccbf2cb6..19613f81e --- a/Client/Frontend/Browser/UserScriptManager.swift +++ b/Client/Frontend/Browser/UserScriptManager.swift @@ -5,33 +5,23 @@ import WebKit class UserScriptManager { - init(tab: Tab) { - // All Frames (.atDocumentStart) - if let path = Bundle.main.path(forResource: "AllFramesAtDocumentStart", ofType: "js"), - let source = try? NSString(contentsOfFile: path, encoding: String.Encoding.utf8.rawValue) as String { - let userScript = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: false) - tab.webView?.configuration.userContentController.addUserScript(userScript) - } - - // All Frames (.atDocumentEnd) - if let path = Bundle.main.path(forResource: "AllFramesAtDocumentEnd", ofType: "js"), - let source = try? NSString(contentsOfFile: path, encoding: String.Encoding.utf8.rawValue) as String { - let userScript = WKUserScript(source: source, injectionTime: .atDocumentEnd, forMainFrameOnly: false) - tab.webView?.configuration.userContentController.addUserScript(userScript) - } - // Main Frame (.atDocumentStart) - if let path = Bundle.main.path(forResource: "MainFrameAtDocumentStart", ofType: "js"), - let source = try? NSString(contentsOfFile: path, encoding: String.Encoding.utf8.rawValue) as String { - let userScript = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true) - tab.webView?.configuration.userContentController.addUserScript(userScript) - } + // Scripts can use this to verify the app –not js on the page– is calling into them. + public static let securityToken = UUID() - // Main Frame (.atDocumentEnd) - if let path = Bundle.main.path(forResource: "MainFrameAtDocumentEnd", ofType: "js"), - let source = try? NSString(contentsOfFile: path, encoding: String.Encoding.utf8.rawValue) as String { - let userScript = WKUserScript(source: source, injectionTime: .atDocumentEnd, forMainFrameOnly: true) - tab.webView?.configuration.userContentController.addUserScript(userScript) - } + init(tab: Tab) { + [(WKUserScriptInjectionTime.atDocumentStart, mainFrameOnly: false), + (WKUserScriptInjectionTime.atDocumentEnd, mainFrameOnly: false), + (WKUserScriptInjectionTime.atDocumentStart, mainFrameOnly: true), + (WKUserScriptInjectionTime.atDocumentEnd, mainFrameOnly: true)].forEach { arg in + let (injectionTime, mainFrameOnly) = arg + let name = (mainFrameOnly ? "MainFrame" : "AllFrames") + "AtDocument" + (injectionTime == .atDocumentStart ? "Start" : "End") + if let path = Bundle.main.path(forResource: name, ofType: "js"), + let source = try? NSString(contentsOfFile: path, encoding: String.Encoding.utf8.rawValue) as String { + let wrappedSource = "(function() { const SECURITY_TOKEN = '\(UserScriptManager.securityToken)'; \(source) })()" + let userScript = WKUserScript(source: wrappedSource, injectionTime: injectionTime, forMainFrameOnly: mainFrameOnly) + tab.webView?.configuration.userContentController.addUserScript(userScript) + } + } } } diff --git a/Client/Frontend/ContentBlocker/ContentBlockerHelper+TabContentScript.swift b/Client/Frontend/ContentBlocker/ContentBlockerHelper+TabContentScript.swift new file mode 100755 index 000000000..470ab00ae --- /dev/null +++ b/Client/Frontend/ContentBlocker/ContentBlockerHelper+TabContentScript.swift @@ -0,0 +1,46 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import WebKit +import Shared +import Deferred + +@available(iOS 11, *) +extension ContentBlockerHelper: TabContentScript { + class func name() -> String { + return "TrackingProtectionStats" + } + + func scriptMessageHandlerName() -> String? { + return "trackingProtectionStats" + } + + func clearPageStats() { + stats = TPPageStats() + } + + func userContentController(_ userContentController: WKUserContentController, didReceiveScriptMessage message: WKScriptMessage) { + guard isEnabled, + let body = message.body as? [String: String], + let urlString = body["url"], + let mainDocumentUrl = tab?.webView?.url else { + return + } + + // Reset the pageStats to make sure the trackingprotection shield icon knows that a page was whitelisted + guard !ContentBlockerHelper.isWhitelisted(url: mainDocumentUrl) else { + clearPageStats() + return + } + guard var components = URLComponents(string: urlString) else { return } + components.scheme = "http" + guard let url = components.url else { return } + + TPStatsBlocklistChecker.shared.isBlocked(url: url, isStrictMode: blockingStrengthPref == .strict).uponQueue(.main) { listItem in + if let listItem = listItem { + self.stats = self.stats.create(byAddingListItem: listItem) + } + } + } +} diff --git a/Client/Frontend/ContentBlocker/ContentBlockerHelper+Whitelist.swift b/Client/Frontend/ContentBlocker/ContentBlockerHelper+Whitelist.swift new file mode 100755 index 000000000..5c8c09466 --- /dev/null +++ b/Client/Frontend/ContentBlocker/ContentBlockerHelper+Whitelist.swift @@ -0,0 +1,103 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import WebKit +import Shared +import Deferred + +struct WhitelistedDomains { + var domainSet = Set() { + didSet { + domainRegex = domainSet.flatMap { wildcardContentBlockerDomainToRegex(domain: "*" + $0) } + } + } + + private(set) var domainRegex = [NSRegularExpression]() +} + +@available(iOS 11.0, *) +extension ContentBlockerHelper { + + static func whitelistFileURL() -> URL? { + guard let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else { + Sentry.shared.send(message: "Failed to get doc dir for whitelist file.") + return nil + } + return dir.appendingPathComponent("whitelist") + } + + // Get the whitelist domain array as a JSON fragment that can be inserted at the end of a blocklist. + static func whitelistAsJSON() -> String { + if ContentBlockerHelper.whitelistedDomains.domainSet.isEmpty { + return "" + } + // Note that * is added to the front of domains, so foo.com becomes *foo.com + let list = "'*" + ContentBlockerHelper.whitelistedDomains.domainSet.joined(separator: "','*") + "'" + return ", {'action': { 'type': 'ignore-previous-rules' }, 'trigger': { 'url-filter': '.*', 'if-domain': [\(list)] }}".replacingOccurrences(of: "'", with: "\"") + } + + static func whitelist(enable: Bool, url: URL, completion: (() -> Void)?) { + guard let domain = whitelistableDomain(fromUrl: url) else { return } + + if enable { + whitelistedDomains.domainSet.insert(domain) + } else { + whitelistedDomains.domainSet.remove(domain) + } + + updateWhitelist(completion: completion) + } + + static func clearWhitelist(completion: (() -> Void)?) { + whitelistedDomains.domainSet = Set() + updateWhitelist(completion: completion) + } + + private static func updateWhitelist(completion: (() -> Void)?) { + removeAllRulesInStore { + compileListsNotInStore { + completion?() + NotificationCenter.default.post(name: .ContentBlockerTabSetupRequired, object: nil) + + } + } + + guard let fileURL = ContentBlockerHelper.whitelistFileURL() else { return } + if ContentBlockerHelper.whitelistedDomains.domainSet.isEmpty { + try? FileManager.default.removeItem(at: fileURL) + return + } + + let list = ContentBlockerHelper.whitelistedDomains.domainSet.joined(separator: "\n") + do { + try list.write(to: fileURL, atomically: true, encoding: .utf8) + } catch { + Sentry.shared.send(message: "Failed to save whitelist file") + } + } + // Ensure domains used for whitelisting are standardized by using this function. + static func whitelistableDomain(fromUrl url: URL) -> String? { + guard let domain = url.host, !domain.isEmpty else { + return nil + } + return domain + } + + static func isWhitelisted(url: URL) -> Bool { + guard let domain = whitelistableDomain(fromUrl: url) else { + return false + } + return whitelistedDomains.domainSet.contains(domain) + } + + static func readWhitelistFile() -> [String]? { + guard let fileURL = whitelistFileURL() else { return nil } + let text = try? String(contentsOf: fileURL, encoding: .utf8) + if let text = text, !text.isEmpty { + return text.components(separatedBy: .newlines) + } + + return nil + } +} diff --git a/Client/Frontend/ContentBlocker/ContentBlockerHelper.swift b/Client/Frontend/ContentBlocker/ContentBlockerHelper.swift old mode 100644 new mode 100755 index f5ba6309b..3c8b2bb5f --- a/Client/Frontend/ContentBlocker/ContentBlockerHelper.swift +++ b/Client/Frontend/ContentBlocker/ContentBlockerHelper.swift @@ -6,189 +6,203 @@ import WebKit import Shared import Deferred +enum BlocklistName: String { + case advertising = "disconnect-advertising" + case analytics = "disconnect-analytics" + case content = "disconnect-content" + case social = "disconnect-social" + + var filename: String { return self.rawValue } + + static var all: [BlocklistName] { return [.advertising, .analytics, .content, .social] } + static var basic: [BlocklistName] { return [.advertising, .analytics, .social] } + static var strict: [BlocklistName] { return [.content] } + + static func forStrictMode(isOn: Bool) -> [BlocklistName] { + return BlocklistName.basic + (isOn ? BlocklistName.strict : []) + } +} @available(iOS 11.0, *) -class ContentBlockerHelper { - static let PrefKeyEnabledState = "prefkey.trackingprotection.enabled" - static let PrefKeyStrength = "prefkey.trackingprotection.strength" - fileprivate let blocklistBasic = ["disconnect-advertising", "disconnect-analytics", "disconnect-social"] - fileprivate let blocklistStrict = ["disconnect-content"] - fileprivate let ruleStore: WKContentRuleListStore - fileprivate weak var tab: Tab? - fileprivate weak var profile: Profile? - - static var blockImagesRule: WKContentRuleList? - - enum TrackingProtectionUserOverride { - case disallowUserOverride // Option is not offered if tracking protection is off in prefs - case allowedButNotSet - case forceEnabled - case forceDisabled +enum BlockerStatus: String { + case Disabled + case NoBlockedURLs // When TP is enabled but nothing is being blocked + case Whitelisted + case Blocking +} + +struct ContentBlockingConfig { + struct Prefs { + static let StrengthKey = "prefkey.trackingprotection.strength" + static let NormalBrowsingEnabledKey = "prefkey.trackingprotection.normalbrowsing" + static let PrivateBrowsingEnabledKey = "prefkey.trackingprotection.privatebrowsing" } - fileprivate var prefOverrideTrackingProtectionEnabled: Bool? - var userOverrideForTrackingProtection: TrackingProtectionUserOverride { - if !trackingProtectionEnabledInSettings { - return .disallowUserOverride - } - guard let enabled = prefOverrideTrackingProtectionEnabled else { - return .allowedButNotSet - } - return enabled ? .forceEnabled : .forceDisabled + struct Defaults { + static let NormalBrowsing = true + static let PrivateBrowsing = true } +} - // Raw values are stored to prefs, be careful changing them. - enum EnabledState: String { - case on - case onInPrivateBrowsing - case off - - var settingTitle: String { - switch self { - case .on: - return Strings.TrackingProtectionOptionAlwaysOn - case .onInPrivateBrowsing: - return Strings.TrackingProtectionOptionOnInPrivateBrowsing - case .off: - return Strings.TrackingProtectionOptionAlwaysOff - } - } +struct NoImageModeDefaults { + static let Script = "[{'trigger':{'url-filter':'.*','resource-type':['image']},'action':{'type':'block'}}]".replacingOccurrences(of: "'", with: "\"") + static let ScriptName = "images" +} - static func accessibilityId(for state: EnabledState) -> String { - switch state { - case .on: - return "Settings.TrackingProtectionOption.OnLabel" - case .onInPrivateBrowsing: - return "Settings.TrackingProtectionOption.OnInPrivateBrowsingLabel" - case .off: - return "Settings.TrackingProtectionOption.OffLabel" - } - } +enum BlockingStrength: String { + case basic + case strict - static let allOptions: [EnabledState] = [.on, .onInPrivateBrowsing, .off] + static let allOptions: [BlockingStrength] = [.basic, .strict] +} + +@available(iOS 11.0, *) +class ContentBlockerHelper { + static var whitelistedDomains = WhitelistedDomains() + + static let ruleStore: WKContentRuleListStore = WKContentRuleListStore.default() + weak var tab: Tab? + private(set) var userPrefs: Prefs? + + var isUserEnabled: Bool? { + didSet { + setupTabTrackingProtection() + guard let tab = tab else { return } + TabEvent.post(.didChangeContentBlocking, for: tab) + tab.reload() + } } - // Raw values are stored to prefs, be careful changing them. - enum BlockingStrength: String { - case basic - case strict - - var settingTitle: String { - switch self { - case .basic: - return Strings.TrackingProtectionOptionBlockListTypeBasic - case .strict: - return Strings.TrackingProtectionOptionBlockListTypeStrict - } + var isEnabled: Bool { + if let enabled = isUserEnabled { + return enabled } + guard let tab = tab else { return false } + return tab.isPrivate ? isEnabledInPrivateBrowsing : isEnabledInNormalBrowsing + } - var subtitle: String { - switch self { - case .basic: - return Strings.TrackingProtectionOptionBlockListTypeBasicDescription - case .strict: - return Strings.TrackingProtectionOptionBlockListTypeStrictDescription + var status: BlockerStatus { + guard isEnabled else { + return .Disabled + } + if stats.total == 0 { + guard let url = tab?.url else { + return .NoBlockedURLs } + return ContentBlockerHelper.isWhitelisted(url: url) ? .Whitelisted : .NoBlockedURLs + } else { + return .Blocking } + } - static func accessibilityId(for strength: BlockingStrength) -> String { - switch strength { - case .basic: - return "Settings.TrackingProtectionOption.BlockListBasic" - case .strict: - return "Settings.TrackingProtectionOption.BlockListStrict" + var stats: TPPageStats = TPPageStats() { + didSet { + guard let tab = self.tab else { return } + if stats.total <= 1 { + TabEvent.post(.didChangeContentBlocking, for: tab) } } + } - static let allOptions: [BlockingStrength] = [.basic, .strict] + fileprivate var isEnabledInNormalBrowsing: Bool { + return userPrefs?.boolForKey(ContentBlockingConfig.Prefs.NormalBrowsingEnabledKey) ?? ContentBlockingConfig.Defaults.NormalBrowsing } - static func prefsChanged() { - NotificationCenter.default.post(name: .ContentBlockerUpdateNeeded, object: nil) + var isEnabledInPrivateBrowsing: Bool { + return userPrefs?.boolForKey(ContentBlockingConfig.Prefs.PrivateBrowsingEnabledKey) ?? ContentBlockingConfig.Defaults.PrivateBrowsing } - class func name() -> String { - return "ContentBlockerHelper" + var blockingStrengthPref: BlockingStrength { + return userPrefs?.stringForKey(ContentBlockingConfig.Prefs.StrengthKey).flatMap(BlockingStrength.init) ?? .basic } - private static var heavyInitHasRunOnce = false + static private var blockImagesRule: WKContentRuleList? + static var heavyInitHasRunOnce = false init(tab: Tab, profile: Profile) { - self.ruleStore = WKContentRuleListStore.default() self.tab = tab - self.profile = profile + self.userPrefs = profile.prefs + + NotificationCenter.default.addObserver(self, selector: #selector(setupTabTrackingProtection), name: .ContentBlockerTabSetupRequired, object: nil) - if ContentBlockerHelper.heavyInitHasRunOnce { + guard let prefs = userPrefs, !ContentBlockerHelper.heavyInitHasRunOnce else { return } - ContentBlockerHelper.heavyInitHasRunOnce = true - removeOldListsByDateFromStore() { - self.removeOldListsByNameFromStore() { - self.compileListsNotInStore(completion: {}) - } - } + performHeavyOneTimeInit(prefs) + } + + private func performHeavyOneTimeInit(_ prefs: Prefs) { + struct RunOnce { static var hasRun = false } + guard !RunOnce.hasRun else { return } + RunOnce.hasRun = true - let blockImages = "[{'trigger':{'url-filter':'.*','resource-type':['image']},'action':{'type':'block'}}]".replacingOccurrences(of: "'", with: "\"") - ruleStore.compileContentRuleList(forIdentifier: "images", encodedContentRuleList: blockImages) { - rule, error in + migrateLegacyUserPrefs() + + let blockImages = NoImageModeDefaults.Script + ContentBlockerHelper.ruleStore.compileContentRuleList(forIdentifier: NoImageModeDefaults.ScriptName, encodedContentRuleList: blockImages) { rule, error in assert(rule != nil && error == nil) ContentBlockerHelper.blockImagesRule = rule } - } - func setupForWebView() { - NotificationCenter.default.addObserver(self, selector: #selector(updateTab), name: .ContentBlockerUpdateNeeded, object: nil) - addActiveRulesToTab() - } + // Read the whitelist at startup + if let list = ContentBlockerHelper.readWhitelistFile() { + ContentBlockerHelper.whitelistedDomains.domainSet = Set(list) + } - deinit { - NotificationCenter.default.removeObserver(self) - } + TPStatsBlocklistChecker.shared.startup() - @objc func updateTab() { - addActiveRulesToTab() + ContentBlockerHelper.removeOldListsByDateFromStore(prefs: prefs) { + ContentBlockerHelper.removeOldListsByNameFromStore(prefs: prefs) { + ContentBlockerHelper.compileListsNotInStore { + ContentBlockerHelper.heavyInitHasRunOnce = true + NotificationCenter.default.post(name: .ContentBlockerTabSetupRequired, object: nil) + } + } + } } - func overridePrefsAndReloadTab(enableTrackingProtection: Bool) { - prefOverrideTrackingProtectionEnabled = enableTrackingProtection - updateTab() - tab?.reload() + class func prefsChanged() { + // This class func needs to notify all the active instances of ContentBlockerHelper to update. + NotificationCenter.default.post(name: .ContentBlockerTabSetupRequired, object: nil) } - fileprivate var blockingStrengthPref: BlockingStrength { - let pref = profile?.prefs.stringForKey(ContentBlockerHelper.PrefKeyStrength) ?? "" - return BlockingStrength(rawValue: pref) ?? .basic + deinit { + NotificationCenter.default.removeObserver(self) } - fileprivate var enabledStatePref: EnabledState { - let pref = profile?.prefs.stringForKey(ContentBlockerHelper.PrefKeyEnabledState) ?? "" - return EnabledState(rawValue: pref) ?? .onInPrivateBrowsing + // If a user had set a pref for Tracking Protection outside of the previous defaults then make sure to honor those settings + private func migrateLegacyUserPrefs() { + // If a user had set PrefEnabledState to ON this means that TP was on in normal browsing + // if a user had set PrefEnabledState to OFF this means that TP was off in both normal and private browsing + if let legacyPref = userPrefs?.stringForKey("prefkey.trackingprotection.enabled") { + if legacyPref == "on" { + userPrefs?.setBool(true, forKey: ContentBlockingConfig.Prefs.NormalBrowsingEnabledKey) + } else if legacyPref == "off" { + userPrefs?.setBool(false, forKey: ContentBlockingConfig.Prefs.NormalBrowsingEnabledKey) + userPrefs?.setBool(false, forKey: ContentBlockingConfig.Prefs.PrivateBrowsingEnabledKey) + } + // We only need to do this once. We can wipe the old pref + userPrefs?.removeObjectForKey("prefkey.trackingprotection.enabled") + } } - fileprivate var trackingProtectionEnabledInSettings: Bool { - switch enabledStatePref { - case .off: - return false - case .on: - return true - case .onInPrivateBrowsing: - return tab?.isPrivate ?? false + // Function to install or remove TP for a tab + @objc func setupTabTrackingProtection() { + if !ContentBlockerHelper.heavyInitHasRunOnce { + return } - } - fileprivate func addActiveRulesToTab() { - removeTrackingProtectionFromTab() + removeTrackingProtection() - if userOverrideForTrackingProtection == .forceDisabled { - // User can temporarily override the settings to turn TP on or off. - return - } else if !trackingProtectionEnabledInSettings { + if !isEnabled { return } - let rules = blocklistBasic + (blockingStrengthPref == .strict ? blocklistStrict : []) - for name in rules { - ruleStore.lookUpContentRuleList(forIdentifier: name) { rule, error in + + let rules = BlocklistName.forStrictMode(isOn: blockingStrengthPref == .strict) + for list in rules { + let name = list.filename + ContentBlockerHelper.ruleStore.lookUpContentRuleList(forIdentifier: name) { rule, error in guard let rule = rule else { let msg = "lookUpContentRuleList for \(name): \(error?.localizedDescription ?? "empty rules")" Sentry.shared.send(message: "Content blocker error", tag: .general, description: msg) @@ -199,7 +213,7 @@ class ContentBlockerHelper { } } - func removeTrackingProtectionFromTab() { + private func removeTrackingProtection() { guard let tab = tab else { return } tab.webView?.configuration.userContentController.removeAllContentRuleLists() @@ -208,7 +222,7 @@ class ContentBlockerHelper { } } - fileprivate func addToTab(contentRuleList: WKContentRuleList) { + private func addToTab(contentRuleList: WKContentRuleList) { tab?.webView?.configuration.userContentController.add(contentRuleList) } @@ -223,22 +237,24 @@ class ContentBlockerHelper { // Async required here to ensure remove() call is processed. DispatchQueue.main.async() { - self.tab?.webView?.evaluateJavaScript("window.__firefox__.NoImageMode.setEnabled(\(enabled))", completionHandler: nil) + self.tab?.webView?.evaluateJavaScript("window.__firefox__.NoImageMode.setEnabled(\(enabled))") } } + } -// MARK: Private initialization code +// MARK: Initialization code // The rule store can compile JSON rule files into a private format which is cached on disk. // On app boot, we need to check if the ruleStore's data is out-of-date, or if the names of the rule files // no longer match. Finally, any JSON rule files that aren't in the ruleStore need to be compiled and stored in the // ruleStore. @available(iOS 11, *) extension ContentBlockerHelper { - fileprivate func loadJsonFromBundle(forResource file: String, completion: @escaping (_ jsonString: String) -> Void) { + private static func loadJsonFromBundle(forResource file: String, completion: @escaping (_ jsonString: String) -> Void) { DispatchQueue.global().async { guard let path = Bundle.main.path(forResource: file, ofType: "json"), let source = try? String(contentsOfFile: path, encoding: .utf8) else { + assert(false) return } @@ -248,7 +264,7 @@ extension ContentBlockerHelper { } } - fileprivate func lastModifiedSince1970(forFileAtPath path: String) -> Timestamp? { + private static func lastModifiedSince1970(forFileAtPath path: String) -> Timestamp? { do { let url = URL(fileURLWithPath: path) let attr = try FileManager.default.attributesOfItem(atPath: url.path) @@ -259,24 +275,24 @@ extension ContentBlockerHelper { } } - fileprivate func dateOfMostRecentBlockerFile() -> Timestamp { - let blocklists = blocklistBasic + blocklistStrict - return blocklists.reduce(Timestamp(0)) { result, filename in - guard let path = Bundle.main.path(forResource: filename, ofType: "json") else { return result } + private static func dateOfMostRecentBlockerFile() -> Timestamp { + let blocklists = BlocklistName.all + return blocklists.reduce(Timestamp(0)) { result, list in + guard let path = Bundle.main.path(forResource: list.filename, ofType: "json") else { return result } let date = lastModifiedSince1970(forFileAtPath: path) ?? 0 return date > result ? date : result } } - fileprivate func removeAllRulesInStore(completion: @escaping () -> Void) { - ruleStore.getAvailableContentRuleListIdentifiers { available in + static func removeAllRulesInStore(completion: @escaping () -> Void) { + ContentBlockerHelper.ruleStore.getAvailableContentRuleListIdentifiers { available in guard let available = available else { completion() return } let deferreds: [Deferred] = available.map { filename in let result = Deferred() - self.ruleStore.removeContentRuleList(forIdentifier: filename) { _ in + ContentBlockerHelper.ruleStore.removeContentRuleList(forIdentifier: filename) { _ in result.fill() } return result @@ -289,30 +305,30 @@ extension ContentBlockerHelper { // If any blocker files are newer than the date saved in prefs, // remove all the content blockers and reload them. - fileprivate func removeOldListsByDateFromStore(completion: @escaping () -> Void) { - let fileDate = self.dateOfMostRecentBlockerFile() - let prefsNewestDate = profile?.prefs.longForKey("blocker-file-date") ?? 0 + static func removeOldListsByDateFromStore(prefs: Prefs, completion: @escaping () -> Void) { + let fileDate = dateOfMostRecentBlockerFile() + let prefsNewestDate = prefs.longForKey("blocker-file-date") ?? 0 if prefsNewestDate < 1 || fileDate <= prefsNewestDate { completion() return } - profile?.prefs.setTimestamp(fileDate, forKey: "blocker-file-date") - self.removeAllRulesInStore() { + prefs.setTimestamp(fileDate, forKey: "blocker-file-date") + removeAllRulesInStore() { completion() } } - fileprivate func removeOldListsByNameFromStore(completion: @escaping () -> Void) { + static func removeOldListsByNameFromStore(prefs: Prefs, completion: @escaping () -> Void) { var noMatchingIdentifierFoundForRule = false - ruleStore.getAvailableContentRuleListIdentifiers { available in + ContentBlockerHelper.ruleStore.getAvailableContentRuleListIdentifiers { available in guard let available = available else { completion() return } - let blocklists = self.blocklistBasic + self.blocklistStrict + let blocklists = BlocklistName.all.map { $0.filename } for contentRuleIdentifier in available { if !blocklists.contains(where: { $0 == contentRuleIdentifier }) { noMatchingIdentifierFoundForRule = true @@ -320,13 +336,13 @@ extension ContentBlockerHelper { } } - let fileDate = self.dateOfMostRecentBlockerFile() - let prefsNewestDate = self.profile?.prefs.timestampForKey("blocker-file-date") ?? 0 + let fileDate = dateOfMostRecentBlockerFile() + let prefsNewestDate = prefs.timestampForKey("blocker-file-date") ?? 0 if prefsNewestDate > 0 && fileDate <= prefsNewestDate && !noMatchingIdentifierFoundForRule { completion() return } - self.profile?.prefs.setTimestamp(fileDate, forKey: "blocker-file-date") + prefs.setTimestamp(fileDate, forKey: "blocker-file-date") self.removeAllRulesInStore { completion() @@ -334,8 +350,8 @@ extension ContentBlockerHelper { } } - fileprivate func compileListsNotInStore(completion: @escaping () -> Void) { - let blocklists = blocklistBasic + blocklistStrict + static func compileListsNotInStore(completion: @escaping () -> Void) { + let blocklists = BlocklistName.all.map { $0.filename } let deferreds: [Deferred] = blocklists.map { filename in let result = Deferred() ruleStore.lookUpContentRuleList(forIdentifier: filename) { contentRuleList, error in @@ -343,8 +359,16 @@ extension ContentBlockerHelper { result.fill() return } - self.loadJsonFromBundle(forResource: filename) { jsonString in - self.ruleStore.compileContentRuleList(forIdentifier: filename, encodedContentRuleList: jsonString) { _, _ in + loadJsonFromBundle(forResource: filename) { jsonString in + var str = jsonString + str.insert(contentsOf: whitelistAsJSON(), at: str.index(str.endIndex, offsetBy: -1)) + ruleStore.compileContentRuleList(forIdentifier: filename, encodedContentRuleList: str) { rule, error in + if let error = error { + Sentry.shared.send(message: "Content blocker error", tag: .general, description: error.localizedDescription) + assert(false) + } + assert(rule != nil) + result.fill() } } @@ -357,3 +381,27 @@ extension ContentBlockerHelper { } } } + +// MARK: Static methods to check if Tracking Protection is enabled in the user's prefs +@available(iOS 11.0, *) +extension ContentBlockerHelper { + + static func setTrackingProtectionMode(_ enabled: Bool, for prefs: Prefs, with tabManager: TabManager) { + guard let isPrivate = tabManager.selectedTab?.isPrivate else { return } + let key = isPrivate ? ContentBlockingConfig.Prefs.PrivateBrowsingEnabledKey : ContentBlockingConfig.Prefs.NormalBrowsingEnabledKey + prefs.setBool(enabled, forKey: key) + ContentBlockerHelper.prefsChanged() + } + + static func isTrackingProtectionActive(tabManager: TabManager) -> Bool { + guard let blocker = tabManager.selectedTab?.contentBlocker as? ContentBlockerHelper else { return false } + let isPrivate = tabManager.selectedTab?.isPrivate ?? false + return isPrivate ? blocker.isEnabledInPrivateBrowsing : blocker.isEnabledInNormalBrowsing + } + + static func toggleTrackingProtectionMode(for prefs: Prefs, tabManager: TabManager) { + let isEnabled = ContentBlockerHelper.isTrackingProtectionActive(tabManager: tabManager) + setTrackingProtectionMode(!isEnabled, for: prefs, with: tabManager) + } +} + diff --git a/Client/Frontend/ContentBlocker/ContentBlockerSettingViewController.swift b/Client/Frontend/ContentBlocker/ContentBlockerSettingViewController.swift old mode 100644 new mode 100755 index eefc7fe28..c3d4c06d2 --- a/Client/Frontend/ContentBlocker/ContentBlockerSettingViewController.swift +++ b/Client/Frontend/ContentBlocker/ContentBlockerSettingViewController.swift @@ -22,11 +22,17 @@ class ContentBlockerSettingsTableView: SettingsTableViewController { let button = UIButton() button.setAttributedTitle(NSAttributedString(string: title, attributes: attributes), for: .normal) - button.contentHorizontalAlignment = .left - // Top and left insets are needed to match the table row style. - button.contentEdgeInsets = UIEdgeInsets(top: 8, left: 16, bottom: 0, right: 0) button.addTarget(self, action: #selector(moreInfoTapped), for: .touchUpInside) - return button + + let footer = UIView() + footer.addSubview(button) + button.snp.makeConstraints { (make) in + make.top.equalTo(footer).offset(8) + make.bottom.equalTo(footer).offset(8) + make.leading.equalTo(footer).offset(16) + } + + return footer } func moreInfoTapped() { @@ -36,18 +42,45 @@ class ContentBlockerSettingsTableView: SettingsTableViewController { } } +@available(iOS 11.0, *) +extension BlockingStrength { + var settingTitle: String { + switch self { + case .basic: + return Strings.TrackingProtectionOptionBlockListTypeBasic + case .strict: + return Strings.TrackingProtectionOptionBlockListTypeStrict + } + } + + var subtitle: String { + switch self { + case .basic: + return Strings.TrackingProtectionOptionBlockListTypeBasicDescription + case .strict: + return Strings.TrackingProtectionOptionBlockListTypeStrictDescription + } + } + + static func accessibilityId(for strength: BlockingStrength) -> String { + switch strength { + case .basic: + return "Settings.TrackingProtectionOption.BlockListBasic" + case .strict: + return "Settings.TrackingProtectionOption.BlockListStrict" + } + } +} + @available(iOS 11.0, *) class ContentBlockerSettingViewController: ContentBlockerSettingsTableView { let prefs: Prefs - let EnabledStates = ContentBlockerHelper.EnabledState.allOptions - let BlockingStrengths = ContentBlockerHelper.BlockingStrength.allOptions - var currentEnabledState: ContentBlockerHelper.EnabledState - var currentBlockingStrength: ContentBlockerHelper.BlockingStrength + var currentBlockingStrength: BlockingStrength init(prefs: Prefs) { self.prefs = prefs - currentEnabledState = ContentBlockerHelper.EnabledState(rawValue: prefs.stringForKey(ContentBlockerHelper.PrefKeyEnabledState) ?? "") ?? .onInPrivateBrowsing - currentBlockingStrength = ContentBlockerHelper.BlockingStrength(rawValue: prefs.stringForKey(ContentBlockerHelper.PrefKeyStrength) ?? "") ?? .basic + + currentBlockingStrength = prefs.stringForKey(ContentBlockingConfig.Prefs.StrengthKey).flatMap({BlockingStrength(rawValue: $0)}) ?? .basic super.init(style: .grouped) @@ -60,37 +93,28 @@ class ContentBlockerSettingViewController: ContentBlockerSettingsTableView { } override func generateSettings() -> [SettingSection] { - let enabledSetting: [CheckmarkSetting] = EnabledStates.map { option in - let id = ContentBlockerHelper.EnabledState.accessibilityId(for: option) - return CheckmarkSetting(title: NSAttributedString(string: option.settingTitle), subtitle: nil, accessibilityIdentifier: id, isEnabled: { - return option == self.currentEnabledState - }, onChanged: { - self.currentEnabledState = option - self.prefs.setString(self.currentEnabledState.rawValue, forKey: ContentBlockerHelper.PrefKeyEnabledState) - self.tableView.reloadData() - ContentBlockerHelper.prefsChanged() - - LeanPlumClient.shared.track(event: .trackingProtectionSettings, withParameters: ["Enabled option": option.rawValue as AnyObject]) - UnifiedTelemetry.recordEvent(category: .action, method: .change, object: .setting, value: ContentBlockerHelper.PrefKeyEnabledState, extras: ["to": option.rawValue]) - }) + let normalBrowsing = BoolSetting(prefs: profile.prefs, prefKey: ContentBlockingConfig.Prefs.NormalBrowsingEnabledKey, defaultValue: ContentBlockingConfig.Defaults.NormalBrowsing, attributedTitleText: NSAttributedString(string: Strings.TrackingProtectionOptionOnInNormalBrowsing)) { _ in + ContentBlockerHelper.prefsChanged() + } + let privateBrowsing = BoolSetting(prefs: profile.prefs, prefKey: ContentBlockingConfig.Prefs.PrivateBrowsingEnabledKey, defaultValue: ContentBlockingConfig.Defaults.PrivateBrowsing, attributedTitleText: NSAttributedString(string: Strings.TrackingProtectionOptionOnInPrivateBrowsing)) { _ in + ContentBlockerHelper.prefsChanged() } - let strengthSetting: [CheckmarkSetting] = BlockingStrengths.map { option in - let id = ContentBlockerHelper.BlockingStrength.accessibilityId(for: option) + let strengthSetting: [CheckmarkSetting] = BlockingStrength.allOptions.map { option in + let id = BlockingStrength.accessibilityId(for: option) return CheckmarkSetting(title: NSAttributedString(string: option.settingTitle), subtitle: NSAttributedString(string: option.subtitle), accessibilityIdentifier: id, isEnabled: { return option == self.currentBlockingStrength }, onChanged: { self.currentBlockingStrength = option - self.prefs.setString(self.currentBlockingStrength.rawValue, forKey: ContentBlockerHelper.PrefKeyStrength) - self.tableView.reloadData() + self.prefs.setString(self.currentBlockingStrength.rawValue, forKey: ContentBlockingConfig.Prefs.StrengthKey) ContentBlockerHelper.prefsChanged() - + self.tableView.reloadData() LeanPlumClient.shared.track(event: .trackingProtectionSettings, withParameters: ["Strength option": option.rawValue as AnyObject]) - UnifiedTelemetry.recordEvent(category: .action, method: .change, object: .setting, value: ContentBlockerHelper.PrefKeyStrength, extras: ["to": option.rawValue]) + UnifiedTelemetry.recordEvent(category: .action, method: .change, object: .setting, value: ContentBlockingConfig.Prefs.StrengthKey, extras: ["to": option.rawValue]) }) } - let firstSection = SettingSection(title: NSAttributedString(string: Strings.TrackingProtectionOptionOnOffHeader), footerTitle: NSAttributedString(string: Strings.TrackingProtectionOptionOnOffFooter), children: enabledSetting) + let firstSection = SettingSection(title: NSAttributedString(string: Strings.TrackingProtectionOptionOnOffHeader), footerTitle: NSAttributedString(string: Strings.TrackingProtectionOptionOnOffFooter), children: [normalBrowsing, privateBrowsing]) // The bottom of the block lists section has a More Info button, implemented as a custom footer view, // SettingSection needs footerTitle set to create a footer, which we then override the view for. diff --git a/Client/Frontend/ContentBlocker/Lists/disconnect-advertising.json b/Client/Frontend/ContentBlocker/Lists/disconnect-advertising.json new file mode 100755 index 000000000..153037014 --- /dev/null +++ b/Client/Frontend/ContentBlocker/Lists/disconnect-advertising.json @@ -0,0 +1,1480 @@ +[ +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?2leep\\.com","load-type":["third-party"],"unless-domain":["*2leep.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?33across\\.com","load-type":["third-party"],"unless-domain":["*33across.com","*tynt.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?365dm\\.com","load-type":["third-party"],"unless-domain":["*aggregateintelligence.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?365media\\.com","load-type":["third-party"],"unless-domain":["*aggregateintelligence.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?4info\\.com","load-type":["third-party"],"unless-domain":["*4info.com","*adhaven.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adhaven\\.com","load-type":["third-party"],"unless-domain":["*4info.com","*adhaven.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?4mads\\.com","load-type":["third-party"],"unless-domain":["*4mads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adeurope\\.com","load-type":["third-party"],"unless-domain":["*adeurope.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ad2onegroup\\.com","load-type":["third-party"],"unless-domain":["*ad2onegroup.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adition\\.com","load-type":["third-party"],"unless-domain":["*adition.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admission\\.net","load-type":["third-party"],"unless-domain":["*cdkglobal.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adpdealerservices\\.com","load-type":["third-party"],"unless-domain":["*cdkglobal.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cobalt\\.com","load-type":["third-party"],"unless-domain":["*cdkglobal.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtech\\.com","load-type":["third-party"],"unless-domain":["*adtech.com","*adtech.de","*adtechus.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtech\\.de","load-type":["third-party"],"unless-domain":["*adtech.com","*adtech.de","*adtechus.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtechus\\.com","load-type":["third-party"],"unless-domain":["*adtech.com","*adtech.de","*adtechus.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtelligence\\.de","load-type":["third-party"],"unless-domain":["*adtelligence.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adzcentral\\.com","load-type":["third-party"],"unless-domain":["*adzcentral.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aerifymedia\\.com","load-type":["third-party"],"unless-domain":["*aerifymedia.com","*anonymous-media.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?anonymous-media\\.com","load-type":["third-party"],"unless-domain":["*aerifymedia.com","*anonymous-media.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aggregateknowledge\\.com","load-type":["third-party"],"unless-domain":["*aggregateknowledge.com","*agkn.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?agkn\\.com","load-type":["third-party"],"unless-domain":["*aggregateknowledge.com","*agkn.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsonar\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?advertising\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?atwola\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?leadback\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tacoda\\.net","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtechjp\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hit-parade\\.com","load-type":["third-party"],"unless-domain":["*atinternet.com","*hit-parade.com","*xiti.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?att\\.com","load-type":["third-party"],"unless-domain":["*att.com","*yp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yp\\.com","load-type":["third-party"],"unless-domain":["*att.com","*yp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?affiliatetracking\\.com","load-type":["third-party"],"unless-domain":["*affiliatetracking.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?am\\.ua","load-type":["third-party"],"unless-domain":["*autocentre.ua","*am.ua"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?autocentre\\.ua","load-type":["third-party"],"unless-domain":["*autocentre.ua","*am.ua"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aweber\\.com","load-type":["third-party"],"unless-domain":["*aweber.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?abaxinteractive\\.com","load-type":["third-party"],"unless-domain":["*abaxinteractive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?accelia\\.net","load-type":["third-party"],"unless-domain":["*accelia.net","*durasite.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?durasite\\.net","load-type":["third-party"],"unless-domain":["*accelia.net","*durasite.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?accordantmedia\\.com","load-type":["third-party"],"unless-domain":["*accordantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?acquisio\\.com","load-type":["third-party"],"unless-domain":["*acquisio.com","*clickequations.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickequations\\.net","load-type":["third-party"],"unless-domain":["*acquisio.com","*clickequations.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?act-on\\.com","load-type":["third-party"],"unless-domain":["*act-on.com","*actonsoftware.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?actonsoftware\\.com","load-type":["third-party"],"unless-domain":["*act-on.com","*actonsoftware.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?actisens\\.com","load-type":["third-party"],"unless-domain":["*actisens.com","*gestionpub.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gestionpub\\.com","load-type":["third-party"],"unless-domain":["*actisens.com","*gestionpub.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?activeconversion\\.com","load-type":["third-party"],"unless-domain":["*activeconversion.com","*activemeter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?activemeter\\.com","load-type":["third-party"],"unless-domain":["*activeconversion.com","*activemeter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?acuity\\.com","load-type":["third-party"],"unless-domain":["*acuity.com","*acuityads.com","*acuityplatform.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?acuityads\\.com","load-type":["third-party"],"unless-domain":["*acuity.com","*acuityads.com","*acuityplatform.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?acuityplatform\\.com","load-type":["third-party"],"unless-domain":["*acuity.com","*acuityads.com","*acuityplatform.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?a2dfp\\.net","load-type":["third-party"],"unless-domain":["*addecisive.com","*a2dfp.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addecisive\\.com","load-type":["third-party"],"unless-domain":["*addecisive.com","*a2dfp.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addynamo\\.com","load-type":["third-party"],"unless-domain":["*addynamo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addynamo\\.net","load-type":["third-party"],"unless-domain":["*addynamo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adknife\\.com","load-type":["third-party"],"unless-domain":["*adknife.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admagnet\\.com","load-type":["third-party"],"unless-domain":["*admagnet.com","*admagnet.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admagnet\\.net","load-type":["third-party"],"unless-domain":["*admagnet.com","*admagnet.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ad4game\\.com","load-type":["third-party"],"unless-domain":["*ad4game.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adcirrus\\.com","load-type":["third-party"],"unless-domain":["*adcirrus.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adengage\\.com","load-type":["third-party"],"unless-domain":["*adengage.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adextent\\.com","load-type":["third-party"],"unless-domain":["*adextent.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adf\\.ly","load-type":["third-party"],"unless-domain":["*adf.ly"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adfox\\.ru","load-type":["third-party"],"unless-domain":["*adfox.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adfrontiers\\.com","load-type":["third-party"],"unless-domain":["*adfrontiers.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adgentdigital\\.com","load-type":["third-party"],"unless-domain":["*adgentdigital.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shorttailmedia\\.com","load-type":["third-party"],"unless-domain":["*adgentdigital.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adgibbon\\.com","load-type":["third-party"],"unless-domain":["*adgibbon.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adiquity\\.com","load-type":["third-party"],"unless-domain":["*adiquity.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adinsight\\.com","load-type":["third-party"],"unless-domain":["*responsetap.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adinsight\\.eu","load-type":["third-party"],"unless-domain":["*responsetap.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adjug\\.com","load-type":["third-party"],"unless-domain":["*adjug.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adjuggler\\.com","load-type":["third-party"],"unless-domain":["*adjuggler.com","*adjuggler.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adjuggler\\.net","load-type":["third-party"],"unless-domain":["*adjuggler.com","*adjuggler.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adkeeper\\.com","load-type":["third-party"],"unless-domain":["*keep.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?akncdn\\.com","load-type":["third-party"],"unless-domain":["*keep.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adkernel\\.com","load-type":["third-party"],"unless-domain":["*adkernel.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adimg\\.net","load-type":["third-party"],"unless-domain":["*www.adlantis.jp","*adimg.net","*adlantis.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adlantis\\.jp","load-type":["third-party"],"unless-domain":["*www.adlantis.jp","*adimg.net","*adlantis.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adleave\\.com","load-type":["third-party"],"unless-domain":["*adleave.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admarvel\\.com","load-type":["third-party"],"unless-domain":["*admarvel.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admaximizer\\.com","load-type":["third-party"],"unless-domain":["*admaximizer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admedia\\.com","load-type":["third-party"],"unless-domain":["*admedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adnetwork\\.net","load-type":["third-party"],"unless-domain":["*adnetwork.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adocean-global\\.com","load-type":["third-party"],"unless-domain":["*adocean-global.com","*adocean.pl"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adocean\\.pl","load-type":["third-party"],"unless-domain":["*adocean-global.com","*adocean.pl"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adonnetwork\\.com","load-type":["third-party"],"unless-domain":["*adonnetwork.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dashboardad\\.net","load-type":["third-party"],"unless-domain":["*adonnetwork.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adonion\\.com","load-type":["third-party"],"unless-domain":["*adonion.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adperfect\\.com","load-type":["third-party"],"unless-domain":["*adperfect.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adpredictive\\.com","load-type":["third-party"],"unless-domain":["*adpredictive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adreactor\\.com","load-type":["third-party"],"unless-domain":["*adreactor.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adready\\.com","load-type":["third-party"],"unless-domain":["*digitalremedy.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adreadytractions\\.com","load-type":["third-party"],"unless-domain":["*digitalremedy.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adrevolution\\.com","load-type":["third-party"],"unless-domain":["*adrevolution.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adriver\\.ru","load-type":["third-party"],"unless-domain":["*adriver.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adroll\\.com","load-type":["third-party"],"unless-domain":["*adroll.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsafemedia\\.com","load-type":["third-party"],"unless-domain":["*adsafemedia.com","*adsafeprotected.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsafeprotected\\.com","load-type":["third-party"],"unless-domain":["*adsafemedia.com","*adsafeprotected.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adserverpub\\.com","load-type":["third-party"],"unless-domain":["*adserverpub.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adshuffle\\.com","load-type":["third-party"],"unless-domain":["*adshuffle.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adside\\.com","load-type":["third-party"],"unless-domain":["*adside.com","*doclix.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?doclix\\.com","load-type":["third-party"],"unless-domain":["*adside.com","*doclix.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsmart\\.com","load-type":["third-party"],"unless-domain":["*adsmart.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adspeed\\.com","load-type":["third-party"],"unless-domain":["*adspeed.com","*adspeed.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adspeed\\.net","load-type":["third-party"],"unless-domain":["*adspeed.com","*adspeed.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adspirit\\.com","load-type":["third-party"],"unless-domain":["*adspirit.de","*adspirit.com","*adspirit.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adspirit\\.de","load-type":["third-party"],"unless-domain":["*adspirit.de","*adspirit.com","*adspirit.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adspirit\\.net","load-type":["third-party"],"unless-domain":["*adspirit.de","*adspirit.com","*adspirit.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtiger\\.de","load-type":["third-party"],"unless-domain":["*adtiger.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtruth\\.com","load-type":["third-party"],"unless-domain":["*adtruth.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adxpansion\\.com","load-type":["third-party"],"unless-domain":["*adxpansion.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adality\\.de","load-type":["third-party"],"unless-domain":["*adality.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adrtx\\.net","load-type":["third-party"],"unless-domain":["*adality.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adaptiveads\\.com","load-type":["third-party"],"unless-domain":["*adaptiveads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adaptly\\.com","load-type":["third-party"],"unless-domain":["*adaptly.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adaramedia\\.com","load-type":["third-party"],"unless-domain":["*adaramedia.com","*opinmind.com","*yieldoptimizer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?opinmind\\.com","load-type":["third-party"],"unless-domain":["*adaramedia.com","*opinmind.com","*yieldoptimizer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldoptimizer\\.com","load-type":["third-party"],"unless-domain":["*adaramedia.com","*opinmind.com","*yieldoptimizer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adatus\\.com","load-type":["third-party"],"unless-domain":["*adatus.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbrn\\.com","load-type":["third-party"],"unless-domain":["*adbrain.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbrain\\.com","load-type":["third-party"],"unless-domain":["*adbrain.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbroker\\.de","load-type":["third-party"],"unless-domain":["*adbroker.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adchemy\\.com","load-type":["third-party"],"unless-domain":["*adchemy.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adconion\\.com","load-type":["third-party"],"unless-domain":["*adconion.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amgdgt\\.com","load-type":["third-party"],"unless-domain":["*adconion.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?euroclick\\.com","load-type":["third-party"],"unless-domain":["*adconion.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smartclip\\.com","load-type":["third-party"],"unless-domain":["*adconion.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addvantagemedia\\.com","load-type":["third-party"],"unless-domain":["*addvantagemedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adfonic\\.com","load-type":["third-party"],"unless-domain":["*adfonic.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adforgeinc\\.com","load-type":["third-party"],"unless-domain":["*adforgeinc.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adform\\.com","load-type":["third-party"],"unless-domain":["*adform.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adform\\.net","load-type":["third-party"],"unless-domain":["*adform.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adformdsp\\.net","load-type":["third-party"],"unless-domain":["*adform.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adfunky\\.com","load-type":["third-party"],"unless-domain":["*adfunky.com","*adfunkyserver.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adfunkyserver\\.com","load-type":["third-party"],"unless-domain":["*adfunky.com","*adfunkyserver.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adfusion\\.com","load-type":["third-party"],"unless-domain":["*adfusion.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adglare\\.net","load-type":["third-party"],"unless-domain":["*adglare.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adglare\\.com","load-type":["third-party"],"unless-domain":["*adglare.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adblade\\.com","load-type":["third-party"],"unless-domain":["*adiant.com","*adblade.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adiant\\.com","load-type":["third-party"],"unless-domain":["*adiant.com","*adblade.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adknowledge\\.com","load-type":["third-party"],"unless-domain":["*adknowledge.com","*adparlor.com","*bidsystem.com","*cubics.com","*lookery.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adparlor\\.com","load-type":["third-party"],"unless-domain":["*adknowledge.com","*adparlor.com","*bidsystem.com","*cubics.com","*lookery.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bidsystem\\.com","load-type":["third-party"],"unless-domain":["*adknowledge.com","*adparlor.com","*bidsystem.com","*cubics.com","*lookery.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cubics\\.com","load-type":["third-party"],"unless-domain":["*adknowledge.com","*adparlor.com","*bidsystem.com","*cubics.com","*lookery.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lookery\\.com","load-type":["third-party"],"unless-domain":["*adknowledge.com","*adparlor.com","*bidsystem.com","*cubics.com","*lookery.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adlibrium\\.com","load-type":["third-party"],"unless-domain":["*adlibrium.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adlucent\\.com","load-type":["third-party"],"unless-domain":["*adlucent.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admarketplace\\.net","load-type":["third-party"],"unless-domain":["*admarketplace.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admarketplace\\.com","load-type":["third-party"],"unless-domain":["*admarketplace.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ampxchange\\.com","load-type":["third-party"],"unless-domain":["*admarketplace.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admeta\\.com","load-type":["third-party"],"unless-domain":["*admeta.com","*atemda.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?atemda\\.com","load-type":["third-party"],"unless-domain":["*admeta.com","*atemda.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admicro\\.vn","load-type":["third-party"],"unless-domain":["*admicro.vn"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vcmedia\\.vn","load-type":["third-party"],"unless-domain":["*admicro.vn"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admixer\\.co\\.kr","load-type":["third-party"],"unless-domain":["*admixer.co.kr"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admized\\.com","load-type":["third-party"],"unless-domain":["*admized.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admobile\\.com","load-type":["third-party"],"unless-domain":["*admobile.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admotion\\.com","load-type":["third-party"],"unless-domain":["*admotion.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nspmotion\\.com","load-type":["third-party"],"unless-domain":["*admotion.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adnetik\\.com","load-type":["third-party"],"unless-domain":["*wtp101.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wtp101\\.com","load-type":["third-party"],"unless-domain":["*wtp101.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?2o7\\.net","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?auditude\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?demdex\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?demdex\\.net","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dmtracker\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?efrontier\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?everestads\\.net","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?everestjs\\.net","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?everesttech\\.net","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hitbox\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?omniture\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?omtrdc\\.net","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?touchclarity\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adometry\\.com","load-type":["third-party"],"unless-domain":["*adometry.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dmtry\\.com","load-type":["third-party"],"unless-domain":["*adometry.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickotmedia\\.com","load-type":["third-party"],"unless-domain":["*clickotmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adotmob\\.com","load-type":["third-party"],"unless-domain":["*adotmob.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adperium\\.com","load-type":["third-party"],"unless-domain":["*adperium.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adpersia\\.com","load-type":["third-party"],"unless-domain":["*adpersia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adstours\\.com","load-type":["third-party"],"unless-domain":["*adstours.com","*clickintext.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickintext\\.net","load-type":["third-party"],"unless-domain":["*adstours.com","*clickintext.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adscience\\.nl","load-type":["third-party"],"unless-domain":["*adscience.nl"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsperity\\.com","load-type":["third-party"],"unless-domain":["*adsperity.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsrevenue\\.net","load-type":["third-party"],"unless-domain":["*adsrevenue.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adx1\\.com","load-type":["third-party"],"unless-domain":["*adx1.com","*adsty.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsty\\.com","load-type":["third-party"],"unless-domain":["*adx1.com","*adsty.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?4dsply\\.com","load-type":["third-party"],"unless-domain":["*4dsply.com","*adsupply.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsupply\\.com","load-type":["third-party"],"unless-domain":["*4dsply.com","*adsupply.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adswizz\\.com","load-type":["third-party"],"unless-domain":["*adswizz.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtegrity\\.com","load-type":["third-party"],"unless-domain":["*adtegrity.com","*adtegrity.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtegrity\\.net","load-type":["third-party"],"unless-domain":["*adtegrity.com","*adtegrity.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adultadworld\\.com","load-type":["third-party"],"unless-domain":["*adultadworld.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adultmoda\\.com","load-type":["third-party"],"unless-domain":["*adultmoda.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adventive\\.com","load-type":["third-party"],"unless-domain":["*adventive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adnext\\.fr","load-type":["third-party"],"unless-domain":["*adverline.com","*adnext.fr"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adverline\\.com","load-type":["third-party"],"unless-domain":["*adverline.com","*adnext.fr"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adversal\\.com","load-type":["third-party"],"unless-domain":["*adversal.com","*adv-adserver.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adv-adserver\\.com","load-type":["third-party"],"unless-domain":["*adversal.com","*adv-adserver.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?advertstream\\.com","load-type":["third-party"],"unless-domain":["*advertstream.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adverticum\\.com","load-type":["third-party"],"unless-domain":["*adsmart.com","*adverticum.com","*adverticum.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adverticum\\.net","load-type":["third-party"],"unless-domain":["*adsmart.com","*adverticum.com","*adverticum.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?advertise\\.com","load-type":["third-party"],"unless-domain":["*advertise.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?advertisespace\\.com","load-type":["third-party"],"unless-domain":["*advertisespace.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?advisormedia\\.cz","load-type":["third-party"],"unless-domain":["*advisormedia.cz"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adworx\\.at","load-type":["third-party"],"unless-domain":["*adworx.at","*adworx.be","*adworx.nl"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adworx\\.be","load-type":["third-party"],"unless-domain":["*adworx.at","*adworx.be","*adworx.nl"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adworx\\.nl","load-type":["third-party"],"unless-domain":["*adworx.at","*adworx.be","*adworx.nl"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adxvalue\\.com","load-type":["third-party"],"unless-domain":["*adxvalue.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adxvalue\\.de","load-type":["third-party"],"unless-domain":["*adxvalue.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adzerk\\.com","load-type":["third-party"],"unless-domain":["*adzerk.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adzerk\\.net","load-type":["third-party"],"unless-domain":["*adzerk.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aemedia\\.com","load-type":["third-party"],"unless-domain":["*dentsuaegisnetwork.com","*aemedia.com","*bluestreak.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bluestreak\\.com","load-type":["third-party"],"unless-domain":["*dentsuaegisnetwork.com","*aemedia.com","*bluestreak.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?affectv\\.co\\.uk","load-type":["third-party"],"unless-domain":["*affectv.co.uk"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?affine\\.tv","load-type":["third-party"],"unless-domain":["*affine.tv","*affinesystems.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?affinesystems\\.com","load-type":["third-party"],"unless-domain":["*affine.tv","*affinesystems.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?affinity\\.com","load-type":["third-party"],"unless-domain":["*affinity.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?afdads\\.com","load-type":["third-party"],"unless-domain":["*afterdownload.com","*afdads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?afterdownload\\.com","load-type":["third-party"],"unless-domain":["*afterdownload.com","*afdads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aim4media\\.com","load-type":["third-party"],"unless-domain":["*aim4media.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?airpush\\.com","load-type":["third-party"],"unless-domain":["*airpush.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?imiclk\\.com","load-type":["third-party"],"unless-domain":["*akamai.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?allstarmediagroup\\.com","load-type":["third-party"],"unless-domain":["*allstarmediagroup.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aloodo\\.com","load-type":["third-party"],"unless-domain":["*aloodo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon-adsystem\\.com","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon\\.ca","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon\\.co\\.jp","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon\\.co\\.uk","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon\\.de","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon\\.es","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon\\.fr","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon\\.it","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?assoc-amazon\\.com","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adnetwork\\.vn","load-type":["third-party"],"unless-domain":["*ambientdigital.com.vn","*adnetwork.vn"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ambientdigital\\.com\\.vn","load-type":["third-party"],"unless-domain":["*ambientdigital.com.vn","*adnetwork.vn"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amobee\\.com","load-type":["third-party"],"unless-domain":["*amobee.com","*smartclip.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?andbeyond\\.media","load-type":["third-party"],"unless-domain":["*andbeyond.media"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dsply\\.com","load-type":["third-party"],"unless-domain":["*answers.com","*dsply.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?appflood\\.com","load-type":["third-party"],"unless-domain":["*appflood.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adlantic\\.nl","load-type":["third-party"],"unless-domain":["*appnexus.com","*adlantic.nl","*adnxs.com","*adrdgt.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adnxs\\.com","load-type":["third-party"],"unless-domain":["*appnexus.com","*adlantic.nl","*adnxs.com","*adrdgt.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adrdgt\\.com","load-type":["third-party"],"unless-domain":["*appnexus.com","*adlantic.nl","*adnxs.com","*adrdgt.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?appnexus\\.com","load-type":["third-party"],"unless-domain":["*appnexus.com","*adlantic.nl","*adnxs.com","*adrdgt.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?alenty\\.com","load-type":["third-party"],"unless-domain":["*appnexus.com","*adlantic.nl","*adnxs.com","*adrdgt.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?appenda\\.com","load-type":["third-party"],"unless-domain":["*appenda.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?appier\\.com","load-type":["third-party"],"unless-domain":["*appier.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?applifier\\.com","load-type":["third-party"],"unless-domain":["*applifier.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?applovin\\.com","load-type":["third-party"],"unless-domain":["*applovin.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?appsflyer\\.com","load-type":["third-party"],"unless-domain":["*appsflyer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?arkwrightshomebrew\\.com","load-type":["third-party"],"unless-domain":["*whiskyandwines.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ctasnet\\.com","load-type":["third-party"],"unless-domain":["*whiskyandwines.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?atoomic\\.com","load-type":["third-party"],"unless-domain":["*atoomic.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?atrinsic\\.com","load-type":["third-party"],"unless-domain":["*atrinsic.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?audienceadnetwork\\.com","load-type":["third-party"],"unless-domain":["*audienceadnetwork.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?audience2media\\.com","load-type":["third-party"],"unless-domain":["*audience2media.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?audiencescience\\.com","load-type":["third-party"],"unless-domain":["*audiencescience.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?revsci\\.net","load-type":["third-party"],"unless-domain":["*audiencescience.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?targetingmarketplace\\.com","load-type":["third-party"],"unless-domain":["*audiencescience.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wunderloop\\.net","load-type":["third-party"],"unless-domain":["*audiencescience.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?augme\\.com","load-type":["third-party"],"unless-domain":["*hipcricket.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hipcricket\\.com","load-type":["third-party"],"unless-domain":["*hipcricket.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?augur\\.io","load-type":["third-party"],"unless-domain":["*augur.io"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?avalanchers\\.com","load-type":["third-party"],"unless-domain":["*avalanchers.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?avantlink\\.com","load-type":["third-party"],"unless-domain":["*avantlink.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?avsads\\.com","load-type":["third-party"],"unless-domain":["*avsads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adgear\\.com","load-type":["third-party"],"unless-domain":["*bloom-hq.com","*adgear.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bloom-hq\\.com","load-type":["third-party"],"unless-domain":["*bloom-hq.com","*adgear.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adgrx\\.com","load-type":["third-party"],"unless-domain":["*bloom-hq.com","*adgear.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buzzcity\\.com","load-type":["third-party"],"unless-domain":["*buzzcity.com","*branchez-vous.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bvmedia\\.ca","load-type":["third-party"],"unless-domain":["*buzzcity.com","*branchez-vous.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?networldmedia\\.com","load-type":["third-party"],"unless-domain":["*buzzcity.com","*branchez-vous.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?networldmedia\\.net","load-type":["third-party"],"unless-domain":["*buzzcity.com","*branchez-vous.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?backbeatmedia\\.com","load-type":["third-party"],"unless-domain":["*backbeatmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bannerconnect\\.net","load-type":["third-party"],"unless-domain":["*bannerconnect.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?barilliance\\.com","load-type":["third-party"],"unless-domain":["*barilliance.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?baronsoffers\\.com","load-type":["third-party"],"unless-domain":["*baronsoffers.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?batanga\\.com","load-type":["third-party"],"unless-domain":["*vix.com","*corp.vix.com","*batanga.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?batanganetwork\\.com","load-type":["third-party"],"unless-domain":["*vix.com","*corp.vix.com","*batanga.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?beanstockmedia\\.com","load-type":["third-party"],"unless-domain":["*beanstockmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?begun\\.ru","load-type":["third-party"],"unless-domain":["*begun.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?betgenius\\.com","load-type":["third-party"],"unless-domain":["*betgenius.com","*connextra.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?connextra\\.com","load-type":["third-party"],"unless-domain":["*betgenius.com","*connextra.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bidvertiser\\.com","load-type":["third-party"],"unless-domain":["*bidvertiser.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?binlayer\\.com","load-type":["third-party"],"unless-domain":["*binlayer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bitcoinplus\\.com","load-type":["third-party"],"unless-domain":["*bitcoinplus.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bittads\\.com","load-type":["third-party"],"unless-domain":["*bittads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bizo\\.com","load-type":["third-party"],"unless-domain":["*bizo.com","*bizographics.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bizographics\\.com","load-type":["third-party"],"unless-domain":["*bizo.com","*bizographics.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blacklabelads\\.com","load-type":["third-party"],"unless-domain":["*blacklabelads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blogcatalog\\.com","load-type":["third-party"],"unless-domain":["*blogcatalog.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?theblogfrog\\.com","load-type":["third-party"],"unless-domain":["*theblogfrog.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blogher\\.com","load-type":["third-party"],"unless-domain":["*blogher.com","*blogherads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blogherads\\.com","load-type":["third-party"],"unless-domain":["*blogher.com","*blogherads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blogrollr\\.com","load-type":["third-party"],"unless-domain":["*blogrollr.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bloomreach\\.com","load-type":["third-party"],"unless-domain":["*bloomreach.com","*brcdn.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brcdn\\.com","load-type":["third-party"],"unless-domain":["*bloomreach.com","*brcdn.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brsrvr\\.com","load-type":["third-party"],"unless-domain":["*bloomreach.com","*brcdn.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blutrumpet\\.com","load-type":["third-party"],"unless-domain":["*blutrumpet.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bluecava\\.com","load-type":["third-party"],"unless-domain":["*bluecava.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bkrtx\\.com","load-type":["third-party"],"unless-domain":["*bluekai.com","*tracksimple.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bluekai\\.com","load-type":["third-party"],"unless-domain":["*bluekai.com","*tracksimple.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tracksimple\\.com","load-type":["third-party"],"unless-domain":["*bluekai.com","*tracksimple.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brainient\\.com","load-type":["third-party"],"unless-domain":["*brainient.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brandaffinity\\.net","load-type":["third-party"],"unless-domain":["*brandaffinity.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brand\\.net","load-type":["third-party"],"unless-domain":["*brand.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brandscreen\\.com","load-type":["third-party"],"unless-domain":["*brandscreen.com","*rtbidder.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rtbidder\\.net","load-type":["third-party"],"unless-domain":["*brandscreen.com","*rtbidder.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brightroll\\.com","load-type":["third-party"],"unless-domain":["*brightroll.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?btrll\\.com","load-type":["third-party"],"unless-domain":["*brightroll.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brighttag\\.com","load-type":["third-party"],"unless-domain":["*brighttag.com","*btstatic.com","*thebrighttag.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?btstatic\\.com","load-type":["third-party"],"unless-domain":["*brighttag.com","*btstatic.com","*thebrighttag.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thebrighttag\\.com","load-type":["third-party"],"unless-domain":["*brighttag.com","*btstatic.com","*thebrighttag.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brilig\\.com","load-type":["third-party"],"unless-domain":["*brilig.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?burstbeacon\\.com","load-type":["third-party"],"unless-domain":["*burstmedia.com","*burstbeacon.com","*burstdirectads.com","*burstnet.com","*giantrealm.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?burstdirectads\\.com","load-type":["third-party"],"unless-domain":["*burstmedia.com","*burstbeacon.com","*burstdirectads.com","*burstnet.com","*giantrealm.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?burstmedia\\.com","load-type":["third-party"],"unless-domain":["*burstmedia.com","*burstbeacon.com","*burstdirectads.com","*burstnet.com","*giantrealm.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?burstnet\\.com","load-type":["third-party"],"unless-domain":["*burstmedia.com","*burstbeacon.com","*burstdirectads.com","*burstnet.com","*giantrealm.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?giantrealm\\.com","load-type":["third-party"],"unless-domain":["*burstmedia.com","*burstbeacon.com","*burstdirectads.com","*burstnet.com","*giantrealm.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?burstly\\.com","load-type":["third-party"],"unless-domain":["*burstly.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?businessol\\.com","load-type":["third-party"],"unless-domain":["*businessol.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?beaconads\\.com","load-type":["third-party"],"unless-domain":["*buysellads.com","*beaconads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buysellads\\.com","load-type":["third-party"],"unless-domain":["*buysellads.com","*beaconads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buysight\\.com","load-type":["third-party"],"unless-domain":["*buysight.com","*permuto.com","*pulsemgr.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?permuto\\.com","load-type":["third-party"],"unless-domain":["*buysight.com","*permuto.com","*pulsemgr.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pulsemgr\\.com","load-type":["third-party"],"unless-domain":["*buysight.com","*permuto.com","*pulsemgr.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buzzcity\\.com","load-type":["third-party"],"unless-domain":["*buzzcity.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buzzparadise\\.com","load-type":["third-party"],"unless-domain":["*buzzparadise.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?capitaldata\\.fr","load-type":["third-party"],"unless-domain":["*capitaldata.fr"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cbproads\\.com","load-type":["third-party"],"unless-domain":["*cbproads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?contaxe\\.com","load-type":["third-party"],"unless-domain":["*contaxe.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?contextweb\\.com","load-type":["third-party"],"unless-domain":["*contextweb.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admailtiser\\.com","load-type":["third-party"],"unless-domain":["*contextin.com","*admailtiser.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?contextin\\.com","load-type":["third-party"],"unless-domain":["*contextin.com","*admailtiser.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cpmstar\\.com","load-type":["third-party"],"unless-domain":["*cpmstar.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cpxadroit\\.com","load-type":["third-party"],"unless-domain":["*cpxadroit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cpxinteractive\\.com","load-type":["third-party"],"unless-domain":["*cpxadroit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adreadypixels\\.com","load-type":["third-party"],"unless-domain":["*cpxadroit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cadreon\\.com","load-type":["third-party"],"unless-domain":["*cadreon.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?campaigngrid\\.com","load-type":["third-party"],"unless-domain":["*campaigngrid.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?caraytech\\.com\\.ar","load-type":["third-party"],"unless-domain":["*www.caraytech.com.ar","*caraytech.com.ar","*e-planning.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?e-planning\\.net","load-type":["third-party"],"unless-domain":["*www.caraytech.com.ar","*caraytech.com.ar","*e-planning.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cart\\.ro","load-type":["third-party"],"unless-domain":["*cart.ro"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?statistics\\.ro","load-type":["third-party"],"unless-domain":["*cart.ro"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?casalemedia\\.com","load-type":["third-party"],"unless-domain":["*casalemedia.com","*medianet.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?medianet\\.com","load-type":["third-party"],"unless-domain":["*casalemedia.com","*medianet.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chango\\.ca","load-type":["third-party"],"unless-domain":["*chango.com","*chango.ca"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chango\\.com","load-type":["third-party"],"unless-domain":["*chango.com","*chango.ca"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?channelintelligence\\.com","load-type":["third-party"],"unless-domain":["*channelintelligence.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?channeladvisor\\.com","load-type":["third-party"],"unless-domain":["*channeladvisor.com","*searchmarketing.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?searchmarketing\\.com","load-type":["third-party"],"unless-domain":["*channeladvisor.com","*searchmarketing.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chartboost\\.com","load-type":["third-party"],"unless-domain":["*chartboost.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?checkm8\\.com","load-type":["third-party"],"unless-domain":["*checkm8.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chitika\\.com","load-type":["third-party"],"unless-domain":["*chitika.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chitika\\.net","load-type":["third-party"],"unless-domain":["*chitika.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?choicestream\\.com","load-type":["third-party"],"unless-domain":["*choicestream.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clearsaleing\\.com","load-type":["third-party"],"unless-domain":["*clearsaleing.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?csdata1\\.com","load-type":["third-party"],"unless-domain":["*clearsaleing.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?csdata2\\.com","load-type":["third-party"],"unless-domain":["*clearsaleing.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?csdata3\\.com","load-type":["third-party"],"unless-domain":["*clearsaleing.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clearsightinteractive\\.com","load-type":["third-party"],"unless-domain":["*clearsightinteractive.com","*csi-tracking.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?csi-tracking\\.com","load-type":["third-party"],"unless-domain":["*clearsightinteractive.com","*csi-tracking.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clearsearchmedia\\.com","load-type":["third-party"],"unless-domain":["*pathinteractive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?csm-secure\\.com","load-type":["third-party"],"unless-domain":["*pathinteractive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clicmanager\\.fr","load-type":["third-party"],"unless-domain":["*clicmanager.fr"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickaider\\.com","load-type":["third-party"],"unless-domain":["*clickaider.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickdimensions\\.com","load-type":["third-party"],"unless-domain":["*clickdimensions.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickdistrict\\.com","load-type":["third-party"],"unless-domain":["*clickdistrict.com","*creative-serving.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?creative-serving\\.com","load-type":["third-party"],"unless-domain":["*clickdistrict.com","*creative-serving.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?conversiondashboard\\.com","load-type":["third-party"],"unless-domain":["*clickfuel.com","*myconversionlab.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickinc\\.com","load-type":["third-party"],"unless-domain":["*clickinc.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickbooth\\.com","load-type":["third-party"],"unless-domain":["*clickbooth.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtoll\\.com","load-type":["third-party"],"unless-domain":["*clickbooth.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clicksor\\.com","load-type":["third-party"],"unless-domain":["*clicksor.com","*clicksor.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clicksor\\.net","load-type":["third-party"],"unless-domain":["*clicksor.com","*clicksor.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickwinks\\.com","load-type":["third-party"],"unless-domain":["*clickwinks.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clovenetwork\\.com","load-type":["third-party"],"unless-domain":["*clovenetwork.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cmads\\.com\\.tw","load-type":["third-party"],"unless-domain":["*cognitivematch.com","*cmads.com.tw","*cmadsasia.com","*cmadseu.com","*cmmeglobal.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cmadsasia\\.com","load-type":["third-party"],"unless-domain":["*cognitivematch.com","*cmads.com.tw","*cmadsasia.com","*cmadseu.com","*cmmeglobal.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cmadseu\\.com","load-type":["third-party"],"unless-domain":["*cognitivematch.com","*cmads.com.tw","*cmadsasia.com","*cmadseu.com","*cmmeglobal.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cmmeglobal\\.com","load-type":["third-party"],"unless-domain":["*cognitivematch.com","*cmads.com.tw","*cmadsasia.com","*cmadseu.com","*cmmeglobal.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cognitivematch\\.com","load-type":["third-party"],"unless-domain":["*cognitivematch.com","*cmads.com.tw","*cmadsasia.com","*cmadseu.com","*cmmeglobal.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?coinhive\\.com","load-type":["third-party"],"unless-domain":["*coinhive.com","*coin-hive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?coin-hive\\.com","load-type":["third-party"],"unless-domain":["*coinhive.com","*coin-hive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?collective-media\\.net","load-type":["third-party"],"unless-domain":["*collective.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?collective\\.com","load-type":["third-party"],"unless-domain":["*collective.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oggifinogi\\.com","load-type":["third-party"],"unless-domain":["*collective.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tumri\\.com","load-type":["third-party"],"unless-domain":["*collective.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tumri\\.net","load-type":["third-party"],"unless-domain":["*collective.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yt1187\\.net","load-type":["third-party"],"unless-domain":["*collective.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?apmebf\\.com","load-type":["third-party"],"unless-domain":["*cj.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?awltovhc\\.com","load-type":["third-party"],"unless-domain":["*cj.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cj\\.com","load-type":["third-party"],"unless-domain":["*cj.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ftjcfx\\.com","load-type":["third-party"],"unless-domain":["*cj.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kcdwa\\.com","load-type":["third-party"],"unless-domain":["*cj.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?qksz\\.com","load-type":["third-party"],"unless-domain":["*cj.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?qksz\\.net","load-type":["third-party"],"unless-domain":["*cj.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tqlkg\\.com","load-type":["third-party"],"unless-domain":["*cj.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yceml\\.net","load-type":["third-party"],"unless-domain":["*cj.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?communicatorcorp\\.com","load-type":["third-party"],"unless-domain":["*communicatorcorp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?compasslabs\\.com","load-type":["third-party"],"unless-domain":["*compasslabs.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?complex\\.com","load-type":["third-party"],"unless-domain":["*complexmedianetwork.com","*complex.com","*collider.com","*solecollector.com","*pigeonsandplanes.com","*theridechannel.com","*firstwefeast.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?complexmedianetwork\\.com","load-type":["third-party"],"unless-domain":["*complexmedianetwork.com","*complex.com","*collider.com","*solecollector.com","*pigeonsandplanes.com","*theridechannel.com","*firstwefeast.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?consiliummedia\\.com","load-type":["third-party"],"unless-domain":["*consiliummedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?agencytradingdesk\\.net","load-type":["third-party"],"unless-domain":["*contextuads.com","*agencytradingdesk.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?contextuads\\.com","load-type":["third-party"],"unless-domain":["*contextuads.com","*agencytradingdesk.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?convergedirect\\.com","load-type":["third-party"],"unless-domain":["*convergedirect.com","*convergetrack.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?convergetrack\\.com","load-type":["third-party"],"unless-domain":["*convergedirect.com","*convergetrack.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?conversionruler\\.com","load-type":["third-party"],"unless-domain":["*conversionruler.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?conversive\\.nl","load-type":["third-party"],"unless-domain":["*conversive.nl"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?coremotives\\.com","load-type":["third-party"],"unless-domain":["*coremotives.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adify\\.com","load-type":["third-party"],"unless-domain":["*novomotus.com","*coxdigitalsolutions.com","*adify.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?afy11\\.net","load-type":["third-party"],"unless-domain":["*novomotus.com","*coxdigitalsolutions.com","*adify.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?coxdigitalsolutions\\.com","load-type":["third-party"],"unless-domain":["*novomotus.com","*coxdigitalsolutions.com","*adify.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?creafi\\.com","load-type":["third-party"],"unless-domain":["*creafi.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crimtan\\.com","load-type":["third-party"],"unless-domain":["*crimtan.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crispmedia\\.com","load-type":["third-party"],"unless-domain":["*crispmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?criteo\\.com","load-type":["third-party"],"unless-domain":["*criteo.com","*criteo.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?criteo\\.net","load-type":["third-party"],"unless-domain":["*criteo.com","*criteo.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crosspixel\\.net","load-type":["third-party"],"unless-domain":["*crosspixel.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crosspixelmedia\\.com","load-type":["third-party"],"unless-domain":["*crosspixel.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crsspxl\\.com","load-type":["third-party"],"unless-domain":["*crosspixel.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crypto-loot\\.com","load-type":["third-party"],"unless-domain":["*crypto-loot.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cyberplex\\.com","load-type":["third-party"],"unless-domain":["*cyberplex.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dc-storm\\.com","load-type":["third-party"],"unless-domain":["*dc-storm.com","*stormiq.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?stormiq\\.com","load-type":["third-party"],"unless-domain":["*dc-storm.com","*stormiq.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dgit\\.com","load-type":["third-party"],"unless-domain":["*dgit.com","*sizmek.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eyeblaster\\.com","load-type":["third-party"],"unless-domain":["*dgit.com","*sizmek.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eyewonder\\.com","load-type":["third-party"],"unless-domain":["*dgit.com","*sizmek.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mdadx\\.com","load-type":["third-party"],"unless-domain":["*dgit.com","*sizmek.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?serving-sys\\.com","load-type":["third-party"],"unless-domain":["*dgit.com","*sizmek.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?unicast\\.com","load-type":["third-party"],"unless-domain":["*dgit.com","*sizmek.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ds-iq\\.com","load-type":["third-party"],"unless-domain":["*ds-iq.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dsnrgroup\\.com","load-type":["third-party"],"unless-domain":["*dsnrmg.com","*dsnrgroup.com","*traffiliate.com","*z5x.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dsnrmg\\.com","load-type":["third-party"],"unless-domain":["*dsnrmg.com","*dsnrgroup.com","*traffiliate.com","*z5x.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?traffiliate\\.com","load-type":["third-party"],"unless-domain":["*dsnrmg.com","*dsnrgroup.com","*traffiliate.com","*z5x.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?z5x\\.com","load-type":["third-party"],"unless-domain":["*dsnrmg.com","*dsnrgroup.com","*traffiliate.com","*z5x.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?z5x\\.net","load-type":["third-party"],"unless-domain":["*dsnrmg.com","*dsnrgroup.com","*traffiliate.com","*z5x.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dada\\.pro","load-type":["third-party"],"unless-domain":["*dada.eu","*dada.pro","*simply.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?simply\\.com","load-type":["third-party"],"unless-domain":["*dada.eu","*dada.pro","*simply.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dataxu\\.com","load-type":["third-party"],"unless-domain":["*dataxu.com","*mexad.com","*w55c.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dataxu\\.net","load-type":["third-party"],"unless-domain":["*dataxu.com","*mexad.com","*w55c.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mexad\\.com","load-type":["third-party"],"unless-domain":["*dataxu.com","*mexad.com","*w55c.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?w55c\\.net","load-type":["third-party"],"unless-domain":["*dataxu.com","*mexad.com","*w55c.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nexac\\.com","load-type":["third-party"],"unless-domain":["*datalogix.com","*nexac.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nextaction\\.net","load-type":["third-party"],"unless-domain":["*datalogix.com","*nexac.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?datonics\\.com","load-type":["third-party"],"unless-domain":["*datonics.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pro-market\\.net","load-type":["third-party"],"unless-domain":["*datonics.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?datranmedia\\.com","load-type":["third-party"],"unless-domain":["*datranmedia.com","*displaymarketplace.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?displaymarketplace\\.com","load-type":["third-party"],"unless-domain":["*datranmedia.com","*displaymarketplace.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?datvantage\\.com","load-type":["third-party"],"unless-domain":["*datvantage.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dedicatedmedia\\.com","load-type":["third-party"],"unless-domain":["*dedicatedmedia.com","*dedicatednetworks.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dedicatednetworks\\.com","load-type":["third-party"],"unless-domain":["*dedicatedmedia.com","*dedicatednetworks.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?delivr\\.com","load-type":["third-party"],"unless-domain":["*delivr.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?percentmobile\\.com","load-type":["third-party"],"unless-domain":["*delivr.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adaction\\.se","load-type":["third-party"],"unless-domain":["*deltaprojects.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?de17a\\.com","load-type":["third-party"],"unless-domain":["*deltaprojects.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?deltaprojects\\.se","load-type":["third-party"],"unless-domain":["*deltaprojects.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?demandmedia\\.com","load-type":["third-party"],"unless-domain":["*leafgroup.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?indieclick\\.com","load-type":["third-party"],"unless-domain":["*leafgroup.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adcloud\\.com","load-type":["third-party"],"unless-domain":["*dpdhl.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adcloud\\.net","load-type":["third-party"],"unless-domain":["*dpdhl.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dp-dhl\\.com","load-type":["third-party"],"unless-domain":["*dpdhl.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?developermedia\\.com","load-type":["third-party"],"unless-domain":["*developermedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lqcdn\\.com","load-type":["third-party"],"unless-domain":["*developermedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?did-it\\.com","load-type":["third-party"],"unless-domain":["*didit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?didit\\.com","load-type":["third-party"],"unless-domain":["*didit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?digitalriver\\.com","load-type":["third-party"],"unless-domain":["*digitalriver.com","*keywordmax.com","*netflame.cc"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?keywordmax\\.com","load-type":["third-party"],"unless-domain":["*digitalriver.com","*keywordmax.com","*netflame.cc"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netflame\\.cc","load-type":["third-party"],"unless-domain":["*digitalriver.com","*keywordmax.com","*netflame.cc"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?digitaltarget\\.ru","load-type":["third-party"],"unless-domain":["*digitaltarget.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?digitalwindow\\.com","load-type":["third-party"],"unless-domain":["*awin.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?perfiliate\\.com","load-type":["third-party"],"unless-domain":["*awin.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?digitize\\.ie","load-type":["third-party"],"unless-domain":["*digitize.ie"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?directresponsegroup\\.com","load-type":["third-party"],"unless-domain":["*directresponsegroup.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ppctracking\\.net","load-type":["third-party"],"unless-domain":["*directresponsegroup.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?directadvert\\.ru","load-type":["third-party"],"unless-domain":["*directadvert.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?directtrack\\.com","load-type":["third-party"],"unless-domain":["*directtrack.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?doublepimp\\.com","load-type":["third-party"],"unless-domain":["*doublepimp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bid-tag\\.com","load-type":["third-party"],"unless-domain":["*doublepositive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?doublepositive\\.com","load-type":["third-party"],"unless-domain":["*doublepositive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?doubleverify\\.com","load-type":["third-party"],"unless-domain":["*doubleverify.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsymptotic\\.com","load-type":["third-party"],"unless-domain":["*drawbridge.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?drawbrid\\.ge","load-type":["third-party"],"unless-domain":["*drawbridge.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dynamicoxygen\\.com","load-type":["third-party"],"unless-domain":["*dynamicoxygen.com","*exitjunction.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?exitjunction\\.com","load-type":["third-party"],"unless-domain":["*dynamicoxygen.com","*exitjunction.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dynamicyield\\.com","load-type":["third-party"],"unless-domain":["*dynamicyield.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eqads\\.com","load-type":["third-party"],"unless-domain":["*eqads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?extensions\\.ru","load-type":["third-party"],"unless-domain":["*extensions.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?earnify\\.com","load-type":["third-party"],"unless-domain":["*earnify.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?effectivemeasure\\.com","load-type":["third-party"],"unless-domain":["*effectivemeasure.com","*effectivemeasure.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?effectivemeasure\\.net","load-type":["third-party"],"unless-domain":["*effectivemeasure.com","*effectivemeasure.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eleavers\\.com","load-type":["third-party"],"unless-domain":["*eleavers.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?emediate\\.biz","load-type":["third-party"],"unless-domain":["*emediate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?emediate\\.com","load-type":["third-party"],"unless-domain":["*emediate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?emediate\\.dk","load-type":["third-party"],"unless-domain":["*emediate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?emediate\\.eu","load-type":["third-party"],"unless-domain":["*emediate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?usemax\\.de","load-type":["third-party"],"unless-domain":["*usemax.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?enecto\\.com","load-type":["third-party"],"unless-domain":["*enecto.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?appmetrx\\.com","load-type":["third-party"],"unless-domain":["*engago.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?engago\\.com","load-type":["third-party"],"unless-domain":["*engago.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?enginenetwork\\.com","load-type":["third-party"],"unless-domain":["*enginenetwork.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ensighten\\.com","load-type":["third-party"],"unless-domain":["*ensighten.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?entireweb\\.com","load-type":["third-party"],"unless-domain":["*entireweb.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?epicadvertising\\.com","load-type":["third-party"],"unless-domain":["*theepicmediagroup.com","*epicadvertising.com","*epicmarketplace.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?epicmarketplace\\.com","load-type":["third-party"],"unless-domain":["*theepicmediagroup.com","*epicadvertising.com","*epicmarketplace.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?epicmobileads\\.com","load-type":["third-party"],"unless-domain":["*theepicmediagroup.com","*epicadvertising.com","*epicmarketplace.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?theepicmediagroup\\.com","load-type":["third-party"],"unless-domain":["*theepicmediagroup.com","*epicadvertising.com","*epicmarketplace.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trafficmp\\.com","load-type":["third-party"],"unless-domain":["*theepicmediagroup.com","*epicadvertising.com","*epicmarketplace.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?epsilon\\.com","load-type":["third-party"],"unless-domain":["*epsilon.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ero-advertising\\.com","load-type":["third-party"],"unless-domain":["*ero-advertising.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?etargetnet\\.com","load-type":["third-party"],"unless-domain":["*etargetnet.com","*etarget.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?etarget\\.eu","load-type":["third-party"],"unless-domain":["*etargetnet.com","*etarget.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adwitserver\\.com","load-type":["third-party"],"unless-domain":["*etineria.com","*adwitserver.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?etineria\\.com","load-type":["third-party"],"unless-domain":["*etineria.com","*adwitserver.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?everydayhealth\\.com","load-type":["third-party"],"unless-domain":["*everydayhealth.com","*waterfrontmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?waterfrontmedia\\.com","load-type":["third-party"],"unless-domain":["*everydayhealth.com","*waterfrontmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?betrad\\.com","load-type":["third-party"],"unless-domain":["*evidon.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?evidon\\.com","load-type":["third-party"],"unless-domain":["*evidon.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?engineseeker\\.com","load-type":["third-party"],"unless-domain":["*evisionsmarketing.com","*engineseeker.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?evisionsmarketing\\.com","load-type":["third-party"],"unless-domain":["*evisionsmarketing.com","*engineseeker.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?evolvemediacorp\\.com","load-type":["third-party"],"unless-domain":["*evolvemediacorp.com","*gorillanation.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?evolvemediametrics\\.com","load-type":["third-party"],"unless-domain":["*evolvemediacorp.com","*gorillanation.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gorillanation\\.com","load-type":["third-party"],"unless-domain":["*evolvemediacorp.com","*gorillanation.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?exoclick\\.com","load-type":["third-party"],"unless-domain":["*exoclick.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?audienceiq\\.com","load-type":["third-party"],"unless-domain":["*experian.com","*pricegrabber.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?experian\\.com","load-type":["third-party"],"unless-domain":["*experian.com","*pricegrabber.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pricegrabber\\.com","load-type":["third-party"],"unless-domain":["*experian.com","*pricegrabber.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adotube\\.com","load-type":["third-party"],"unless-domain":["*exponential.com","*fulltango.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?exponential\\.com","load-type":["third-party"],"unless-domain":["*exponential.com","*fulltango.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fulltango\\.com","load-type":["third-party"],"unless-domain":["*exponential.com","*fulltango.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tribalfusion\\.com","load-type":["third-party"],"unless-domain":["*exponential.com","*fulltango.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?extensionfactory\\.com","load-type":["third-party"],"unless-domain":["*extensionfactory.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eyeconomy\\.co\\.uk","load-type":["third-party"],"unless-domain":["*eyeconomy.co.uk"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eyeconomy\\.com","load-type":["third-party"],"unless-domain":["*eyeconomy.co.uk"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sublimemedia\\.net","load-type":["third-party"],"unless-domain":["*eyeconomy.co.uk"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eyeviewdigital\\.com","load-type":["third-party"],"unless-domain":["*eyeviewdigital.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsfac\\.eu","load-type":["third-party"],"unless-domain":["*facilitatedigital.com","*adsfac.eu","*adsfac.net","*adsfac.us"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsfac\\.info","load-type":["third-party"],"unless-domain":["*facilitatedigital.com","*adsfac.eu","*adsfac.net","*adsfac.us"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsfac\\.net","load-type":["third-party"],"unless-domain":["*facilitatedigital.com","*adsfac.eu","*adsfac.net","*adsfac.us"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsfac\\.sg","load-type":["third-party"],"unless-domain":["*facilitatedigital.com","*adsfac.eu","*adsfac.net","*adsfac.us"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsfac\\.us","load-type":["third-party"],"unless-domain":["*facilitatedigital.com","*adsfac.eu","*adsfac.net","*adsfac.us"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?facilitatedigital\\.com","load-type":["third-party"],"unless-domain":["*facilitatedigital.com","*adsfac.eu","*adsfac.net","*adsfac.us"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fairfax\\.com\\.au","load-type":["third-party"],"unless-domain":["*www.fxj.com.au","*fairfax.com.au","*fxj.com.au"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fxj\\.com\\.au","load-type":["third-party"],"unless-domain":["*www.fxj.com.au","*fairfax.com.au","*fxj.com.au"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fathomdelivers\\.com","load-type":["third-party"],"unless-domain":["*fathomdelivers.com","*fathomseo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fathomseo\\.com","load-type":["third-party"],"unless-domain":["*fathomdelivers.com","*fathomseo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?federatedmedia\\.net","load-type":["third-party"],"unless-domain":["*hyfn.com","*sovrn","*lijit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fmpub\\.net","load-type":["third-party"],"unless-domain":["*hyfn.com","*sovrn","*lijit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lijit\\.com","load-type":["third-party"],"unless-domain":["*hyfn.com","*sovrn","*lijit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fetchback\\.com","load-type":["third-party"],"unless-domain":["*fetchback.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fiksu\\.com","load-type":["third-party"],"unless-domain":["*fiksu.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?financialcontent\\.com","load-type":["third-party"],"unless-domain":["*financialcontent.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fizzbuzzmedia\\.com","load-type":["third-party"],"unless-domain":["*fizzbuzzmedia.com","*fizzbuzzmedia.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fizzbuzzmedia\\.net","load-type":["third-party"],"unless-domain":["*fizzbuzzmedia.com","*fizzbuzzmedia.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?flashtalking\\.com","load-type":["third-party"],"unless-domain":["*flashtalking.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?flite\\.com","load-type":["third-party"],"unless-domain":["*flite.com","*widgetserver.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?widgetserver\\.com","load-type":["third-party"],"unless-domain":["*flite.com","*widgetserver.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fluct\\.jp","load-type":["third-party"],"unless-domain":["*fluct.jp","*adingo.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adingo\\.jp","load-type":["third-party"],"unless-domain":["*fluct.jp","*adingo.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?flurry\\.com","load-type":["third-party"],"unless-domain":["*flurry.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?flytxt\\.com","load-type":["third-party"],"unless-domain":["*flytxt.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brandsideplatform\\.com","load-type":["third-party"],"unless-domain":["*forbes.com","*brandsideplatform.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?forbes\\.com","load-type":["third-party"],"unless-domain":["*forbes.com","*brandsideplatform.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fimserve\\.com","load-type":["third-party"],"unless-domain":["*foxonestop.com","*fimserve.com","*foxnetworks.com","*mobsmith.com","*myads.com","*othersonline.com","*rubiconproject.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?foxnetworks\\.com","load-type":["third-party"],"unless-domain":["*foxonestop.com","*fimserve.com","*foxnetworks.com","*mobsmith.com","*myads.com","*othersonline.com","*rubiconproject.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?foxonestop\\.com","load-type":["third-party"],"unless-domain":["*foxonestop.com","*fimserve.com","*foxnetworks.com","*mobsmith.com","*myads.com","*othersonline.com","*rubiconproject.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mobsmith\\.com","load-type":["third-party"],"unless-domain":["*foxonestop.com","*fimserve.com","*foxnetworks.com","*mobsmith.com","*myads.com","*othersonline.com","*rubiconproject.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?myads\\.com","load-type":["third-party"],"unless-domain":["*foxonestop.com","*fimserve.com","*foxnetworks.com","*mobsmith.com","*myads.com","*othersonline.com","*rubiconproject.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?othersonline\\.com","load-type":["third-party"],"unless-domain":["*foxonestop.com","*fimserve.com","*foxnetworks.com","*mobsmith.com","*myads.com","*othersonline.com","*rubiconproject.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rubiconproject\\.com","load-type":["third-party"],"unless-domain":["*foxonestop.com","*fimserve.com","*foxnetworks.com","*mobsmith.com","*myads.com","*othersonline.com","*rubiconproject.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fout\\.jp","load-type":["third-party"],"unless-domain":["*fout.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?freedom\\.com","load-type":["third-party"],"unless-domain":["*freedom.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adultfriendfinder\\.com","load-type":["third-party"],"unless-domain":["*ffn.com","*adultfriendfinder.com","*pop6.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ffn\\.com","load-type":["third-party"],"unless-domain":["*ffn.com","*adultfriendfinder.com","*pop6.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pop6\\.com","load-type":["third-party"],"unless-domain":["*ffn.com","*adultfriendfinder.com","*pop6.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?double-check\\.com","load-type":["third-party"],"unless-domain":["*frogsex.com","*double-check.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?frogsex\\.com","load-type":["third-party"],"unless-domain":["*frogsex.com","*double-check.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?futureads\\.com","load-type":["third-party"],"unless-domain":["*futureads.com","*resultlinks.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?resultlinks\\.com","load-type":["third-party"],"unless-domain":["*futureads.com","*resultlinks.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gb-world\\.net","load-type":["third-party"],"unless-domain":["*gb-world.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?geniegroupltd\\.co\\.uk","load-type":["third-party"],"unless-domain":["*www.geniegroupltd.co.uk","*geniegroupltd.co.uk"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gismads\\.jp","load-type":["third-party"],"unless-domain":["*www.gismads.jp","*gismads.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gsicommerce\\.com","load-type":["third-party"],"unless-domain":["*pepperjam.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gsimedia\\.net","load-type":["third-party"],"unless-domain":["*pepperjam.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pepperjam\\.com","load-type":["third-party"],"unless-domain":["*pepperjam.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pjatr\\.com","load-type":["third-party"],"unless-domain":["*pepperjam.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pjtra\\.com","load-type":["third-party"],"unless-domain":["*pepperjam.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pntra\\.com","load-type":["third-party"],"unless-domain":["*pepperjam.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pntrac\\.com","load-type":["third-party"],"unless-domain":["*pepperjam.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pntrs\\.com","load-type":["third-party"],"unless-domain":["*pepperjam.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?game-advertising-online\\.com","load-type":["third-party"],"unless-domain":["*game-advertising-online.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?games2win\\.com","load-type":["third-party"],"unless-domain":["*games2win.com","*inviziads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inviziads\\.com","load-type":["third-party"],"unless-domain":["*games2win.com","*inviziads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gamned\\.com","load-type":["third-party"],"unless-domain":["*gamned.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gannett\\.com","load-type":["third-party"],"unless-domain":["*gannett.com","*pointroll.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pointroll\\.com","load-type":["third-party"],"unless-domain":["*gannett.com","*pointroll.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gemius\\.com","load-type":["third-party"],"unless-domain":["*gemius.com","*gemius.pl"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gemius\\.pl","load-type":["third-party"],"unless-domain":["*gemius.com","*gemius.pl"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?genesismedia\\.com","load-type":["third-party"],"unless-domain":["*genesismedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?genesismediaus\\.com","load-type":["third-party"],"unless-domain":["*genesismedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?geoads\\.com","load-type":["third-party"],"unless-domain":["*geoads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?getglue\\.com","load-type":["third-party"],"unless-domain":["*elfie.com","*smrtlnks.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smrtlnks\\.com","load-type":["third-party"],"unless-domain":["*elfie.com","*smrtlnks.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adhigh\\.net","load-type":["third-party"],"unless-domain":["*adhigh.net","*getintent.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?getintent\\.com","load-type":["third-party"],"unless-domain":["*adhigh.net","*getintent.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?glam\\.com","load-type":["third-party"],"unless-domain":["*glammedia.com","*glam.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?glammedia\\.com","load-type":["third-party"],"unless-domain":["*glammedia.com","*glam.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?globe7\\.com","load-type":["third-party"],"unless-domain":["*globe7.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?godatafeed\\.com","load-type":["third-party"],"unless-domain":["*godatafeed.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?goldspotmedia\\.com","load-type":["third-party"],"unless-domain":["*goldspotmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?goldbachgroup\\.com","load-type":["third-party"],"unless-domain":["*goldbachgroup.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?goldbach\\.com","load-type":["third-party"],"unless-domain":["*goldbachgroup.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?2mdn\\.net","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admeld\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admob\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cc-dt\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?destinationurl\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?doubleclick\\.net","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adwords\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?googleadservices\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?googlesyndication\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?googletagservices\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?invitemedia\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smtad\\.net","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?teracent\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?teracent\\.net","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ytsa\\.net","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?grapeshot\\.co\\.uk","load-type":["third-party"],"unless-domain":["*www.grapeshot.co.uk","*grapeshot.co.uk"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?groceryshopping\\.net","load-type":["third-party"],"unless-domain":["*groceryshopping.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?groovinads\\.com","load-type":["third-party"],"unless-domain":["*groovinads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?guj\\.de","load-type":["third-party"],"unless-domain":["*guj.de","*ligatus.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ligatus\\.com","load-type":["third-party"],"unless-domain":["*guj.de","*ligatus.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gumgum\\.com","load-type":["third-party"],"unless-domain":["*gumgum.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gunggo\\.com","load-type":["third-party"],"unless-domain":["*gunggo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hotwords\\.com","load-type":["third-party"],"unless-domain":["*hotwords.com","*hotwords.es"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hotwords\\.es","load-type":["third-party"],"unless-domain":["*hotwords.com","*hotwords.es"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hp\\.com","load-type":["third-party"],"unless-domain":["*hp.com","*opentext.com","*optimost.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?optimost\\.com","load-type":["third-party"],"unless-domain":["*hp.com","*opentext.com","*optimost.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?huntmads\\.com","load-type":["third-party"],"unless-domain":["*huntmads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hands\\.com\\.br","load-type":["third-party"],"unless-domain":["*www.hands.com.br","*hands.com.br"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?harrenmedia\\.com","load-type":["third-party"],"unless-domain":["*harrenmedia.com","*harrenmedianetwork.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?harrenmedianetwork\\.com","load-type":["third-party"],"unless-domain":["*harrenmedia.com","*harrenmedianetwork.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adacado\\.com","load-type":["third-party"],"unless-domain":["*healthpricer.com","*adacado.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?healthpricer\\.com","load-type":["third-party"],"unless-domain":["*healthpricer.com","*adacado.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hearst\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ic-live\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iclive\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?icrossing\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sptag\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sptag1\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sptag2\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sptag3\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?comclick\\.com","load-type":["third-party"],"unless-domain":["*himediagroup.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hi-media\\.com","load-type":["third-party"],"unless-domain":["*himediagroup.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hlserve\\.com","load-type":["third-party"],"unless-domain":["*hooklogic.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hooklogic\\.com","load-type":["third-party"],"unless-domain":["*hooklogic.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?horyzon-media\\.com","load-type":["third-party"],"unless-domain":["*horyzon-media.com","*meetic-partners.com","*smartadserver.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?meetic-partners\\.com","load-type":["third-party"],"unless-domain":["*horyzon-media.com","*meetic-partners.com","*smartadserver.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smartadserver\\.com","load-type":["third-party"],"unless-domain":["*horyzon-media.com","*meetic-partners.com","*smartadserver.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?httpool\\.com","load-type":["third-party"],"unless-domain":["*httpool.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hurra\\.com","load-type":["third-party"],"unless-domain":["*hurra.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?i-behavior\\.com","load-type":["third-party"],"unless-domain":["*i-behavior.com","*ib-ibi.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ib-ibi\\.com","load-type":["third-party"],"unless-domain":["*i-behavior.com","*ib-ibi.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?i\\.ua","load-type":["third-party"],"unless-domain":["*i.ua"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iac\\.com","load-type":["third-party"],"unless-domain":["*iac.com","*iacadvertising.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iacadvertising\\.com","load-type":["third-party"],"unless-domain":["*iac.com","*iacadvertising.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?unica\\.com","load-type":["third-party"],"unless-domain":["*ibm.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?idg\\.com","load-type":["third-party"],"unless-domain":["*idg.com","*idgtechnetwork.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?idgtechnetwork\\.com","load-type":["third-party"],"unless-domain":["*idg.com","*idgtechnetwork.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adversalservers\\.com","load-type":["third-party"],"unless-domain":["*digbro.com","*adversalservers.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?digbro\\.com","load-type":["third-party"],"unless-domain":["*digbro.com","*adversalservers.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ignitad\\.com","load-type":["third-party"],"unless-domain":["*ignitad.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ignitionone\\.com","load-type":["third-party"],"unless-domain":["*ignitionone.com","*ignitionone.net","*searchignite.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ignitionone\\.net","load-type":["third-party"],"unless-domain":["*ignitionone.com","*ignitionone.net","*searchignite.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?searchignite\\.com","load-type":["third-party"],"unless-domain":["*ignitionone.com","*ignitionone.net","*searchignite.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?360yield\\.com","load-type":["third-party"],"unless-domain":["*improvedigital.com","*360yield.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?improvedigital\\.com","load-type":["third-party"],"unless-domain":["*improvedigital.com","*360yield.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inmobi\\.com","load-type":["third-party"],"unless-domain":["*inmobi.com","*sproutinc.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sproutinc\\.com","load-type":["third-party"],"unless-domain":["*inmobi.com","*sproutinc.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inskinmedia\\.com","load-type":["third-party"],"unless-domain":["*inskinmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?anadcoads\\.com","load-type":["third-party"],"unless-domain":["*inadco.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inadco\\.com","load-type":["third-party"],"unless-domain":["*inadco.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inadcoads\\.com","load-type":["third-party"],"unless-domain":["*inadco.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?impressiondesk\\.com","load-type":["third-party"],"unless-domain":["*infectiousmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?infectiousmedia\\.com","load-type":["third-party"],"unless-domain":["*infectiousmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inflectionpointmedia\\.com","load-type":["third-party"],"unless-domain":["*inflectionpointmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?infogroup\\.com","load-type":["third-party"],"unless-domain":["*infogroup.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?infolinks\\.com","load-type":["third-party"],"unless-domain":["*infolinks.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?infra-ad\\.com","load-type":["third-party"],"unless-domain":["*infra-ad.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?innity\\.com","load-type":["third-party"],"unless-domain":["*innity.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?insightexpress\\.com","load-type":["third-party"],"unless-domain":["*insightexpress.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?insightexpressai\\.com","load-type":["third-party"],"unless-domain":["*insightexpress.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?instinctiveads\\.com","load-type":["third-party"],"unless-domain":["*instinctive.io"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?instinctive\\.io","load-type":["third-party"],"unless-domain":["*instinctive.io"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intentmedia\\.com","load-type":["third-party"],"unless-domain":["*intentmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intentmedia\\.net","load-type":["third-party"],"unless-domain":["*intentmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intergi\\.com","load-type":["third-party"],"unless-domain":["*intergi.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intermarkets\\.net","load-type":["third-party"],"unless-domain":["*intermarkets.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intermundomedia\\.com","load-type":["third-party"],"unless-domain":["*intermundomedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ibpxl\\.com","load-type":["third-party"],"unless-domain":["*internetbrands.com","*ibpxl.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?internetbrands\\.com","load-type":["third-party"],"unless-domain":["*internetbrands.com","*ibpxl.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?interpolls\\.com","load-type":["third-party"],"unless-domain":["*interpolls.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inuvo\\.com","load-type":["third-party"],"unless-domain":["*inuvo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?investingchannel\\.com","load-type":["third-party"],"unless-domain":["*investingchannel.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jaroop\\.com","load-type":["third-party"],"unless-domain":["*jaroop.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jasperlabs\\.com","load-type":["third-party"],"unless-domain":["*jasperlabs.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jemmgroup\\.com","load-type":["third-party"],"unless-domain":["*jemmgroup.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jink\\.de","load-type":["third-party"],"unless-domain":["*jink.de","*jinkads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jinkads\\.com","load-type":["third-party"],"unless-domain":["*jink.de","*jinkads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adcolony\\.com","load-type":["third-party"],"unless-domain":["*adcolony.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jirbo\\.com","load-type":["third-party"],"unless-domain":["*adcolony.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jivox\\.com","load-type":["third-party"],"unless-domain":["*jivox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jobthread\\.com","load-type":["third-party"],"unless-domain":["*jobthread.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?juicyads\\.com","load-type":["third-party"],"unless-domain":["*juicyads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jumptap\\.com","load-type":["third-party"],"unless-domain":["*jumptap.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?keewurd\\.com","load-type":["third-party"],"unless-domain":["*kitd.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kitd\\.com","load-type":["third-party"],"unless-domain":["*kitd.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?peerset\\.com","load-type":["third-party"],"unless-domain":["*kitd.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kenshoo\\.com","load-type":["third-party"],"unless-domain":["*kenshoo.com","*xg4ken.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xg4ken\\.com","load-type":["third-party"],"unless-domain":["*kenshoo.com","*xg4ken.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?keyade\\.com","load-type":["third-party"],"unless-domain":["*keyade.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kissmyads\\.com","load-type":["third-party"],"unless-domain":["*kissmyads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?103092804\\.com","load-type":["third-party"],"unless-domain":["*kitaramedia.com","*103092804.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kitaramedia\\.com","load-type":["third-party"],"unless-domain":["*kitaramedia.com","*103092804.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admost\\.com","load-type":["third-party"],"unless-domain":["*kokteyl.com","*admost.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kokteyl\\.com","load-type":["third-party"],"unless-domain":["*kokteyl.com","*admost.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?komli\\.com","load-type":["third-party"],"unless-domain":["*komli.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kontera\\.com","load-type":["third-party"],"unless-domain":["*kontera.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsummos\\.com","load-type":["third-party"],"unless-domain":["*korrelate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsummos\\.net","load-type":["third-party"],"unless-domain":["*korrelate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?korrelate\\.com","load-type":["third-party"],"unless-domain":["*korrelate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?krux\\.com","load-type":["third-party"],"unless-domain":["*krux.com","*kruxdigital.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kruxdigital\\.com","load-type":["third-party"],"unless-domain":["*krux.com","*kruxdigital.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?krxd\\.net","load-type":["third-party"],"unless-domain":["*krux.com","*kruxdigital.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lakana\\.com","load-type":["third-party"],"unless-domain":["*lakana.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ibsys\\.com","load-type":["third-party"],"unless-domain":["*lakana.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?layer-ads\\.net","load-type":["third-party"],"unless-domain":["*layer-ads.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?layer-ad\\.org","load-type":["third-party"],"unless-domain":["*layer-ad.org"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?leadbolt\\.com","load-type":["third-party"],"unless-domain":["*leadbolt.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?leadformix\\.com","load-type":["third-party"],"unless-domain":["*calliduscloud.com","*leadformix.com","*leadforce1.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?leadforce1\\.com","load-type":["third-party"],"unless-domain":["*calliduscloud.com","*leadformix.com","*leadforce1.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?leadlander\\.com","load-type":["third-party"],"unless-domain":["*leadlander.com","*trackalyzer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trackalyzer\\.com","load-type":["third-party"],"unless-domain":["*leadlander.com","*trackalyzer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?legolas-media\\.com","load-type":["third-party"],"unless-domain":["*legolas-media.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?levexis\\.com","load-type":["third-party"],"unless-domain":["*levexis.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbull\\.com","load-type":["third-party"],"unless-domain":["*lexosmedia.com","*adbull.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lexosmedia\\.com","load-type":["third-party"],"unless-domain":["*lexosmedia.com","*adbull.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lfstmedia\\.com","load-type":["third-party"],"unless-domain":["*lifestreetmedia.com","*lfstmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lifestreetmedia\\.com","load-type":["third-party"],"unless-domain":["*lifestreetmedia.com","*lfstmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?linkconnector\\.com","load-type":["third-party"],"unless-domain":["*linkconnector.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?linkshare\\.com","load-type":["third-party"],"unless-domain":["*rakutenmarketing.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?linksynergy\\.com","load-type":["third-party"],"unless-domain":["*rakutenmarketing.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?linkz\\.net","load-type":["third-party"],"unless-domain":["*linkz.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?listrak\\.com","load-type":["third-party"],"unless-domain":["*listrak.com","*listrakbi.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?listrakbi\\.com","load-type":["third-party"],"unless-domain":["*listrak.com","*listrakbi.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?liadm\\.com","load-type":["third-party"],"unless-domain":["*liveintent.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?liveintent\\.com","load-type":["third-party"],"unless-domain":["*liveintent.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?liveinternet\\.ru","load-type":["third-party"],"unless-domain":["*liveinternet.ru","*yadro.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yadro\\.ru","load-type":["third-party"],"unless-domain":["*liveinternet.ru","*yadro.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?localyokelmedia\\.com","load-type":["third-party"],"unless-domain":["*localyokelmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?longboardmedia\\.com","load-type":["third-party"],"unless-domain":["*longboardmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?loomia\\.com","load-type":["third-party"],"unless-domain":["*loomia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lfov\\.net","load-type":["third-party"],"unless-domain":["*loopfuse.net","*lfov.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?loopfuse\\.net","load-type":["third-party"],"unless-domain":["*loopfuse.net","*lfov.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lowermybills\\.com","load-type":["third-party"],"unless-domain":["*lowermybills.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lucidmedia\\.com","load-type":["third-party"],"unless-domain":["*lucidmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cpalead\\.com","load-type":["third-party"],"unless-domain":["*cpalead.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mundomedia\\.com","load-type":["third-party"],"unless-domain":["*mundomedia.com","*silver-path.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?silver-path\\.com","load-type":["third-party"],"unless-domain":["*mundomedia.com","*silver-path.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?madhouse\\.cn","load-type":["third-party"],"unless-domain":["*madhouse.cn"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dinclinx\\.com","load-type":["third-party"],"unless-domain":["*madisonlogic.com","*dinclinx.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?madisonlogic\\.com","load-type":["third-party"],"unless-domain":["*madisonlogic.com","*dinclinx.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?domdex\\.com","load-type":["third-party"],"unless-domain":["*magnetic.com","*domdex.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?domdex\\.net","load-type":["third-party"],"unless-domain":["*magnetic.com","*domdex.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?magnetic\\.com","load-type":["third-party"],"unless-domain":["*magnetic.com","*domdex.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?qjex\\.net","load-type":["third-party"],"unless-domain":["*magnetic.com","*domdex.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dialogmgr\\.com","load-type":["third-party"],"unless-domain":["*magnify360.com","*dialogmgr.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?magnify360\\.com","load-type":["third-party"],"unless-domain":["*magnify360.com","*dialogmgr.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?campaign-archive1\\.com","load-type":["third-party"],"unless-domain":["*mailchimp.com","*campaign-archive1.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?list-manage\\.com","load-type":["third-party"],"unless-domain":["*mailchimp.com","*campaign-archive1.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mailchimp\\.com","load-type":["third-party"],"unless-domain":["*mailchimp.com","*campaign-archive1.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bannerbank\\.ru","load-type":["third-party"],"unless-domain":["*manifest.ru","*bannerbank.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?manifest\\.ru","load-type":["third-party"],"unless-domain":["*manifest.ru","*bannerbank.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?industrybrains\\.com","load-type":["third-party"],"unless-domain":["*marchex.com","*industrybrains.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marchex\\.com","load-type":["third-party"],"unless-domain":["*marchex.com","*industrybrains.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marimedia\\.net","load-type":["third-party"],"unless-domain":["*marimedia.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dt00\\.net","load-type":["third-party"],"unless-domain":["*marketgid.com","*dt00.net","*dt07.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dt07\\.net","load-type":["third-party"],"unless-domain":["*marketgid.com","*dt00.net","*dt07.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marketgid\\.com","load-type":["third-party"],"unless-domain":["*marketgid.com","*dt00.net","*dt07.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marketo\\.com","load-type":["third-party"],"unless-domain":["*marketo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marketo\\.net","load-type":["third-party"],"unless-domain":["*marketo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?martiniadnetwork\\.com","load-type":["third-party"],"unless-domain":["*martiniadnetwork.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?martinimedianetwork\\.com","load-type":["third-party"],"unless-domain":["*martiniadnetwork.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chemistry\\.com","load-type":["third-party"],"unless-domain":["*match.com","*chemistry.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?match\\.com","load-type":["third-party"],"unless-domain":["*match.com","*chemistry.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?matomy\\.com","load-type":["third-party"],"unless-domain":["*matomy.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?matomymarket\\.com","load-type":["third-party"],"unless-domain":["*matomy.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?matomymedia\\.com","load-type":["third-party"],"unless-domain":["*matomy.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xtendmedia\\.com","load-type":["third-party"],"unless-domain":["*matomy.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsmarket\\.com","load-type":["third-party"],"unless-domain":["*matomy.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?matomy\\.com","load-type":["third-party"],"unless-domain":["*matomy.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?maxbounty\\.com","load-type":["third-party"],"unless-domain":["*maxbounty.com","*mb01.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mb01\\.com","load-type":["third-party"],"unless-domain":["*maxbounty.com","*mb01.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?maxpointinteractive\\.com","load-type":["third-party"],"unless-domain":["*maxpointinteractive.com","*maxusglobal.com","*mxptint.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?maxusglobal\\.com","load-type":["third-party"],"unless-domain":["*maxpointinteractive.com","*maxusglobal.com","*mxptint.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mxptint\\.net","load-type":["third-party"],"unless-domain":["*maxpointinteractive.com","*maxusglobal.com","*mxptint.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mdotm\\.com","load-type":["third-party"],"unless-domain":["*mdotm.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediabrix\\.com","load-type":["third-party"],"unless-domain":["*mediabrix.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediacom\\.com","load-type":["third-party"],"unless-domain":["*mediacom.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adroitinteractive\\.com","load-type":["third-party"],"unless-domain":["*mediamath.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?designbloxlive\\.com","load-type":["third-party"],"unless-domain":["*mediamath.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mathtag\\.com","load-type":["third-party"],"unless-domain":["*mediamath.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediamath\\.com","load-type":["third-party"],"unless-domain":["*mediamath.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?media-servers\\.net","load-type":["third-party"],"unless-domain":["*mediashakers.com","*media-servers.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediashakers\\.com","load-type":["third-party"],"unless-domain":["*mediashakers.com","*media-servers.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediatrust\\.com","load-type":["third-party"],"unless-domain":["*mediatrust.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adnetinteractive\\.com","load-type":["third-party"],"unless-domain":["*mediawhiz.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediawhiz\\.com","load-type":["third-party"],"unless-domain":["*mediawhiz.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?medialets\\.com","load-type":["third-party"],"unless-domain":["*medialets.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbuyer\\.com","load-type":["third-party"],"unless-domain":["*mediaocean.com","*adbuyer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediaocean\\.com","load-type":["third-party"],"unless-domain":["*mediaocean.com","*adbuyer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?medicxmedia\\.com","load-type":["third-party"],"unless-domain":["*medicxmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?megaindex\\.ru","load-type":["third-party"],"unless-domain":["*megaindex.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mercent\\.com","load-type":["third-party"],"unless-domain":["*mercent.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?merchantadvantage\\.com","load-type":["third-party"],"unless-domain":["*merchantadvantage.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?merchenta\\.com","load-type":["third-party"],"unless-domain":["*merchenta.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?metanetwork\\.com","load-type":["third-party"],"unless-domain":["*metanetwork.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?meteorsolutions\\.com","load-type":["third-party"],"unless-domain":["*meteorsolutions.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?opinionbar\\.com","load-type":["third-party"],"unless-domain":["*metrixlab.com","*crm-metrix.com","*customerconversio.com","*opinionbar.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?metrixlab\\.com","load-type":["third-party"],"unless-domain":["*metrixlab.com","*crm-metrix.com","*customerconversio.com","*opinionbar.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adoftheyear\\.com","load-type":["third-party"],"unless-domain":["*metrixlab.com","*crm-metrix.com","*customerconversio.com","*opinionbar.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crm-metrix\\.com","load-type":["third-party"],"unless-domain":["*metrixlab.com","*crm-metrix.com","*customerconversio.com","*opinionbar.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?customerconversio\\.com","load-type":["third-party"],"unless-domain":["*metrixlab.com","*crm-metrix.com","*customerconversio.com","*opinionbar.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?microad\\.jp","load-type":["third-party"],"unless-domain":["*www.microad.jp","*microad.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbureau\\.net","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adecn\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aquantive\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?atdmt\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?msads\\.net","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netconversions\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?roiservice\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?decktrade\\.com","load-type":["third-party"],"unless-domain":["*millennialmedia.com","*decktrade.com","*mydas.mobi"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?millennialmedia\\.com","load-type":["third-party"],"unless-domain":["*millennialmedia.com","*decktrade.com","*mydas.mobi"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mydas\\.mobi","load-type":["third-party"],"unless-domain":["*millennialmedia.com","*decktrade.com","*mydas.mobi"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mindset-media\\.com","load-type":["third-party"],"unless-domain":["*mindset-media.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mmismm\\.com","load-type":["third-party"],"unless-domain":["*mindset-media.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mirando\\.de","load-type":["third-party"],"unless-domain":["*mirando.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mixpo\\.com","load-type":["third-party"],"unless-domain":["*mixpo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mopub\\.com","load-type":["third-party"],"unless-domain":["*mopub.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?moat\\.com","load-type":["third-party"],"unless-domain":["*moat.com","*moatads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?moatads\\.com","load-type":["third-party"],"unless-domain":["*moat.com","*moatads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mobfox\\.com","load-type":["third-party"],"unless-domain":["*mobfox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admoda\\.com","load-type":["third-party"],"unless-domain":["*admoda.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mobvision\\.com","load-type":["third-party"],"unless-domain":["*admoda.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mobilemeteor\\.com","load-type":["third-party"],"unless-domain":["*mobilemeteor.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?showmeinn\\.com","load-type":["third-party"],"unless-domain":["*mobilemeteor.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mobilestorm\\.com","load-type":["third-party"],"unless-domain":["*mobilestorm.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?moceanmobile\\.com","load-type":["third-party"],"unless-domain":["*moceanmobile.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mochila\\.com","load-type":["third-party"],"unless-domain":["*mochila.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mojiva\\.com","load-type":["third-party"],"unless-domain":["*mojiva.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?monetate\\.com","load-type":["third-party"],"unless-domain":["*monetate.com","*monetate.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?monetate\\.net","load-type":["third-party"],"unless-domain":["*monetate.com","*monetate.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?monetizemore\\.com","load-type":["third-party"],"unless-domain":["*monetizemore.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?monoloop\\.com","load-type":["third-party"],"unless-domain":["*monoloop.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?monster\\.com","load-type":["third-party"],"unless-domain":["*monster.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?moolah-media\\.com","load-type":["third-party"],"unless-domain":["*moolahmedia.com","*moolah-media.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?moolahmedia\\.com","load-type":["third-party"],"unless-domain":["*moolahmedia.com","*moolah-media.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?affbuzzads\\.com","load-type":["third-party"],"unless-domain":["*movielush.com","*affbuzzads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?movielush\\.com","load-type":["third-party"],"unless-domain":["*movielush.com","*affbuzzads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adclickmedia\\.com","load-type":["third-party"],"unless-domain":["*multiplestreammktg.com","*adclickmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?multiplestreammktg\\.com","load-type":["third-party"],"unless-domain":["*multiplestreammktg.com","*adclickmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mybuys\\.com","load-type":["third-party"],"unless-domain":["*mybuys.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?veruta\\.com","load-type":["third-party"],"unless-domain":["*mybuys.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mycounter\\.com\\.ua","load-type":["third-party"],"unless-domain":["*mycounter.com.ua"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ppjol\\.net","load-type":["third-party"],"unless-domain":["*ppjol.net","*mypressplus.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mypressplus\\.com","load-type":["third-party"],"unless-domain":["*ppjol.net","*mypressplus.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mywebgrocer\\.com","load-type":["third-party"],"unless-domain":["*mywebgrocer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nanigans\\.com","load-type":["third-party"],"unless-domain":["*nanigans.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?postrelease\\.com","load-type":["third-party"],"unless-domain":["*postrelease.com","*nativo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?navdmp\\.com","load-type":["third-party"],"unless-domain":["*navegg.com","*navdmp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?navegg\\.com","load-type":["third-party"],"unless-domain":["*navegg.com","*navdmp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cdnma\\.com","load-type":["third-party"],"unless-domain":["*net-results.com","*nr7.us"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?net-results\\.com","load-type":["third-party"],"unless-domain":["*net-results.com","*nr7.us"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nr7\\.us","load-type":["third-party"],"unless-domain":["*net-results.com","*nr7.us"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netaffiliation\\.com","load-type":["third-party"],"unless-domain":["*netaffiliation.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netbina\\.com","load-type":["third-party"],"unless-domain":["*netbina.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adelixir\\.com","load-type":["third-party"],"unless-domain":["*netelixir.com","*adelixir.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netelixir\\.com","load-type":["third-party"],"unless-domain":["*netelixir.com","*adelixir.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netseer\\.com","load-type":["third-party"],"unless-domain":["*netseer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netshelter\\.com","load-type":["third-party"],"unless-domain":["*ziffdavistech.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netshelter\\.net","load-type":["third-party"],"unless-domain":["*ziffdavistech.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netmining\\.com","load-type":["third-party"],"unless-domain":["*netmining.com","*netmng.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netmng\\.com","load-type":["third-party"],"unless-domain":["*netmining.com","*netmng.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adadvisor\\.net","load-type":["third-party"],"unless-domain":["*neustar.biz","*adadvisor.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?neustar\\.biz","load-type":["third-party"],"unless-domain":["*neustar.biz","*adadvisor.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nexage\\.com","load-type":["third-party"],"unless-domain":["*nexage.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nextperformance\\.com","load-type":["third-party"],"unless-domain":["*nextperf.com","*nextperformance.com","*nxtck.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nxtck\\.com","load-type":["third-party"],"unless-domain":["*nextperf.com","*nextperformance.com","*nxtck.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nextag\\.com","load-type":["third-party"],"unless-domain":["*nextag.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?imrworldwide\\.com","load-type":["third-party"],"unless-domain":["*nielsen.com","*imrworldwide.com","*imrworldwide.net","*glanceguide.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?imrworldwide\\.net","load-type":["third-party"],"unless-domain":["*nielsen.com","*imrworldwide.com","*imrworldwide.net","*glanceguide.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?networkedblogs\\.com","load-type":["third-party"],"unless-domain":["*ninua.com","*networkedblogs.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ninua\\.com","load-type":["third-party"],"unless-domain":["*ninua.com","*networkedblogs.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?noktamedya\\.com","load-type":["third-party"],"unless-domain":["*noktamedya.com","*virgul.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?virgul\\.com","load-type":["third-party"],"unless-domain":["*noktamedya.com","*virgul.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nowspots\\.com","load-type":["third-party"],"unless-domain":["*nowspots.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nuffnang\\.com","load-type":["third-party"],"unless-domain":["*www.nuffnang.com.my","*nuffnang.com","*nuffnang.com.my"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nuffnang\\.com\\.my","load-type":["third-party"],"unless-domain":["*www.nuffnang.com.my","*nuffnang.com","*nuffnang.com.my"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?advg\\.jp","load-type":["third-party"],"unless-domain":["*www.opt.ne.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?opt\\.ne\\.jp","load-type":["third-party"],"unless-domain":["*www.opt.ne.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?p-advg\\.com","load-type":["third-party"],"unless-domain":["*www.opt.ne.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adohana\\.com","load-type":["third-party"],"unless-domain":["*ohana-media.com","*adohana.com","*ohanaqb.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ohana-media\\.com","load-type":["third-party"],"unless-domain":["*ohana-media.com","*adohana.com","*ohanaqb.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ohanaqb\\.com","load-type":["third-party"],"unless-domain":["*ohana-media.com","*adohana.com","*ohanaqb.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?accuenmedia\\.com","load-type":["third-party"],"unless-domain":["*omnicomgroup.com","*accuenmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?omnicomgroup\\.com","load-type":["third-party"],"unless-domain":["*omnicomgroup.com","*accuenmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?p-td\\.com","load-type":["third-party"],"unless-domain":["*omnicomgroup.com","*accuenmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?itsoneiota\\.com","load-type":["third-party"],"unless-domain":["*itsoneiota.com","*oneiota.co.uk"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oneiota\\.co\\.uk","load-type":["third-party"],"unless-domain":["*itsoneiota.com","*oneiota.co.uk"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oneupweb\\.com","load-type":["third-party"],"unless-domain":["*oneupweb.com","*sodoit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sodoit\\.com","load-type":["third-party"],"unless-domain":["*oneupweb.com","*sodoit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?onm\\.de","load-type":["third-party"],"unless-domain":["*onm.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?liftdna\\.com","load-type":["third-party"],"unless-domain":["*openx.com","*openx.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?openx\\.com","load-type":["third-party"],"unless-domain":["*openx.com","*openx.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?openx\\.net","load-type":["third-party"],"unless-domain":["*openx.com","*openx.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?openx\\.org","load-type":["third-party"],"unless-domain":["*openx.com","*openx.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?openxenterprise\\.com","load-type":["third-party"],"unless-domain":["*openx.com","*openx.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?servedbyopenx\\.com","load-type":["third-party"],"unless-domain":["*openx.com","*openx.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mobiletheory\\.com","load-type":["third-party"],"unless-domain":["*opera.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?operamediaworks\\.com","load-type":["third-party"],"unless-domain":["*opera.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?operasoftware\\.com","load-type":["third-party"],"unless-domain":["*opera.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?opera\\.com","load-type":["third-party"],"unless-domain":["*opera.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?optmd\\.com","load-type":["third-party"],"unless-domain":["*optmd.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?optify\\.net","load-type":["third-party"],"unless-domain":["*optify.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cpmadvisors\\.com","load-type":["third-party"],"unless-domain":["*bn.co"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cpmatic\\.com","load-type":["third-party"],"unless-domain":["*bn.co"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nprove\\.com","load-type":["third-party"],"unless-domain":["*bn.co"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?optim\\.al","load-type":["third-party"],"unless-domain":["*bn.co"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?orbengine\\.com","load-type":["third-party"],"unless-domain":["*bn.co"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xa\\.net","load-type":["third-party"],"unless-domain":["*bn.co"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?optimumresponse\\.com","load-type":["third-party"],"unless-domain":["*optimumresponse.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?optnmstr\\.com","load-type":["third-party"],"unless-domain":["*optnmstr.com","*optinmonster.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?optinmonster\\.com","load-type":["third-party"],"unless-domain":["*optnmstr.com","*optinmonster.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?estara\\.com","load-type":["third-party"],"unless-domain":["*oracle.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?orangesoda\\.com","load-type":["third-party"],"unless-domain":["*orangesoda.com","*otracking.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?otracking\\.com","load-type":["third-party"],"unless-domain":["*orangesoda.com","*otracking.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?out-there-media\\.com","load-type":["third-party"],"unless-domain":["*out-there-media.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?outbrain\\.com","load-type":["third-party"],"unless-domain":["*outbrain.com","*sphere.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sphere\\.com","load-type":["third-party"],"unless-domain":["*outbrain.com","*sphere.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dsnextgen\\.com","load-type":["third-party"],"unless-domain":["*oversee.net","*dsnextgen.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oversee\\.net","load-type":["third-party"],"unless-domain":["*oversee.net","*dsnextgen.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?owneriq\\.com","load-type":["third-party"],"unless-domain":["*owneriq.com","*owneriq.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?owneriq\\.net","load-type":["third-party"],"unless-domain":["*owneriq.com","*owneriq.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adconnexa\\.com","load-type":["third-party"],"unless-domain":["*oxamedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsbwm\\.com","load-type":["third-party"],"unless-domain":["*oxamedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oxamedia\\.com","load-type":["third-party"],"unless-domain":["*oxamedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?platform-one\\.co\\.jp","load-type":["third-party"],"unless-domain":["*www.platform-one.co.jp","*platform-one.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pagefair\\.com","load-type":["third-party"],"unless-domain":["*pagefair.com","*pagefair.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pagefair\\.net","load-type":["third-party"],"unless-domain":["*pagefair.com","*pagefair.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?paid-to-promote\\.net","load-type":["third-party"],"unless-domain":["*paid-to-promote.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pardot\\.com","load-type":["third-party"],"unless-domain":["*pardot.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?payhit\\.com","load-type":["third-party"],"unless-domain":["*payhit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lzjl\\.com","load-type":["third-party"],"unless-domain":["*paypopup.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?paypopup\\.com","load-type":["third-party"],"unless-domain":["*paypopup.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?peer39\\.com","load-type":["third-party"],"unless-domain":["*peer39.com","*peer39.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?peer39\\.net","load-type":["third-party"],"unless-domain":["*peer39.com","*peer39.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?peerfly\\.com","load-type":["third-party"],"unless-domain":["*peerfly.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?performancing\\.com","load-type":["third-party"],"unless-domain":["*performancing.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pheedo\\.com","load-type":["third-party"],"unless-domain":["*pheedo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pictela\\.com","load-type":["third-party"],"unless-domain":["*pictela.com","*pictela.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pictela\\.net","load-type":["third-party"],"unless-domain":["*pictela.com","*pictela.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pixel\\.sg","load-type":["third-party"],"unless-domain":["*pixel.sg"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?piximedia\\.com","load-type":["third-party"],"unless-domain":["*piximedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?po\\.st","load-type":["third-party"],"unless-domain":["*po.st"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pocketcents\\.com","load-type":["third-party"],"unless-domain":["*pocketcents.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?polarmobile\\.com","load-type":["third-party"],"unless-domain":["*mediavoice.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediavoice\\.com","load-type":["third-party"],"unless-domain":["*mediavoice.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?politads\\.com","load-type":["third-party"],"unless-domain":["*politads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?getpolymorph\\.com","load-type":["third-party"],"unless-domain":["*getpolymorph.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsnative\\.com","load-type":["third-party"],"unless-domain":["*getpolymorph.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pontiflex\\.com","load-type":["third-party"],"unless-domain":["*pontiflex.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?popads\\.net","load-type":["third-party"],"unless-domain":["*popads.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?popadscdn\\.net","load-type":["third-party"],"unless-domain":["*popads.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gocampaignlive\\.com","load-type":["third-party"],"unless-domain":["*poprule.com","*gocampaignlive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?poprule\\.com","load-type":["third-party"],"unless-domain":["*poprule.com","*gocampaignlive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?popunder\\.ru","load-type":["third-party"],"unless-domain":["*popunder.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?precisionclick\\.com","load-type":["third-party"],"unless-domain":["*precisionclick.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?predictad\\.com","load-type":["third-party"],"unless-domain":["*predictad.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blogads\\.com","load-type":["third-party"],"unless-domain":["*pressflex.com","*blogads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pressflex\\.com","load-type":["third-party"],"unless-domain":["*pressflex.com","*blogads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adcde\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addlvr\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adonnetwork\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adonnetwork\\.net","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtrgt\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bannertgt\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cptgt\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cpvfeed\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cpvtgt\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?popcde\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?primevisibility\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sdfje\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?urtbk\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?proclivitymedia\\.com","load-type":["third-party"],"unless-domain":["*proclivitysystems.com","*pswec.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?proclivitysystems\\.com","load-type":["third-party"],"unless-domain":["*proclivitysystems.com","*pswec.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pswec\\.com","load-type":["third-party"],"unless-domain":["*proclivitysystems.com","*pswec.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?projectwonderful\\.com","load-type":["third-party"],"unless-domain":["*projectwonderful.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?propellerads\\.com","load-type":["third-party"],"unless-domain":["*propellerads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?prosperent\\.com","load-type":["third-party"],"unless-domain":["*prosperent.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?proxilinks\\.com","load-type":["third-party"],"unless-domain":["*proximic.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?proximic\\.com","load-type":["third-party"],"unless-domain":["*proximic.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?proximic\\.net","load-type":["third-party"],"unless-domain":["*proximic.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pubmatic\\.com","load-type":["third-party"],"unless-domain":["*pubmatic.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?revinet\\.com","load-type":["third-party"],"unless-domain":["*pubmatic.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?publicidees\\.com","load-type":["third-party"],"unless-domain":["*publicidees.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pch\\.com","load-type":["third-party"],"unless-domain":["*pch.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?i-behavior\\.com","load-type":["third-party"],"unless-domain":["*quisma.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iaded\\.com","load-type":["third-party"],"unless-domain":["*quisma.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quisma\\.com","load-type":["third-party"],"unless-domain":["*quisma.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quismatch\\.com","load-type":["third-party"],"unless-domain":["*quisma.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xaded\\.com","load-type":["third-party"],"unless-domain":["*quisma.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xmladed\\.com","load-type":["third-party"],"unless-domain":["*quisma.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quakemarketing\\.com","load-type":["third-party"],"unless-domain":["*quakemarketing.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quantcast\\.com","load-type":["third-party"],"unless-domain":["*quantcast.com","*quantserve.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quantserve\\.com","load-type":["third-party"],"unless-domain":["*quantcast.com","*quantserve.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?qnsr\\.com","load-type":["third-party"],"unless-domain":["*quinstreet.com","*thecounter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?qsstats\\.com","load-type":["third-party"],"unless-domain":["*quinstreet.com","*thecounter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quinstreet\\.com","load-type":["third-party"],"unless-domain":["*quinstreet.com","*thecounter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rmbn\\.net","load-type":["third-party"],"unless-domain":["*traforet.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rmbn\\.ru","load-type":["third-party"],"unless-domain":["*traforet.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rmmonline\\.com","load-type":["third-party"],"unless-domain":["*rmmonline.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?matchbin\\.com","load-type":["third-party"],"unless-domain":["*solesolution.com","*gtnetwork.com.au"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?radiatemedia\\.com","load-type":["third-party"],"unless-domain":["*solesolution.com","*gtnetwork.com.au"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gwallet\\.com","load-type":["third-party"],"unless-domain":["*radiumone.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?radiumone\\.com","load-type":["third-party"],"unless-domain":["*radiumone.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?radiusmarketing\\.com","load-type":["third-party"],"unless-domain":["*radiusmarketing.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rambler\\.ru","load-type":["third-party"],"unless-domain":["*rambler.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?liveramp\\.com","load-type":["third-party"],"unless-domain":["*rapleaf.com","*liveramp.com","*rlcdn.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rapleaf\\.com","load-type":["third-party"],"unless-domain":["*rapleaf.com","*liveramp.com","*rlcdn.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rlcdn\\.com","load-type":["third-party"],"unless-domain":["*rapleaf.com","*liveramp.com","*rlcdn.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?retargeter\\.com","load-type":["third-party"],"unless-domain":["*retargeter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reachlocal\\.com","load-type":["third-party"],"unless-domain":["*reachlocal.com","*rlcdn.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rlcdn\\.net","load-type":["third-party"],"unless-domain":["*reachlocal.com","*rlcdn.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?react2media\\.com","load-type":["third-party"],"unless-domain":["*react2media.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reduxmedia\\.com","load-type":["third-party"],"unless-domain":["*reduxmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?convertglobal\\.com","load-type":["third-party"],"unless-domain":["*rekko.com","*convertglobal.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rekko\\.com","load-type":["third-party"],"unless-domain":["*rekko.com","*convertglobal.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reklamstore\\.com","load-type":["third-party"],"unless-domain":["*reklamstore.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reklamport\\.com","load-type":["third-party"],"unless-domain":["*reklamport.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reklamz\\.com","load-type":["third-party"],"unless-domain":["*reklamz.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?relestar\\.com","load-type":["third-party"],"unless-domain":["*relevad.com","*relestar.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?relevad\\.com","load-type":["third-party"],"unless-domain":["*relevad.com","*relestar.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?advertserve\\.com","load-type":["third-party"],"unless-domain":["*renegadeinternet.com","*advertserve.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?renegadeinternet\\.com","load-type":["third-party"],"unless-domain":["*renegadeinternet.com","*advertserve.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?resolutionmedia\\.com","load-type":["third-party"],"unless-domain":["*resolutionmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?resonateinsights\\.com","load-type":["third-party"],"unless-domain":["*resonateinsights.com","*resonatenetworks.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?resonatenetworks\\.com","load-type":["third-party"],"unless-domain":["*resonateinsights.com","*resonatenetworks.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?responsys\\.com","load-type":["third-party"],"unless-domain":["*responsys.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blvdstatus\\.com","load-type":["third-party"],"unless-domain":["*retirement-living.com","*blvdstatus.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?retirement-living\\.com","load-type":["third-party"],"unless-domain":["*retirement-living.com","*blvdstatus.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?revcontent\\.com","load-type":["third-party"],"unless-domain":["*revcontent.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?revenuemax\\.de","load-type":["third-party"],"unless-domain":["*revenuemax.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rhythmnewmedia\\.com","load-type":["third-party"],"unless-domain":["*rhythmone.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rnmd\\.net","load-type":["third-party"],"unless-domain":["*rhythmone.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?1rx\\.io","load-type":["third-party"],"unless-domain":["*rhythmone.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rhythmone\\.com","load-type":["third-party"],"unless-domain":["*rhythmone.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?richrelevance\\.com","load-type":["third-party"],"unless-domain":["*richrelevance.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rightaction\\.com","load-type":["third-party"],"unless-domain":["*rightaction.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rfihub\\.com","load-type":["third-party"],"unless-domain":["*rocketfuel.com","*rfihub.com","*rfihub.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rfihub\\.net","load-type":["third-party"],"unless-domain":["*rocketfuel.com","*rfihub.com","*rfihub.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rocketfuel\\.com","load-type":["third-party"],"unless-domain":["*rocketfuel.com","*rfihub.com","*rfihub.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rovion\\.com","load-type":["third-party"],"unless-domain":["*rovion.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rutarget\\.ru","load-type":["third-party"],"unless-domain":["*rutarget.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aimatch\\.com","load-type":["third-party"],"unless-domain":["*sas.com","*aimatch.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sas\\.com","load-type":["third-party"],"unless-domain":["*sas.com","*aimatch.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reztrack\\.com","load-type":["third-party"],"unless-domain":["*sabre.com","*reztrack.com","*sabrehospitality.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sabre\\.com","load-type":["third-party"],"unless-domain":["*sabre.com","*reztrack.com","*sabrehospitality.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sabrehospitality\\.com","load-type":["third-party"],"unless-domain":["*sabre.com","*reztrack.com","*sabrehospitality.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?salesforce\\.com","load-type":["third-party"],"unless-domain":["*salesforce.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?samurai-factory\\.jp","load-type":["third-party"],"unless-domain":["*samurai-factory.jp","*shinobi.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shinobi\\.jp","load-type":["third-party"],"unless-domain":["*samurai-factory.jp","*shinobi.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bridgetrack\\.com","load-type":["third-party"],"unless-domain":["*sapient.com","*bridgetrack.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sapient\\.com","load-type":["third-party"],"unless-domain":["*sapient.com","*bridgetrack.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?scandinavianadnetworks\\.com","load-type":["third-party"],"unless-domain":["*scandinavianadnetworks.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?scribol\\.com","load-type":["third-party"],"unless-domain":["*scribol.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?searchforce\\.com","load-type":["third-party"],"unless-domain":["*searchforce.com","*searchforce.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?searchforce\\.net","load-type":["third-party"],"unless-domain":["*searchforce.com","*searchforce.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kanoodle\\.com","load-type":["third-party"],"unless-domain":["*kanoodle.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pulse360\\.com","load-type":["third-party"],"unless-domain":["*kanoodle.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?seevast\\.com","load-type":["third-party"],"unless-domain":["*kanoodle.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?syndigonetworks\\.com","load-type":["third-party"],"unless-domain":["*kanoodle.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nabbr\\.com","load-type":["third-party"],"unless-domain":["*selectablemedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?selectablemedia\\.com","load-type":["third-party"],"unless-domain":["*selectablemedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sevenads\\.net","load-type":["third-party"],"unless-domain":["*sevenads.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sexinyourcity\\.com","load-type":["third-party"],"unless-domain":["*sexinyourcity.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shareasale\\.com","load-type":["third-party"],"unless-domain":["*shareasale.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shopzilla\\.com","load-type":["third-party"],"unless-domain":["*shopzilla.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mkt51\\.net","load-type":["third-party"],"unless-domain":["*silverpop.com","*mkt51.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pages05\\.net","load-type":["third-party"],"unless-domain":["*silverpop.com","*mkt51.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?silverpop\\.com","load-type":["third-party"],"unless-domain":["*silverpop.com","*mkt51.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vtrenz\\.net","load-type":["third-party"],"unless-domain":["*silverpop.com","*mkt51.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?simpli\\.fi","load-type":["third-party"],"unless-domain":["*simpli.fi"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sitescout\\.com","load-type":["third-party"],"unless-domain":["*sitescout.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?skimlinks\\.com","load-type":["third-party"],"unless-domain":["*skimlinks.com","*skimresources.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?skimresources\\.com","load-type":["third-party"],"unless-domain":["*skimlinks.com","*skimresources.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adcentriconline\\.com","load-type":["third-party"],"unless-domain":["*skupenet.com","*adcentriconline.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?skupenet\\.com","load-type":["third-party"],"unless-domain":["*skupenet.com","*adcentriconline.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smaato\\.com","load-type":["third-party"],"unless-domain":["*smaato.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smileymedia\\.com","load-type":["third-party"],"unless-domain":["*smileymedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smowtion\\.com","load-type":["third-party"],"unless-domain":["*smowtion.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?snap\\.com","load-type":["third-party"],"unless-domain":["*snap.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?halogenmediagroup\\.com","load-type":["third-party"],"unless-domain":["*socialchorus.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?halogennetwork\\.com","load-type":["third-party"],"unless-domain":["*socialchorus.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?socialchorus\\.com","load-type":["third-party"],"unless-domain":["*socialchorus.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ratevoice\\.com","load-type":["third-party"],"unless-domain":["*socialinterface.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?socialinterface\\.com","load-type":["third-party"],"unless-domain":["*socialinterface.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?socialtwist\\.com","load-type":["third-party"],"unless-domain":["*socialtwist.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?spacechimpmedia\\.com","load-type":["third-party"],"unless-domain":["*spacechimpmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sparkstudios\\.com","load-type":["third-party"],"unless-domain":["*sparkstudios.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbutler\\.com","load-type":["third-party"],"unless-domain":["*sparklit.com","*adbutler.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sparklit\\.com","load-type":["third-party"],"unless-domain":["*sparklit.com","*adbutler.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adviva\\.co\\.uk","load-type":["third-party"],"unless-domain":["*specificmedia.com","*sitemeter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adviva\\.net","load-type":["third-party"],"unless-domain":["*specificmedia.com","*sitemeter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sitemeter\\.com","load-type":["third-party"],"unless-domain":["*specificmedia.com","*sitemeter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?specificclick\\.net","load-type":["third-party"],"unless-domain":["*specificmedia.com","*sitemeter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?specificmedia\\.com","load-type":["third-party"],"unless-domain":["*specificmedia.com","*sitemeter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?specificmedia\\.co\\.uk","load-type":["third-party"],"unless-domain":["*specificmedia.com","*sitemeter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?spectate\\.com","load-type":["third-party"],"unless-domain":["*spectate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?spongegroup\\.com","load-type":["third-party"],"unless-domain":["*spongegroup.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?spongecell\\.com","load-type":["third-party"],"unless-domain":["*spongecell.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sponsorads\\.de","load-type":["third-party"],"unless-domain":["*sponsorads.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?spot200\\.com","load-type":["third-party"],"unless-domain":["*spot200.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?spotxchange\\.com","load-type":["third-party"],"unless-domain":["*spotxchange.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?stargamesaffiliate\\.com","load-type":["third-party"],"unless-domain":["*stargames.net","*stargamesaffiliate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?steelhouse\\.com","load-type":["third-party"],"unless-domain":["*steelhouse.com","*steelhousemedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?steelhousemedia\\.com","load-type":["third-party"],"unless-domain":["*steelhouse.com","*steelhousemedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cams\\.com","load-type":["third-party"],"unless-domain":["*streamray.com","*cams.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?streamray\\.com","load-type":["third-party"],"unless-domain":["*streamray.com","*cams.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?strikead\\.com","load-type":["third-party"],"unless-domain":["*strikead.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?popularmedia\\.com","load-type":["third-party"],"unless-domain":["*strongmail.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?struq\\.com","load-type":["third-party"],"unless-domain":["*struq.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?suite66\\.com","load-type":["third-party"],"unless-domain":["*suite66.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?summitmedia\\.co\\.uk","load-type":["third-party"],"unless-domain":["*www.summit.co.uk","*summitmedia.co.uk"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?supersonicads\\.com","load-type":["third-party"],"unless-domain":["*supersonicads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?switchadhub\\.com","load-type":["third-party"],"unless-domain":["*switchconcepts.com","*switchadhub.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?switchconcepts\\.co\\.uk","load-type":["third-party"],"unless-domain":["*switchconcepts.com","*switchadhub.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?switchconcepts\\.com","load-type":["third-party"],"unless-domain":["*switchconcepts.com","*switchadhub.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ethicalads\\.net","load-type":["third-party"],"unless-domain":["*switchconcepts.com","*switchadhub.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?swoop\\.com","load-type":["third-party"],"unless-domain":["*swoop.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?factortg\\.com","load-type":["third-party"],"unless-domain":["*factortg.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickable\\.net","load-type":["third-party"],"unless-domain":["*syncapse.com","*clickable.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?syncapse\\.com","load-type":["third-party"],"unless-domain":["*syncapse.com","*clickable.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adotsolution\\.com","load-type":["third-party"],"unless-domain":["*adotsolution.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tlvmedia\\.com","load-type":["third-party"],"unless-domain":["*tlvmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?taboola\\.com","load-type":["third-party"],"unless-domain":["*taboola.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?perfectmarket\\.com","load-type":["third-party"],"unless-domain":["*taboola.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tailsweep\\.com","load-type":["third-party"],"unless-domain":["*tailsweep.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tap\\.me","load-type":["third-party"],"unless-domain":["*tap.me"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tapit\\.com","load-type":["third-party"],"unless-domain":["*tapit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tapad\\.com","load-type":["third-party"],"unless-domain":["*tapad.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bizmey\\.com","load-type":["third-party"],"unless-domain":["*tapgage.com","*bizmey.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tapgage\\.com","load-type":["third-party"],"unless-domain":["*tapgage.com","*bizmey.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?targetix\\.net","load-type":["third-party"],"unless-domain":["*targetix.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quicknoodles\\.com","load-type":["third-party"],"unless-domain":["*tattomedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tattomedia\\.com","load-type":["third-party"],"unless-domain":["*tattomedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?teadma\\.com","load-type":["third-party"],"unless-domain":["*teadma.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?teads\\.tv","load-type":["third-party"],"unless-domain":["*teads.tv"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ebuzzing\\.com","load-type":["third-party"],"unless-domain":["*teads.tv"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?technorati\\.com","load-type":["third-party"],"unless-domain":["*technorati.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?technoratimedia\\.com","load-type":["third-party"],"unless-domain":["*technorati.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tellapart\\.com","load-type":["third-party"],"unless-domain":["*tellapart.com","*tellapt.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tellapt\\.com","load-type":["third-party"],"unless-domain":["*tellapart.com","*tellapt.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sensis\\.com\\.au","load-type":["third-party"],"unless-domain":["*telstra.com.au","*sensis.com.au","*sensisdata.com.au"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sensisdata\\.com\\.au","load-type":["third-party"],"unless-domain":["*telstra.com.au","*sensis.com.au","*sensisdata.com.au"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sensisdigitalmedia\\.com\\.au","load-type":["third-party"],"unless-domain":["*telstra.com.au","*sensis.com.au","*sensisdata.com.au"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?telstra\\.com\\.au","load-type":["third-party"],"unless-domain":["*telstra.com.au","*sensis.com.au","*sensisdata.com.au"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eztargetmedia\\.com","load-type":["third-party"],"unless-domain":["*www.terra.com.br","*eztargetmedia.com","*terra.com.br"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?terra\\.com\\.br","load-type":["third-party"],"unless-domain":["*www.terra.com.br","*eztargetmedia.com","*terra.com.br"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hittail\\.com","load-type":["third-party"],"unless-domain":["*thenumagroup.com","*hittail.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thenumagroup\\.com","load-type":["third-party"],"unless-domain":["*thenumagroup.com","*hittail.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rimmkaufman\\.com","load-type":["third-party"],"unless-domain":["*merkleinc.com","*rkdms.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rkdms\\.com","load-type":["third-party"],"unless-domain":["*merkleinc.com","*rkdms.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thesearchagency\\.com","load-type":["third-party"],"unless-domain":["*thesearchagency.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thesearchagency\\.net","load-type":["third-party"],"unless-domain":["*thesearchagency.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsrvr\\.org","load-type":["third-party"],"unless-domain":["*thetradedesk.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thetradedesk\\.com","load-type":["third-party"],"unless-domain":["*thetradedesk.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?echosearch\\.com","load-type":["third-party"],"unless-domain":["*thinkrealtime.com","*echosearch.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?esm1\\.net","load-type":["third-party"],"unless-domain":["*thinkrealtime.com","*echosearch.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thinkrealtime\\.com","load-type":["third-party"],"unless-domain":["*thinkrealtime.com","*echosearch.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?carbonads\\.com","load-type":["third-party"],"unless-domain":["*tinder.com","*carbonads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tinder\\.com","load-type":["third-party"],"unless-domain":["*tinder.com","*carbonads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tiqiq\\.com","load-type":["third-party"],"unless-domain":["*tiqiq.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adternal\\.com","load-type":["third-party"],"unless-domain":["*adternal.com","*tisoomi.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tisoomi\\.com","load-type":["third-party"],"unless-domain":["*adternal.com","*tisoomi.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?todacell\\.com","load-type":["third-party"],"unless-domain":["*todacell.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tonefuse\\.com","load-type":["third-party"],"unless-domain":["*tonefuse.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickfuse\\.com","load-type":["third-party"],"unless-domain":["*clickfuse.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tonemedia\\.com","load-type":["third-party"],"unless-domain":["*clickfuse.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inq\\.com","load-type":["third-party"],"unless-domain":["*nuance.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?touchcommerce\\.com","load-type":["third-party"],"unless-domain":["*nuance.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trackingsoft\\.com","load-type":["third-party"],"unless-domain":["*trackingsoft.com","*roia.biz"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tradetracker\\.com","load-type":["third-party"],"unless-domain":["*tradetracker.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tradetracker\\.net","load-type":["third-party"],"unless-domain":["*tradetracker.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tradedoubler\\.com","load-type":["third-party"],"unless-domain":["*tradedoubler.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?traffichaus\\.com","load-type":["third-party"],"unless-domain":["*traffichaus.com","*traffichouse.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?traffichouse\\.com","load-type":["third-party"],"unless-domain":["*traffichaus.com","*traffichouse.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trafficrevenue\\.net","load-type":["third-party"],"unless-domain":["*trafficrevenue.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?traffiq\\.com","load-type":["third-party"],"unless-domain":["*traffiq.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?traveladnetwork\\.com","load-type":["third-party"],"unless-domain":["*travoramedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?traveladvertising\\.com","load-type":["third-party"],"unless-domain":["*travoramedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?travoramedia\\.com","load-type":["third-party"],"unless-domain":["*travoramedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?scanscout\\.com","load-type":["third-party"],"unless-domain":["*tremorvideo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tmnetads\\.com","load-type":["third-party"],"unless-domain":["*tremorvideo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tremormedia\\.com","load-type":["third-party"],"unless-domain":["*tremorvideo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tremorvideo\\.com","load-type":["third-party"],"unless-domain":["*tremorvideo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tremorhub\\.com","load-type":["third-party"],"unless-domain":["*tremorvideo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?triggit\\.com","load-type":["third-party"],"unless-domain":["*triggit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?3lift\\.com","load-type":["third-party"],"unless-domain":["*triplelift.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?triplelift\\.com","load-type":["third-party"],"unless-domain":["*triplelift.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adlegend\\.com","load-type":["third-party"],"unless-domain":["*trueffect.com","*adlegend.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trueffect\\.com","load-type":["third-party"],"unless-domain":["*trueffect.com","*adlegend.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tmogul\\.com","load-type":["third-party"],"unless-domain":["*tubemogul.com","*tmogul.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tubemogul\\.com","load-type":["third-party"],"unless-domain":["*tubemogul.com","*tmogul.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buzzlogic\\.com","load-type":["third-party"],"unless-domain":["*twelvefold.com","*buzzlogic.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?twelvefold\\.com","load-type":["third-party"],"unless-domain":["*twelvefold.com","*buzzlogic.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?twyn\\.com","load-type":["third-party"],"unless-domain":["*twyn.com","*twyn-group.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?twyn-group\\.com","load-type":["third-party"],"unless-domain":["*twyn.com","*twyn-group.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tyroo\\.com","load-type":["third-party"],"unless-domain":["*tyroo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?upsellit\\.com","load-type":["third-party"],"unless-domain":["*usitechnologies.com","*upsellit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?usitechnologies\\.com","load-type":["third-party"],"unless-domain":["*usitechnologies.com","*upsellit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?unanimis\\.co\\.uk","load-type":["third-party"],"unless-domain":["*www.unanimis.co.uk","*unanimis.co.uk"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?udmserve\\.net","load-type":["third-party"],"unless-domain":["*underdogmedia.com","*udmserve.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?underdogmedia\\.com","load-type":["third-party"],"unless-domain":["*underdogmedia.com","*udmserve.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?undertone\\.com","load-type":["third-party"],"unless-domain":["*undertone.com","*undertonevideo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?undertonenetworks\\.com","load-type":["third-party"],"unless-domain":["*undertone.com","*undertonevideo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?undertonevideo\\.com","load-type":["third-party"],"unless-domain":["*undertone.com","*undertonevideo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?51network\\.com","load-type":["third-party"],"unless-domain":["*uniqlick.com","*51network.com","*wanmo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?uniqlick\\.com","load-type":["third-party"],"unless-domain":["*uniqlick.com","*51network.com","*wanmo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wanmo\\.com","load-type":["third-party"],"unless-domain":["*uniqlick.com","*51network.com","*wanmo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?unrulymedia\\.com","load-type":["third-party"],"unless-domain":["*unrulymedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?valuead\\.com","load-type":["third-party"],"unless-domain":["*valuead.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adserver\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dotomi\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dtmpub\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?emjcd\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fastclick\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fastclick\\.net","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?greystripe\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lduhtrp\\.net","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediaplex\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?valueclick\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?valueclick\\.net","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?valueclickmedia\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amigos\\.com","load-type":["third-party"],"unless-domain":["*various.com","*amigos.com","*getiton.com","*medley.com","*nostringsattached.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?getiton\\.com","load-type":["third-party"],"unless-domain":["*various.com","*amigos.com","*getiton.com","*medley.com","*nostringsattached.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?medley\\.com","load-type":["third-party"],"unless-domain":["*various.com","*amigos.com","*getiton.com","*medley.com","*nostringsattached.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nostringsattached\\.com","load-type":["third-party"],"unless-domain":["*various.com","*amigos.com","*getiton.com","*medley.com","*nostringsattached.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?various\\.com","load-type":["third-party"],"unless-domain":["*various.com","*amigos.com","*getiton.com","*medley.com","*nostringsattached.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vcmedia\\.vn","load-type":["third-party"],"unless-domain":["*vcmedia.vn"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ivdopia\\.com","load-type":["third-party"],"unless-domain":["*vdopia.com","*ivdopia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vdopia\\.com","load-type":["third-party"],"unless-domain":["*vdopia.com","*ivdopia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?veeseo\\.com","load-type":["third-party"],"unless-domain":["*veeseo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsvelocity\\.com","load-type":["third-party"],"unless-domain":["*adsvelocity.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mobclix\\.com","load-type":["third-party"],"unless-domain":["*velti.com","*mobclix.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?velti\\.com","load-type":["third-party"],"unless-domain":["*velti.com","*mobclix.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vemba\\.com","load-type":["third-party"],"unless-domain":["*vemba.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?singlefeed\\.com","load-type":["third-party"],"unless-domain":["*vendio.com","*singlefeed.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vendio\\.com","load-type":["third-party"],"unless-domain":["*vendio.com","*singlefeed.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?veoxa\\.com","load-type":["third-party"],"unless-domain":["*veoxa.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?veremedia\\.com","load-type":["third-party"],"unless-domain":["*veremedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?verticalresponse\\.com","load-type":["third-party"],"unless-domain":["*verticalresponse.com","*vresp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vresp\\.com","load-type":["third-party"],"unless-domain":["*verticalresponse.com","*vresp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intellitxt\\.com","load-type":["third-party"],"unless-domain":["*vibrantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?picadmedia\\.com","load-type":["third-party"],"unless-domain":["*vibrantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vibrantmedia\\.com","load-type":["third-party"],"unless-domain":["*vibrantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?viglink\\.com","load-type":["third-party"],"unless-domain":["*viglink.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?viewablemedia\\.net","load-type":["third-party"],"unless-domain":["*visiblemeasures.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visiblemeasures\\.com","load-type":["third-party"],"unless-domain":["*visiblemeasures.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visbrands\\.com","load-type":["third-party"],"unless-domain":["*visbrands.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vdna-assets\\.com","load-type":["third-party"],"unless-domain":["*visualdna.com","*vdna-assets.com","*visualdna-stats.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visualdna-stats\\.com","load-type":["third-party"],"unless-domain":["*visualdna.com","*vdna-assets.com","*visualdna-stats.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visualdna\\.com","load-type":["third-party"],"unless-domain":["*visualdna.com","*vdna-assets.com","*visualdna-stats.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vizu\\.com","load-type":["third-party"],"unless-domain":["*vizu.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vizury\\.com","load-type":["third-party"],"unless-domain":["*vizury.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vserv\\.com","load-type":["third-party"],"unless-domain":["*vserv.com","*vserv.mobi"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vserv\\.mobi","load-type":["third-party"],"unless-domain":["*vserv.com","*vserv.mobi"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?247realmedia\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?accelerator-media\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?acceleratorusa\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?decdna\\.net","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?decideinteractive\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gmads\\.net","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?groupm\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kantarmedia\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mecglobal\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mindshare\\.nl","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mookie1\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pm14\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?realmedia\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?targ\\.ad","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?themig\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wpp\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xaxis\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?contentwidgets\\.net","load-type":["third-party"],"unless-domain":["*wahoha.com","*contentwidgets.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wahoha\\.com","load-type":["third-party"],"unless-domain":["*wahoha.com","*contentwidgets.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?feedperfect\\.com","load-type":["third-party"],"unless-domain":["*web.com","*feedperfect.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?web\\.com","load-type":["third-party"],"unless-domain":["*web.com","*feedperfect.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webads\\.co\\.uk","load-type":["third-party"],"unless-domain":["*www.webads.co.uk","*webads.co.uk"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webgozar\\.com","load-type":["third-party"],"unless-domain":["*webgozar.com","*webgozar.ir"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webgozar\\.ir","load-type":["third-party"],"unless-domain":["*webgozar.com","*webgozar.ir"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dsmmadvantage\\.com","load-type":["third-party"],"unless-domain":["*revanadigital.com","*dsmmadvantage.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webmetro\\.com","load-type":["third-party"],"unless-domain":["*revanadigital.com","*dsmmadvantage.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?weborama\\.com","load-type":["third-party"],"unless-domain":["*weborama.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?weborama\\.fr","load-type":["third-party"],"unless-domain":["*weborama.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webtraffic\\.no","load-type":["third-party"],"unless-domain":["*webtraffic.se","*webtraffic.no"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webtraffic\\.se","load-type":["third-party"],"unless-domain":["*webtraffic.se","*webtraffic.no"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wiredminds\\.com","load-type":["third-party"],"unless-domain":["*wiredminds.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wiredminds\\.de","load-type":["third-party"],"unless-domain":["*wiredminds.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtotal\\.pl","load-type":["third-party"],"unless-domain":["*wp.pl","*adtotal.pl"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wp\\.pl","load-type":["third-party"],"unless-domain":["*wp.pl","*adtotal.pl"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wishabi\\.com","load-type":["third-party"],"unless-domain":["*wishabi.com","*flipp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wishabi\\.net","load-type":["third-party"],"unless-domain":["*wishabi.com","*flipp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wordstream\\.com","load-type":["third-party"],"unless-domain":["*wordstream.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admanager-xertive\\.com","load-type":["third-party"],"unless-domain":["*xertivemedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xertivemedia\\.com","load-type":["third-party"],"unless-domain":["*xertivemedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adplan-ds\\.com","load-type":["third-party"],"unless-domain":["*adplan-ds.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ydworld\\.com","load-type":["third-party"],"unless-domain":["*ydworld.com","*yieldivision.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldivision\\.com","load-type":["third-party"],"unless-domain":["*ydworld.com","*yieldivision.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yoc\\.com","load-type":["third-party"],"unless-domain":["*yoc.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yoc-performance\\.com","load-type":["third-party"],"unless-domain":["*yoc.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yabuka\\.com","load-type":["third-party"],"unless-domain":["*yabuka.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adinterax\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adrevolver\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bluelithium\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dapper\\.net","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?interclick\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?overture\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rightmedia\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rmxads\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?secure-adserver\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adserver\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?advertising\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marketingsolutions\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thewheelof\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldmanager\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldmanager\\.net","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yldmgrimg\\.net","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?web-visor\\.com","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?moikrug\\.ru","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yandex\\.com","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yandex\\.ru","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yandex\\.st","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yandex\\.ua","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yandex\\.com\\.tr","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yandex\\.by","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addynamix\\.com","load-type":["third-party"],"unless-domain":["*brightcom.com","*addynamix.com","*luj.sdsjweb.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adserverplus\\.com","load-type":["third-party"],"unless-domain":["*brightcom.com","*addynamix.com","*luj.sdsjweb.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oridian\\.com","load-type":["third-party"],"unless-domain":["*brightcom.com","*addynamix.com","*luj.sdsjweb.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ybrantdigital\\.com","load-type":["third-party"],"unless-domain":["*brightcom.com","*addynamix.com","*luj.sdsjweb.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?attracto\\.com","load-type":["third-party"],"unless-domain":["*yhmg.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickhype\\.com","load-type":["third-party"],"unless-domain":["*yhmg.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yellowhammermg\\.com","load-type":["third-party"],"unless-domain":["*yhmg.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yhmg\\.com","load-type":["third-party"],"unless-domain":["*yhmg.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yesads\\.com","load-type":["third-party"],"unless-domain":["*yesads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldads\\.com","load-type":["third-party"],"unless-domain":["*yieldads.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ybx\\.io","load-type":["third-party"],"unless-domain":["*ybx.io"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldbuild\\.com","load-type":["third-party"],"unless-domain":["*yieldbuild.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldlab\\.de","load-type":["third-party"],"unless-domain":["*yieldlab.de","*yieldlab.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldlab\\.net","load-type":["third-party"],"unless-domain":["*yieldlab.de","*yieldlab.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldmo\\.com","load-type":["third-party"],"unless-domain":["*yieldmo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yoggrt\\.com","load-type":["third-party"],"unless-domain":["*yoggrt.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yume\\.com","load-type":["third-party"],"unless-domain":["*yume.com","*yumenetworks.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yumenetworks\\.com","load-type":["third-party"],"unless-domain":["*yume.com","*yumenetworks.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zedo\\.com","load-type":["third-party"],"unless-domain":["*zedo.com","*zincx.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zincx\\.com","load-type":["third-party"],"unless-domain":["*zedo.com","*zincx.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?metricsdirect\\.com","load-type":["third-party"],"unless-domain":["*zango.com","*metricsdirect.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zango\\.com","load-type":["third-party"],"unless-domain":["*zango.com","*metricsdirect.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zemanta\\.com","load-type":["third-party"],"unless-domain":["*zemanta.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zestad\\.com","load-type":["third-party"],"unless-domain":["*zestad.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?insightgrit\\.com","load-type":["third-party"],"unless-domain":["*zetaemailsolutions.com","*insightgrit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zetaemailsolutions\\.com","load-type":["third-party"],"unless-domain":["*zetaemailsolutions.com","*insightgrit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zumobi\\.com","load-type":["third-party"],"unless-domain":["*zumobi.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zypmedia\\.com","load-type":["third-party"],"unless-domain":["*zypmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ru4\\.com","load-type":["third-party"],"unless-domain":["*xplusone.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xplusone\\.com","load-type":["third-party"],"unless-domain":["*xplusone.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adpepper\\.com","load-type":["third-party"],"unless-domain":["*adpepper.us","*adpepper.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adpepper\\.us","load-type":["third-party"],"unless-domain":["*adpepper.us","*adpepper.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ad6media\\.fr","load-type":["third-party"],"unless-domain":["*ad6media.fr"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbrite\\.com","load-type":["third-party"],"unless-domain":["*adbrite.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adprs\\.net","load-type":["third-party"],"unless-domain":["*adprecision.net","*adprs.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aprecision\\.net","load-type":["third-party"],"unless-domain":["*adprecision.net","*adprs.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addgloo\\.com","load-type":["third-party"],"unless-domain":["*addgloo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adhood\\.com","load-type":["third-party"],"unless-domain":["*adhood.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adnologies\\.com","load-type":["third-party"],"unless-domain":["*adnologies.com","*heias.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?heias\\.com","load-type":["third-party"],"unless-domain":["*adnologies.com","*heias.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adrolays\\.com","load-type":["third-party"],"unless-domain":["*contactimpact.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adrolays\\.de","load-type":["third-party"],"unless-domain":["*contactimpact.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adscale\\.de","load-type":["third-party"],"unless-domain":["*stroeer.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adyard\\.de","load-type":["third-party"],"unless-domain":["*adyard.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adzly\\.com","load-type":["third-party"],"unless-domain":["*adzly.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?affili\\.net","load-type":["third-party"],"unless-domain":["*affili.net","*affilinet-inside.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?affilinet-inside\\.de","load-type":["third-party"],"unless-domain":["*affili.net","*affilinet-inside.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?banner-rotation\\.com","load-type":["third-party"],"unless-domain":["*affili.net","*affilinet-inside.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?successfultogether\\.co\\.uk","load-type":["third-party"],"unless-domain":["*affili.net","*affilinet-inside.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?appssavvy\\.com","load-type":["third-party"],"unless-domain":["*appssavvy.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?beencounter\\.com","load-type":["third-party"],"unless-domain":["*beencounter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbutler\\.de","load-type":["third-party"],"unless-domain":["*belboon.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?belboon\\.com","load-type":["third-party"],"unless-domain":["*belboon.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bigmir\\.net","load-type":["third-party"],"unless-domain":["*bigmir.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cxense\\.com","load-type":["third-party"],"unless-domain":["*cxense.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adxpose\\.com","load-type":["third-party"],"unless-domain":["*comscore.com","*adxpose.com","*scorecardresearch.com","*sitestat.com","*voicefive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dianomi\\.com","load-type":["third-party"],"unless-domain":["*dianomi.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ebay\\.com","load-type":["third-party"],"unless-domain":["*ebay.com","*ebay.at","*ebay.ba","*ebay.be","*ebay.com.au","*ebay.ca","*ebay.ch","*ebay.cn","*ebay.de","*ebay.es","*ebay.fr","*ebay.com.hk","*ebay.ie","*ebay.in","*ebay.it","*ebay.co.jp","*ebay.co.kr","*ebay.com.my","*ebay.nl","*ebay.com.ph","*ebay.pl","*ebay.com.sg","*ebay.com.tw","*ebay.co.uk","*gopjn.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gopjn\\.com","load-type":["third-party"],"unless-domain":["*ebay.com","*ebay.at","*ebay.ba","*ebay.be","*ebay.com.au","*ebay.ca","*ebay.ch","*ebay.cn","*ebay.de","*ebay.es","*ebay.fr","*ebay.com.hk","*ebay.ie","*ebay.in","*ebay.it","*ebay.co.jp","*ebay.co.kr","*ebay.com.my","*ebay.nl","*ebay.com.ph","*ebay.pl","*ebay.com.sg","*ebay.com.tw","*ebay.co.uk","*gopjn.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?etrigue\\.com","load-type":["third-party"],"unless-domain":["*etrigue.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ewaydirect\\.com","load-type":["third-party"],"unless-domain":["*ewaydirect.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ixs1\\.net","load-type":["third-party"],"unless-domain":["*ewaydirect.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?exelate\\.com","load-type":["third-party"],"unless-domain":["*exelate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?exelator\\.com","load-type":["third-party"],"unless-domain":["*exelate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?e-kolay\\.net","load-type":["third-party"],"unless-domain":["*hurriyet.com.tr"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ekolay\\.net","load-type":["third-party"],"unless-domain":["*hurriyet.com.tr"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bnmla\\.com","load-type":["third-party"],"unless-domain":["*engagebdr.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?engagebdr\\.com","load-type":["third-party"],"unless-domain":["*engagebdr.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?777seo\\.com","load-type":["third-party"],"unless-domain":["*ewebse.com","*777seo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ewebse\\.com","load-type":["third-party"],"unless-domain":["*ewebse.com","*777seo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?excitad\\.com","load-type":["third-party"],"unless-domain":["*excitad.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?expo-max\\.com","load-type":["third-party"],"unless-domain":["*expo-max.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eyereturn\\.com","load-type":["third-party"],"unless-domain":["*eyereturnmarketing.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eyereturnmarketing\\.com","load-type":["third-party"],"unless-domain":["*eyereturnmarketing.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?faithadnet\\.com","load-type":["third-party"],"unless-domain":["*faithadnet.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?600z\\.com","load-type":["third-party"],"unless-domain":["*ientry.com","*600z.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ientry\\.com","load-type":["third-party"],"unless-domain":["*ientry.com","*600z.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?centraliprom\\.com","load-type":["third-party"],"unless-domain":["*iprom.si","*centraliprom.com","*iprom.net","*mediaiprom.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iprom\\.net","load-type":["third-party"],"unless-domain":["*iprom.si","*centraliprom.com","*iprom.net","*mediaiprom.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iprom\\.si","load-type":["third-party"],"unless-domain":["*iprom.si","*centraliprom.com","*iprom.net","*mediaiprom.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediaiprom\\.com","load-type":["third-party"],"unless-domain":["*iprom.si","*centraliprom.com","*iprom.net","*mediaiprom.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ipromote\\.com","load-type":["third-party"],"unless-domain":["*ipromote.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iprospect\\.com","load-type":["third-party"],"unless-domain":["*iprospect.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickmanage\\.com","load-type":["third-party"],"unless-domain":["*iprospect.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inner-active\\.com","load-type":["third-party"],"unless-domain":["*inner-active.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsbyisocket\\.com","load-type":["third-party"],"unless-domain":["*isocket.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?isocket\\.com","load-type":["third-party"],"unless-domain":["*isocket.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?m6d\\.com","load-type":["third-party"],"unless-domain":["*dstillery.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?media6degrees\\.com","load-type":["third-party"],"unless-domain":["*dstillery.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?madvertise\\.com","load-type":["third-party"],"unless-domain":["*madvertise.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mashero\\.com","load-type":["third-party"],"unless-domain":["*mashero.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?media\\.net","load-type":["third-party"],"unless-domain":["*media.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediaforge\\.com","load-type":["third-party"],"unless-domain":["*mediaforge.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mythings\\.com","load-type":["third-party"],"unless-domain":["*mythings.com","*mythingsmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mythingsmedia\\.com","load-type":["third-party"],"unless-domain":["*mythings.com","*mythingsmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?newtention\\.de","load-type":["third-party"],"unless-domain":["*newtention.de","*newtention.net","*newtentionassets.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?newtention\\.net","load-type":["third-party"],"unless-domain":["*newtention.de","*newtention.net","*newtentionassets.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?newtentionassets\\.net","load-type":["third-party"],"unless-domain":["*newtention.de","*newtention.net","*newtentionassets.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nrelate\\.com","load-type":["third-party"],"unless-domain":["*nrelate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nugg\\.ad","load-type":["third-party"],"unless-domain":["*nugg.ad"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nuggad\\.net","load-type":["third-party"],"unless-domain":["*nugg.ad"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?onad\\.eu","load-type":["third-party"],"unless-domain":["*onad.eu"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?plista\\.com","load-type":["third-party"],"unless-domain":["*plista.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quadrantone\\.com","load-type":["third-party"],"unless-domain":["*quadrantone.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sociomantic\\.com","load-type":["third-party"],"unless-domain":["*sociomantic.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sophus3\\.co\\.uk","load-type":["third-party"],"unless-domain":["*sophus3.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sophus3\\.com","load-type":["third-party"],"unless-domain":["*sophus3.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ucoz\\.ae","load-type":["third-party"],"unless-domain":["*ucoz.com","*ucoz.ae","*ucoz.fr","*ucoz.net","*ucoz.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ucoz\\.br","load-type":["third-party"],"unless-domain":["*ucoz.com","*ucoz.ae","*ucoz.fr","*ucoz.net","*ucoz.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ucoz\\.com","load-type":["third-party"],"unless-domain":["*ucoz.com","*ucoz.ae","*ucoz.fr","*ucoz.net","*ucoz.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ucoz\\.du","load-type":["third-party"],"unless-domain":["*ucoz.com","*ucoz.ae","*ucoz.fr","*ucoz.net","*ucoz.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ucoz\\.fr","load-type":["third-party"],"unless-domain":["*ucoz.com","*ucoz.ae","*ucoz.fr","*ucoz.net","*ucoz.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ucoz\\.net","load-type":["third-party"],"unless-domain":["*ucoz.com","*ucoz.ae","*ucoz.fr","*ucoz.net","*ucoz.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ucoz\\.ru","load-type":["third-party"],"unless-domain":["*ucoz.com","*ucoz.ae","*ucoz.fr","*ucoz.net","*ucoz.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?up-value\\.de","load-type":["third-party"],"unless-domain":["*up-value.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xad\\.com","load-type":["third-party"],"unless-domain":["*xad.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xplosion\\.de","load-type":["third-party"],"unless-domain":["*xplosion.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?youknowbest\\.com","load-type":["third-party"],"unless-domain":["*youknowbest.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buy\\.at","load-type":["third-party"],"unless-domain":["*zanox.com","*buy.at","*zanox-affiliate.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zanox-affiliate\\.de","load-type":["third-party"],"unless-domain":["*zanox.com","*buy.at","*zanox-affiliate.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zanox\\.com","load-type":["third-party"],"unless-domain":["*zanox.com","*buy.at","*zanox-affiliate.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zaparena\\.com","load-type":["third-party"],"unless-domain":["*zapunited.com","*zaparena.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zapunited\\.com","load-type":["third-party"],"unless-domain":["*zapunited.com","*zaparena.com"]}}] \ No newline at end of file diff --git a/Client/Frontend/ContentBlocker/Lists/disconnect-analytics.json b/Client/Frontend/ContentBlocker/Lists/disconnect-analytics.json new file mode 100755 index 000000000..55a47413d --- /dev/null +++ b/Client/Frontend/ContentBlocker/Lists/disconnect-analytics.json @@ -0,0 +1,259 @@ +[ +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?63squares\\.com","load-type":["third-party"],"unless-domain":["*63labs.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?i-stats\\.com","load-type":["third-party"],"unless-domain":["*63labs.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?atinternet\\.com","load-type":["third-party"],"unless-domain":["*atinternet.com","*hit-parade.com","*xiti.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xiti\\.com","load-type":["third-party"],"unless-domain":["*atinternet.com","*hit-parade.com","*xiti.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?acxiom\\.com","load-type":["third-party"],"unless-domain":["*acxiom.com","*mm7.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mm7\\.net","load-type":["third-party"],"unless-domain":["*acxiom.com","*mm7.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?acxiomapac\\.com","load-type":["third-party"],"unless-domain":["*acxiom.com","*mm7.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?3dstats\\.com","load-type":["third-party"],"unless-domain":["*addfreestats.com","*3dstats.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addfreestats\\.com","load-type":["third-party"],"unless-domain":["*addfreestats.com","*3dstats.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adlooxtracking\\.com","load-type":["third-party"],"unless-domain":["*adloox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adloox\\.com","load-type":["third-party"],"unless-domain":["*adloox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adobedtm\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adventori\\.com","load-type":["third-party"],"unless-domain":["*adventori.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amadesa\\.com","load-type":["third-party"],"unless-domain":["*amadesa.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazingcounters\\.com","load-type":["third-party"],"unless-domain":["*amazingcounters.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?alexametrics\\.com","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?attracta\\.com","load-type":["third-party"],"unless-domain":["*attracta.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?polldaddy\\.com","load-type":["third-party"],"unless-domain":["*automattic.com","*polldaddy.com","*gravatar.com","*intensedebate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?awio\\.com","load-type":["third-party"],"unless-domain":["*awio.com","*w3counter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?w3counter\\.com","load-type":["third-party"],"unless-domain":["*awio.com","*w3counter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?w3roi\\.com","load-type":["third-party"],"unless-domain":["*awio.com","*w3counter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?belstat\\.be","load-type":["third-party"],"unless-domain":["*belstat.com","*belstat.be","*belstat.de","*belstat.fr","*belstat.nl"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?belstat\\.com","load-type":["third-party"],"unless-domain":["*belstat.com","*belstat.be","*belstat.de","*belstat.fr","*belstat.nl"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?belstat\\.de","load-type":["third-party"],"unless-domain":["*belstat.com","*belstat.be","*belstat.de","*belstat.fr","*belstat.nl"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?belstat\\.fr","load-type":["third-party"],"unless-domain":["*belstat.com","*belstat.be","*belstat.de","*belstat.fr","*belstat.nl"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?belstat\\.nl","load-type":["third-party"],"unless-domain":["*belstat.com","*belstat.be","*belstat.de","*belstat.fr","*belstat.nl"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blogcounter\\.de","load-type":["third-party"],"unless-domain":["*blogcounter.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bluemetrix\\.com","load-type":["third-party"],"unless-domain":["*bluemetrix.com","*bmmetrix.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bmmetrix\\.com","load-type":["third-party"],"unless-domain":["*bluemetrix.com","*bmmetrix.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?branica\\.com","load-type":["third-party"],"unless-domain":["*branica.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brightedge\\.com","load-type":["third-party"],"unless-domain":["*brightedge.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bubblestat\\.com","load-type":["third-party"],"unless-domain":["*bubblestat.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?attributionmodel\\.com","load-type":["third-party"],"unless-domain":["*c3metrics.com","*attributionmodel.com","*c3tag.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?c3metrics\\.com","load-type":["third-party"],"unless-domain":["*c3metrics.com","*attributionmodel.com","*c3tag.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?c3tag\\.com","load-type":["third-party"],"unless-domain":["*c3metrics.com","*attributionmodel.com","*c3tag.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cnzz\\.com","load-type":["third-party"],"unless-domain":["*cnzz.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chartbeat\\.com","load-type":["third-party"],"unless-domain":["*chartbeat.com","*chartbeat.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chartbeat\\.net","load-type":["third-party"],"unless-domain":["*chartbeat.com","*chartbeat.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clicktale\\.com","load-type":["third-party"],"unless-domain":["*clicktale.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clicktale\\.net","load-type":["third-party"],"unless-domain":["*clicktale.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pantherssl\\.com","load-type":["third-party"],"unless-domain":["*clicktale.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickdensity\\.com","load-type":["third-party"],"unless-domain":["*clickdensity.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clixmetrix\\.com","load-type":["third-party"],"unless-domain":["*clixmetrix.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clixpy\\.com","load-type":["third-party"],"unless-domain":["*clixpy.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clustrmaps\\.com","load-type":["third-party"],"unless-domain":["*clustrmaps.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?axf8\\.net","load-type":["third-party"],"unless-domain":["*compuware.com","*axf8.net","*dynatrace.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?compuware\\.com","load-type":["third-party"],"unless-domain":["*compuware.com","*axf8.net","*dynatrace.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gomez\\.com","load-type":["third-party"],"unless-domain":["*compuware.com","*axf8.net","*dynatrace.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?connexity\\.com","load-type":["third-party"],"unless-domain":["*connexity.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?connexity\\.net","load-type":["third-party"],"unless-domain":["*connexity.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zmedia\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?conversantmedia\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?convert\\.com","load-type":["third-party"],"unless-domain":["*convert.com","*reedge.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reedge\\.com","load-type":["third-party"],"unless-domain":["*convert.com","*reedge.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?convertro\\.com","load-type":["third-party"],"unless-domain":["*convertro.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cetrk\\.com","load-type":["third-party"],"unless-domain":["*crazyegg.com","*cetrk.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crazyegg\\.com","load-type":["third-party"],"unless-domain":["*crazyegg.com","*cetrk.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crowdscience\\.com","load-type":["third-party"],"unless-domain":["*crowdscience.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cya2\\.net","load-type":["third-party"],"unless-domain":["*cya2.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?collserve\\.com","load-type":["third-party"],"unless-domain":["*ihs.com","*collserve.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dataium\\.com","load-type":["third-party"],"unless-domain":["*ihs.com","*collserve.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?deepintent\\.com","load-type":["third-party"],"unless-domain":["*deepintent.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?demandbase\\.com","load-type":["third-party"],"unless-domain":["*demandbase.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ipcounter\\.de","load-type":["third-party"],"unless-domain":["*directcorp.de","*ipcounter.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trackersimulator\\.org","load-type":["third-party"],"unless-domain":["*eff.org","*trackersimulator.org","*eviltracker.net","*do-not-tracker.org"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eviltracker\\.net","load-type":["third-party"],"unless-domain":["*eff.org","*trackersimulator.org","*eviltracker.net","*do-not-tracker.org"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?do-not-tracker\\.org","load-type":["third-party"],"unless-domain":["*eff.org","*trackersimulator.org","*eviltracker.net","*do-not-tracker.org"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eloqua\\.com","load-type":["third-party"],"unless-domain":["*eloqua.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?encoremetrics\\.com","load-type":["third-party"],"unless-domain":["*encoremetrics.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sitecompass\\.com","load-type":["third-party"],"unless-domain":["*encoremetrics.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eulerian\\.com","load-type":["third-party"],"unless-domain":["*eulerian.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eulerian\\.net","load-type":["third-party"],"unless-domain":["*eulerian.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?feedjit\\.com","load-type":["third-party"],"unless-domain":["*feedjit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?footprintlive\\.com","load-type":["third-party"],"unless-domain":["*footprintlive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?freeonlineusers\\.com","load-type":["third-party"],"unless-domain":["*freeonlineusers.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?free-pagerank\\.com","load-type":["third-party"],"unless-domain":["*free-pagerank.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fullstory\\.com","load-type":["third-party"],"unless-domain":["*fullstory.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gtop\\.ro","load-type":["third-party"],"unless-domain":["*arenaweb.ro"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gtopstats\\.com","load-type":["third-party"],"unless-domain":["*arenaweb.ro"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?getsitecontrol\\.com","load-type":["third-party"],"unless-domain":["*getsitecontrol.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?daphnecm\\.com","load-type":["third-party"],"unless-domain":["*gfk.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gfk\\.com","load-type":["third-party"],"unless-domain":["*gfk.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gfkdaphne\\.com","load-type":["third-party"],"unless-domain":["*gfk.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gaug\\.es","load-type":["third-party"],"unless-domain":["*github.com","*gaug.es"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?godaddy\\.com","load-type":["third-party"],"unless-domain":["*godaddy.com","*trafficfacts.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trafficfacts\\.com","load-type":["third-party"],"unless-domain":["*godaddy.com","*trafficfacts.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gosquared\\.com","load-type":["third-party"],"unless-domain":["*gosquared.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gostats\\.com","load-type":["third-party"],"unless-domain":["*gostats.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google-analytics\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?postrank\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?raasnet\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?redaril\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?histats\\.com","load-type":["third-party"],"unless-domain":["*histats.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hitsniffer\\.com","load-type":["third-party"],"unless-domain":["*hitsniffer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hitslink\\.com","load-type":["third-party"],"unless-domain":["*hitslink.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hotjar\\.com","load-type":["third-party"],"unless-domain":["*hotjar.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hs-analytics\\.net","load-type":["third-party"],"unless-domain":["*hubspot.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cmcore\\.com","load-type":["third-party"],"unless-domain":["*ibm.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?coremetrics\\.com","load-type":["third-party"],"unless-domain":["*ibm.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ibm\\.com","load-type":["third-party"],"unless-domain":["*ibm.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?infonline\\.de","load-type":["third-party"],"unless-domain":["*infonline.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ivwbox\\.de","load-type":["third-party"],"unless-domain":["*infonline.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ioam\\.de","load-type":["third-party"],"unless-domain":["*infonline.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?enquisite\\.com","load-type":["third-party"],"unless-domain":["*inboundwriter.com","*enquisite.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inboundwriter\\.com","load-type":["third-party"],"unless-domain":["*inboundwriter.com","*enquisite.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hotlog\\.ru","load-type":["third-party"],"unless-domain":["*infostars.ru","*hotlog.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?infostars\\.ru","load-type":["third-party"],"unless-domain":["*infostars.ru","*hotlog.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inspectlet\\.com","load-type":["third-party"],"unless-domain":["*inspectlet.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?domodomain\\.com","load-type":["third-party"],"unless-domain":["*intelligencefocus.com","*leadchampion.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intelligencefocus\\.com","load-type":["third-party"],"unless-domain":["*intelligencefocus.com","*leadchampion.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intercom\\.io","load-type":["third-party"],"unless-domain":["*intercom.io"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?itisatracker\\.com","load-type":["third-party"],"unless-domain":["*itisatracker.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kissmetrics\\.com","load-type":["third-party"],"unless-domain":["*kissmetrics.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?keymetric\\.net","load-type":["third-party"],"unless-domain":["*keymetric.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?src\\.kitcode\\.net","load-type":["third-party"],"unless-domain":["*src.kitcode.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?linezing\\.com","load-type":["third-party"],"unless-domain":["*linezing.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?liveperson\\.com","load-type":["third-party"],"unless-domain":["*liveperson.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nuconomy\\.com","load-type":["third-party"],"unless-domain":["*liveperson.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?logdy\\.com","load-type":["third-party"],"unless-domain":["*logdy.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crwdcntrl\\.net","load-type":["third-party"],"unless-domain":["*lotame.com","*crwdcntrl.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lotame\\.com","load-type":["third-party"],"unless-domain":["*lotame.com","*crwdcntrl.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lynchpin\\.com","load-type":["third-party"],"unless-domain":["*lynchpin.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lypn\\.com","load-type":["third-party"],"unless-domain":["*lynchpin.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clicktracks\\.com","load-type":["third-party"],"unless-domain":["*aurea.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lyris\\.com","load-type":["third-party"],"unless-domain":["*aurea.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lytiks\\.com","load-type":["third-party"],"unless-domain":["*lytiks.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?markmonitor\\.com","load-type":["third-party"],"unless-domain":["*markmonitor.com","*9c9media.ca"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?9c9media\\.ca","load-type":["third-party"],"unless-domain":["*markmonitor.com","*9c9media.ca"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marktest\\.com","load-type":["third-party"],"unless-domain":["*marktest.com","*marktest.pt"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marktest\\.pt","load-type":["third-party"],"unless-domain":["*marktest.com","*marktest.pt"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?maxymiser\\.com","load-type":["third-party"],"unless-domain":["*maxymiser.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?meetrics\\.de","load-type":["third-party"],"unless-domain":["*meetrics.com","*de.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?meetrics\\.net","load-type":["third-party"],"unless-domain":["*meetrics.com","*de.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?research\\.de\\.com","load-type":["third-party"],"unless-domain":["*meetrics.com","*de.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mixpanel\\.com","load-type":["third-party"],"unless-domain":["*mixpanel.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mxpnl\\.com","load-type":["third-party"],"unless-domain":["*mixpanel.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mongoosemetrics\\.com","load-type":["third-party"],"unless-domain":["*mongoosemetrics.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?monitus\\.net","load-type":["third-party"],"unless-domain":["*monitus.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mouseflow\\.com","load-type":["third-party"],"unless-domain":["*mouseflow.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mypagerank\\.net","load-type":["third-party"],"unless-domain":["*mypagerank.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?estat\\.com","load-type":["third-party"],"unless-domain":["*mediametrie-estat.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediametrie-estat\\.com","load-type":["third-party"],"unless-domain":["*mediametrie-estat.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hitsprocessor\\.com","load-type":["third-party"],"unless-domain":["*netapplications.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netapplications\\.com","load-type":["third-party"],"unless-domain":["*netapplications.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?newrelic\\.com","load-type":["third-party"],"unless-domain":["*newrelic.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nr-data\\.net","load-type":["third-party"],"unless-domain":["*newrelic.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?apnewsregistry\\.com","load-type":["third-party"],"unless-domain":["*newsright.com","*apnewsregistry.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nextstat\\.com","load-type":["third-party"],"unless-domain":["*nextstat.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?glanceguide\\.com","load-type":["third-party"],"unless-domain":["*nielsen.com","*imrworldwide.com","*imrworldwide.net","*glanceguide.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nielsen\\.com","load-type":["third-party"],"unless-domain":["*nielsen.com","*imrworldwide.com","*imrworldwide.net","*glanceguide.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?observerapp\\.com","load-type":["third-party"],"unless-domain":["*observerapp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?onestat\\.com","load-type":["third-party"],"unless-domain":["*onestat.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?openstat\\.ru","load-type":["third-party"],"unless-domain":["*openstat.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?spylog\\.com","load-type":["third-party"],"unless-domain":["*openstat.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?opentracker\\.net","load-type":["third-party"],"unless-domain":["*opentracker.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?persianstat\\.com","load-type":["third-party"],"unless-domain":["*persianstat.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?phonalytics\\.com","load-type":["third-party"],"unless-domain":["*phonalytics.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?piwik\\.org","load-type":["third-party"],"unless-domain":["*piwik.org"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pronunciator\\.com","load-type":["third-party"],"unless-domain":["*pronunciator.com","*visitorville.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visitorville\\.com","load-type":["third-party"],"unless-domain":["*pronunciator.com","*visitorville.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?protected\\.media","load-type":["third-party"],"unless-domain":["*protected.media","*ad-score.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ad-score\\.com","load-type":["third-party"],"unless-domain":["*protected.media","*ad-score.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kissinsights\\.com","load-type":["third-party"],"unless-domain":["*qualaroo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?qualaroo\\.com","load-type":["third-party"],"unless-domain":["*qualaroo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thecounter\\.com","load-type":["third-party"],"unless-domain":["*quinstreet.com","*thecounter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quintelligence\\.com","load-type":["third-party"],"unless-domain":["*quintelligence.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?radarurl\\.com","load-type":["third-party"],"unless-domain":["*radarurl.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?researchnow\\.com","load-type":["third-party"],"unless-domain":["*researchnow.com","*valuedopinions.co.uk"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?valuedopinions\\.co\\.uk","load-type":["third-party"],"unless-domain":["*researchnow.com","*valuedopinions.co.uk"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?revtrax\\.com","load-type":["third-party"],"unless-domain":["*revtrax.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ringier\\.cz","load-type":["third-party"],"unless-domain":["*ringier.cz"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?getclicky\\.com","load-type":["third-party"],"unless-domain":["*roxr.net","*clicky.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?roxr\\.net","load-type":["third-party"],"unless-domain":["*roxr.net","*clicky.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?staticstuff\\.net","load-type":["third-party"],"unless-domain":["*roxr.net","*clicky.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?statsit\\.com","load-type":["third-party"],"unless-domain":["*statsit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dl-rms\\.com","load-type":["third-party"],"unless-domain":["*safecount.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dlqm\\.net","load-type":["third-party"],"unless-domain":["*safecount.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?questionmarket\\.com","load-type":["third-party"],"unless-domain":["*safecount.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?safecount\\.net","load-type":["third-party"],"unless-domain":["*safecount.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sageanalyst\\.net","load-type":["third-party"],"unless-domain":["*sagemetrics.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sagemetrics\\.com","load-type":["third-party"],"unless-domain":["*sagemetrics.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?seevolution\\.com","load-type":["third-party"],"unless-domain":["*seevolution.com","*svlu.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?svlu\\.net","load-type":["third-party"],"unless-domain":["*seevolution.com","*svlu.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?segment\\.io","load-type":["third-party"],"unless-domain":["*segment.io"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sessioncam\\.com","load-type":["third-party"],"unless-domain":["*sessioncam.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shinystat\\.com","load-type":["third-party"],"unless-domain":["*shinystat.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shorte\\.st","load-type":["third-party"],"unless-domain":["*shorte.st"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smartlook\\.com","load-type":["third-party"],"unless-domain":["*smartlook.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?snoobi\\.com","load-type":["third-party"],"unless-domain":["*snoobi.fi"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?go-mpulse\\.net","load-type":["third-party"],"unless-domain":["*go-mpulse.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?statcounter\\.com","load-type":["third-party"],"unless-domain":["*statcounter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?statisfy\\.net","load-type":["third-party"],"unless-domain":["*statisfy.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?stratigent\\.com","load-type":["third-party"],"unless-domain":["*stratigent.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tensquare\\.com","load-type":["third-party"],"unless-domain":["*tensquare.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sesamestats\\.com","load-type":["third-party"],"unless-domain":["*tnsglobal.com","*statistik-gallup.net","*tns-counter.ru","*tns-cs.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?statistik-gallup\\.net","load-type":["third-party"],"unless-domain":["*tnsglobal.com","*statistik-gallup.net","*tns-counter.ru","*tns-cs.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tns-counter\\.ru","load-type":["third-party"],"unless-domain":["*tnsglobal.com","*statistik-gallup.net","*tns-counter.ru","*tns-cs.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tns-cs\\.net","load-type":["third-party"],"unless-domain":["*tnsglobal.com","*statistik-gallup.net","*tns-counter.ru","*tns-cs.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tnsglobal\\.com","load-type":["third-party"],"unless-domain":["*tnsglobal.com","*statistik-gallup.net","*tns-counter.ru","*tns-cs.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?heronpartners\\.com\\.au","load-type":["third-party"],"unless-domain":["*marinsm.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marinsm\\.com","load-type":["third-party"],"unless-domain":["*marinsm.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?roia\\.biz","load-type":["third-party"],"unless-domain":["*trackingsoft.com","*roia.biz"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trackingsoft\\.com","load-type":["third-party"],"unless-domain":["*trackingsoft.com","*roia.biz"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?umbel\\.com","load-type":["third-party"],"unless-domain":["*umbel.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nakanohito\\.jp","load-type":["third-party"],"unless-domain":["*nakanohito.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vertster\\.com","load-type":["third-party"],"unless-domain":["*vertster.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sa-as\\.com","load-type":["third-party"],"unless-domain":["*id.kickfire.com","*sa-as.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visistat\\.com","load-type":["third-party"],"unless-domain":["*id.kickfire.com","*sa-as.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visitstreamer\\.com","load-type":["third-party"],"unless-domain":["*visitstreamer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vizisense\\.com","load-type":["third-party"],"unless-domain":["*vizisense.com","*vizisense.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vizisense\\.net","load-type":["third-party"],"unless-domain":["*vizisense.com","*vizisense.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wowanalytics\\.co\\.uk","load-type":["third-party"],"unless-domain":["*wowanalytics.co.uk"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?compete\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?onlinewebstats\\.com","load-type":["third-party"],"unless-domain":["*onlinewebstats.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?web-stat\\.com","load-type":["third-party"],"unless-domain":["*webtrackingservices.com","*web-stat.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webtrackingservices\\.com","load-type":["third-party"],"unless-domain":["*webtrackingservices.com","*web-stat.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webtraxs\\.com","load-type":["third-party"],"unless-domain":["*webtraxs.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webclicktracker\\.com","load-type":["third-party"],"unless-domain":["*webclicktracker.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webtrekk\\.com","load-type":["third-party"],"unless-domain":["*webtrekk.com","*webtrekk.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webtrekk\\.net","load-type":["third-party"],"unless-domain":["*webtrekk.com","*webtrekk.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reinvigorate\\.net","load-type":["third-party"],"unless-domain":["*webtrends.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webtrends\\.com","load-type":["third-party"],"unless-domain":["*webtrends.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webtrendslive\\.com","load-type":["third-party"],"unless-domain":["*webtrends.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adzmath\\.com","load-type":["third-party"],"unless-domain":["*adzmath.com","*whiteops.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?whiteops\\.com","load-type":["third-party"],"unless-domain":["*adzmath.com","*whiteops.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?woopra-ns\\.com","load-type":["third-party"],"unless-domain":["*woopra.com","*woopra-ns.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?woopra\\.com","load-type":["third-party"],"unless-domain":["*woopra.com","*woopra-ns.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wysistat\\.com","load-type":["third-party"],"unless-domain":["*wysistat.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?analytics\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yellowtracker\\.com","load-type":["third-party"],"unless-domain":["*yellowtracker.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?anormal-media\\.de","load-type":["third-party"],"unless-domain":["*primawebtools.de","*anormal-media.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?anormal-tracker\\.de","load-type":["third-party"],"unless-domain":["*primawebtools.de","*anormal-media.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?certifica\\.com","load-type":["third-party"],"unless-domain":["*comscore.com","*adxpose.com","*scorecardresearch.com","*sitestat.com","*voicefive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?comscore\\.com","load-type":["third-party"],"unless-domain":["*comscore.com","*adxpose.com","*scorecardresearch.com","*sitestat.com","*voicefive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?scorecardresearch\\.com","load-type":["third-party"],"unless-domain":["*comscore.com","*adxpose.com","*scorecardresearch.com","*sitestat.com","*voicefive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sitestat\\.com","load-type":["third-party"],"unless-domain":["*comscore.com","*adxpose.com","*scorecardresearch.com","*sitestat.com","*voicefive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?voicefive\\.com","load-type":["third-party"],"unless-domain":["*comscore.com","*adxpose.com","*scorecardresearch.com","*sitestat.com","*voicefive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mdotlabs\\.com","load-type":["third-party"],"unless-domain":["*comscore.com","*adxpose.com","*scorecardresearch.com","*sitestat.com","*voicefive.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dwstat\\.cn","load-type":["third-party"],"unless-domain":["*dwstat.cn"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eproof\\.com","load-type":["third-party"],"unless-domain":["*eproof.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?extreme-dm\\.com","load-type":["third-party"],"unless-domain":["*extremetracking.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?extremetracking\\.com","load-type":["third-party"],"unless-domain":["*extremetracking.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?etracker\\.com","load-type":["third-party"],"unless-domain":["*etracker.com","*etracker.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?etracker\\.de","load-type":["third-party"],"unless-domain":["*etracker.com","*etracker.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sedotracker\\.com","load-type":["third-party"],"unless-domain":["*etracker.com","*etracker.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sedotracker\\.de","load-type":["third-party"],"unless-domain":["*etracker.com","*etracker.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iperceptions\\.com","load-type":["third-party"],"unless-domain":["*iperceptions.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?motigo\\.com","load-type":["third-party"],"unless-domain":["*motigo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nedstatbasic\\.net","load-type":["third-party"],"unless-domain":["*motigo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nurago\\.com","load-type":["third-party"],"unless-domain":["*sensic.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nurago\\.de","load-type":["third-party"],"unless-domain":["*sensic.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sensic\\.net","load-type":["third-party"],"unless-domain":["*sensic.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?phpmyvisites\\.us","load-type":["third-party"],"unless-domain":["*phpmyvisites.us"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?4u\\.pl","load-type":["third-party"],"unless-domain":["*4u.pl"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vistrac\\.com","load-type":["third-party"],"unless-domain":["*vistrac.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amung\\.us","load-type":["third-party"],"unless-domain":["*amung.us"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oewa\\.at","load-type":["third-party"],"unless-domain":["*oewa.at"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oewabox\\.at","load-type":["third-party"],"unless-domain":["*oewa.at"]}}] \ No newline at end of file diff --git a/Client/Frontend/ContentBlocker/Lists/disconnect-content.json b/Client/Frontend/ContentBlocker/Lists/disconnect-content.json new file mode 100755 index 000000000..97ea4d378 --- /dev/null +++ b/Client/Frontend/ContentBlocker/Lists/disconnect-content.json @@ -0,0 +1,517 @@ +[ +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tynt\\.com","load-type":["third-party"],"unless-domain":["*33across.com","*tynt.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?akqa\\.com","load-type":["third-party"],"unless-domain":["*akqa.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?srtk\\.net","load-type":["third-party"],"unless-domain":["*akqa.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?5min\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aim\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aol\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aolanswers\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aolcdn\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aoltechguru\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?autoblog\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cambio\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dailyfinance\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?editions\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?engadget\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?games\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?homesessive\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?huffingtonpost\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?joystiq\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kitchendaily\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?makers\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mandatory\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mapquest\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?moviefone\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?noisecreep\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?patch\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pawnation\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shortcuts\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shoutcast\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?spinner\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?stylelist\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?stylemepretty\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?surphace\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?techcrunch\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?theboombox\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?theboot\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tuaw\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?userplane\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?winamp\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?activengage\\.com","load-type":["third-party"],"unless-domain":["*activengage.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adap\\.tv","load-type":["third-party"],"unless-domain":["*adap.tv"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adobe\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?typekit\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?abmr\\.net","load-type":["third-party"],"unless-domain":["*akamai.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?akamai\\.com","load-type":["third-party"],"unless-domain":["*akamai.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?edgesuite\\.net","load-type":["third-party"],"unless-domain":["*akamai.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon\\.com","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cloudfront\\.net","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?alexa\\.com","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?automattic\\.com","load-type":["third-party"],"unless-domain":["*automattic.com","*polldaddy.com","*gravatar.com","*intensedebate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gravatar\\.com","load-type":["third-party"],"unless-domain":["*automattic.com","*polldaddy.com","*gravatar.com","*intensedebate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intensedebate\\.com","load-type":["third-party"],"unless-domain":["*automattic.com","*polldaddy.com","*gravatar.com","*intensedebate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?btbuckets\\.com","load-type":["third-party"],"unless-domain":["*btbuckets.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?baynote\\.com","load-type":["third-party"],"unless-domain":["*baynote.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?baynote\\.net","load-type":["third-party"],"unless-domain":["*baynote.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bazaarvoice\\.com","load-type":["third-party"],"unless-domain":["*bazaarvoice.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bigdoor\\.com","load-type":["third-party"],"unless-domain":["*bigdoor.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?onetruefan\\.com","load-type":["third-party"],"unless-domain":["*bigdoor.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brightcove\\.com","load-type":["third-party"],"unless-domain":["*brightcove.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?browser-update\\.org","load-type":["third-party"],"unless-domain":["*browser-update.org"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bufferapp\\.com","load-type":["third-party"],"unless-domain":["*bufferapp.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bunchball\\.com","load-type":["third-party"],"unless-domain":["*bunchball.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buzzfed\\.com","load-type":["third-party"],"unless-domain":["*buzzfeed.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buzzfeed\\.com","load-type":["third-party"],"unless-domain":["*buzzfeed.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cbsinteractive\\.com","load-type":["third-party"],"unless-domain":["*cbsinteractive.com","*com.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?com\\.com","load-type":["third-party"],"unless-domain":["*cbsinteractive.com","*com.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cbox\\.ws","load-type":["third-party"],"unless-domain":["*cbox.ws"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cedexis\\.com","load-type":["third-party"],"unless-domain":["*cedexis.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cedexis\\.net","load-type":["third-party"],"unless-domain":["*cedexis.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?certona\\.com","load-type":["third-party"],"unless-domain":["*certona.com","*res-x.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?res-x\\.com","load-type":["third-party"],"unless-domain":["*certona.com","*res-x.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clipsyndicate\\.com","load-type":["third-party"],"unless-domain":["*clipsyndicate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?collarity\\.com","load-type":["third-party"],"unless-domain":["*collarity.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?conduit-banners\\.com","load-type":["third-party"],"unless-domain":["*conduit.com","*conduit-banners.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?conduit-services\\.com","load-type":["third-party"],"unless-domain":["*conduit.com","*conduit-banners.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?conduit\\.com","load-type":["third-party"],"unless-domain":["*conduit.com","*conduit-banners.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wibiya\\.com","load-type":["third-party"],"unless-domain":["*conduit.com","*conduit-banners.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?congoo\\.com","load-type":["third-party"],"unless-domain":["*congoo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?contactatonce\\.com","load-type":["third-party"],"unless-domain":["*contactatonce.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?conviva\\.com","load-type":["third-party"],"unless-domain":["*conviva.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dailyme\\.com","load-type":["third-party"],"unless-domain":["*dailyme.com","*newstogram.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?newstogram\\.com","load-type":["third-party"],"unless-domain":["*dailyme.com","*newstogram.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?datasift\\.com","load-type":["third-party"],"unless-domain":["*datasift.com","*tweetmeme.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tweetmeme\\.com","load-type":["third-party"],"unless-domain":["*datasift.com","*tweetmeme.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?disqus\\.com","load-type":["third-party"],"unless-domain":["*disqus.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aboutecho\\.com","load-type":["third-party"],"unless-domain":["*aboutecho.com","*haloscan.com","*js-kit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?haloscan\\.com","load-type":["third-party"],"unless-domain":["*aboutecho.com","*haloscan.com","*js-kit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?js-kit\\.com","load-type":["third-party"],"unless-domain":["*aboutecho.com","*haloscan.com","*js-kit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?akamaihd\\.net","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?instagram\\.com","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fbcdn\\.net","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?messenger\\.com","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?flattr\\.com","load-type":["third-party"],"unless-domain":["*flattr.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?freewheel\\.tv","load-type":["third-party"],"unless-domain":["*freewheel.tv","*fwmrm.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fwmrm\\.net","load-type":["third-party"],"unless-domain":["*freewheel.tv","*fwmrm.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?genius\\.com","load-type":["third-party"],"unless-domain":["*genius.com","*rsvpgenius.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?getsatisfaction\\.com","load-type":["third-party"],"unless-domain":["*getsatisfaction.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gigcount\\.com","load-type":["third-party"],"unless-domain":["*gigya.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gigya\\.com","load-type":["third-party"],"unless-domain":["*gigya.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?globaltakeoff\\.com","load-type":["third-party"],"unless-domain":["*globaltakeoff.com","*globaltakeoff.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?globaltakeoff\\.net","load-type":["third-party"],"unless-domain":["*globaltakeoff.com","*globaltakeoff.net"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?formalyzer\\.com","load-type":["third-party"],"unless-domain":["*datapipe.com","*formalyzer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gogrid\\.com","load-type":["third-party"],"unless-domain":["*datapipe.com","*formalyzer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?komli\\.net","load-type":["third-party"],"unless-domain":["*datapipe.com","*formalyzer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?apture\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blogger\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?feedburner\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ggpht\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gmodules\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google-melange\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ad","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ae","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.af","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ag","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ai","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.al","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.am","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.ao","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ar","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.as","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.at","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.au","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.az","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ba","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.bd","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.be","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.bf","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.bg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.bh","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.bi","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.bj","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.bn","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.bo","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.br","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.bs","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.bt","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.bw","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.by","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.bz","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ca","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cd","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cf","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ch","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ci","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.ck","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cl","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cn","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.co","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?accounts\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?apis\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?appengine\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?books\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?checkout\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chrome\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?code\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?codesearch\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?docs\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?drive\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?earth\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?encrypted\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?feedburner\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?feedproxy\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?finance\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?groups\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?health\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?images\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?investor\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?knol\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?maps\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?music\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?news\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?picasa\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?picasaweb\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?play\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?script\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shopping\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sites\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sketchup\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?support\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?talk\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?talkgadget\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?toolbar\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?translate\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trends\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?video\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?videos\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wallet\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?www\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.cr","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.cu","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cv","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.cy","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cz","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.de","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.dj","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.dk","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.dm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.do","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.dz","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ec","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ee","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.eg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.es","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.et","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.fi","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.fj","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.fm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.fr","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ga","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ge","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.gg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.gh","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.gi","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.gl","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.gm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.gp","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.gr","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.gt","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.gy","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.hk","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.hn","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.hr","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ht","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.hu","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.id","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ie","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.il","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.im","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.in","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.iq","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.is","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.it","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.je","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.jm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.jo","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.jp","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.ke","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.kh","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ki","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.kg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.kr","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.kw","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.kz","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.la","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.lb","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.li","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.lk","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.ls","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.lt","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.lu","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.lv","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ly","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.ma","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.md","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.me","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.mg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.mk","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ml","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.mm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.mn","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ms","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.mt","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.mu","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.mv","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.mw","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.mx","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.my","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.mz","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.na","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.nf","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ng","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ni","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ne","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.nl","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.no","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.np","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.nr","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.nu","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.nz","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.om","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.pa","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.pe","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.pg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ph","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.pk","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.pl","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.pn","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.pr","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ps","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.pt","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.py","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.qa","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ro","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ru","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.rw","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.sa","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.sb","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.sc","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.se","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.sg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.sh","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.si","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.sk","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.sl","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.sn","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.so","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.sm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.st","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.sv","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.td","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.tg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.th","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.tj","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.tk","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.tl","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.tm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.tn","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.to","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.tr","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.tt","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.tw","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.tz","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ua","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.ug","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.uk","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.uy","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.uz","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.vc","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.ve","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.vg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.vi","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.vn","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.vu","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ws","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.rs","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.za","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.zm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.zw","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cat","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?googleapis\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?googleartproject\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?googleusercontent\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gstatic\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?panoramio\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?postini\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?recaptcha\\.net","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?youtube\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gravity\\.com","load-type":["third-party"],"unless-domain":["*gravity.com","*grvcdn.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?grvcdn\\.com","load-type":["third-party"],"unless-domain":["*gravity.com","*grvcdn.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?heyzap\\.com","load-type":["third-party"],"unless-domain":["*heyzap.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hubspot\\.com","load-type":["third-party"],"unless-domain":["*hubspot.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kaltura\\.com","load-type":["third-party"],"unless-domain":["*kaltura.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickability\\.com","load-type":["third-party"],"unless-domain":["*limelight.com","*uplandsoftware.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?limelight\\.com","load-type":["third-party"],"unless-domain":["*limelight.com","*uplandsoftware.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?llnwd\\.net","load-type":["third-party"],"unless-domain":["*limelight.com","*uplandsoftware.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?liveperson\\.net","load-type":["third-party"],"unless-domain":["*liveperson.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?liverail\\.com","load-type":["third-party"],"unless-domain":["*liverail.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fyre\\.co","load-type":["third-party"],"unless-domain":["*livefyre.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?livefyre\\.com","load-type":["third-party"],"unless-domain":["*livefyre.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?longtailvideo\\.com","load-type":["third-party"],"unless-domain":["*jwplayer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ltassrv\\.com","load-type":["third-party"],"unless-domain":["*jwplayer.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?luminate\\.com","load-type":["third-party"],"unless-domain":["*luminate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pixazza\\.com","load-type":["third-party"],"unless-domain":["*luminate.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?markit\\.com","load-type":["third-party"],"unless-domain":["*markit.com","*wsod.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wsod\\.com","load-type":["third-party"],"unless-domain":["*markit.com","*wsod.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mashlogic\\.com","load-type":["third-party"],"unless-domain":["*mashlogic.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mcafee\\.com","load-type":["third-party"],"unless-domain":["*mcafee.com","*mcafeesecure.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?scanalert\\.com","load-type":["third-party"],"unless-domain":["*mcafee.com","*mcafeesecure.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bing\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gamesforwindows\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?getgamesmart\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?healthvault\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ieaddons\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iegallery\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?live\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?microsoft\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?microsoftalumni\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?microsoftalumni\\.org","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?microsoftstore\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?msn\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?msnbc\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?msndirect\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nbcnews\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?office\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?officelive\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?outlook\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?s-msn\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?skype\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?windowsphone\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?worldwidetelescope\\.org","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xbox\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zune\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zune\\.net","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?newsinc\\.com","load-type":["third-party"],"unless-domain":["*newsinc.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blaze\\.com","load-type":["third-party"],"unless-domain":["*iwin.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oberon-media\\.com","load-type":["third-party"],"unless-domain":["*iwin.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?olark\\.com","load-type":["third-party"],"unless-domain":["*olark.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oo4\\.com","load-type":["third-party"],"unless-domain":["*ooyala.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ooyala\\.com","load-type":["third-party"],"unless-domain":["*ooyala.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?optimizely\\.com","load-type":["third-party"],"unless-domain":["*optimizely.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?atgsvcs\\.com","load-type":["third-party"],"unless-domain":["*oracle.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?instantservice\\.com","load-type":["third-party"],"unless-domain":["*oracle.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?istrack\\.com","load-type":["third-party"],"unless-domain":["*oracle.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oracle\\.com","load-type":["third-party"],"unless-domain":["*oracle.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?parsely\\.com","load-type":["third-party"],"unless-domain":["*parsely.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?peerius\\.com","load-type":["third-party"],"unless-domain":["*peerius.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pinterest\\.com","load-type":["third-party"],"unless-domain":["*pinterest.com","*pinterest.de","*pinterest.pt","*pinterest.se","*pinterest.jp","*pinterest.co.kr","*pinterest.dk","*pinterest.com.mx","*pinterest.at","*pinterest.co.uk","*pinterest.ie","*pinterest.fr","*pinterest.ca","*pinterest.ch","*pinterest.es","*pinterest.cl","*pinterest.nz","*pinterest.com.au"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?punchtab\\.com","load-type":["third-party"],"unless-domain":["*punchtab.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rim\\.com","load-type":["third-party"],"unless-domain":["*global.blackberry.com","*laptopverge.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?scoreloop\\.com","load-type":["third-party"],"unless-domain":["*global.blackberry.com","*laptopverge.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?saymedia\\.com","load-type":["third-party"],"unless-domain":["*saymedia.com","*typepad.com","*videoegg.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?typepad\\.com","load-type":["third-party"],"unless-domain":["*saymedia.com","*typepad.com","*videoegg.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?videoegg\\.com","load-type":["third-party"],"unless-domain":["*saymedia.com","*typepad.com","*videoegg.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?salesforceliveagent\\.com","load-type":["third-party"],"unless-domain":["*salesforce.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?scribefire\\.com","load-type":["third-party"],"unless-domain":["*scribefire.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sixapart\\.com","load-type":["third-party"],"unless-domain":["*movabletype.com","*sixapart.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?skribit\\.com","load-type":["third-party"],"unless-domain":["*paulstamatiou.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?snapengage\\.com","load-type":["third-party"],"unless-domain":["*snapengage.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?springmetrics\\.com","load-type":["third-party"],"unless-domain":["*springmetrics.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?superfish\\.com","load-type":["third-party"],"unless-domain":["*superfish.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?synacor\\.com","load-type":["third-party"],"unless-domain":["*synacor.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?truste\\.com","load-type":["third-party"],"unless-domain":["*truste.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thinglink\\.com","load-type":["third-party"],"unless-domain":["*thinglink.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thismoment\\.com","load-type":["third-party"],"unless-domain":["*thismoment.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thummit\\.com","load-type":["third-party"],"unless-domain":["*thummit.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?topsy\\.com","load-type":["third-party"],"unless-domain":["*topsy.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tracemyip\\.org","load-type":["third-party"],"unless-domain":["*tracemyip.org"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trackset\\.com","load-type":["third-party"],"unless-domain":["*trackset.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trovus\\.co\\.uk","load-type":["third-party"],"unless-domain":["*www.trovus.co.uk","*trovus.co.uk"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trumba\\.com","load-type":["third-party"],"unless-domain":["*trumba.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tumblr\\.com","load-type":["third-party"],"unless-domain":["*tumblr.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?turn\\.com","load-type":["third-party"],"unless-domain":["*turn.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?turnto\\.com","load-type":["third-party"],"unless-domain":["*turntonetworks.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?turntonetworks\\.com","load-type":["third-party"],"unless-domain":["*turntonetworks.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tweetboard\\.com","load-type":["third-party"],"unless-domain":["*tweetboard.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?twittercounter\\.com","load-type":["third-party"],"unless-domain":["*twittercounter.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ubermedia\\.com","load-type":["third-party"],"unless-domain":["*ubermedia.com","*tweetup.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tweetup\\.com","load-type":["third-party"],"unless-domain":["*ubermedia.com","*tweetup.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ubertags\\.com","load-type":["third-party"],"unless-domain":["*ubertags.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?unbounce\\.com","load-type":["third-party"],"unless-domain":["*unbounce.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?uptrends\\.com","load-type":["third-party"],"unless-domain":["*uptrends.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?usabilitysciences\\.com","load-type":["third-party"],"unless-domain":["*usabilitysciences.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webiqonline\\.com","load-type":["third-party"],"unless-domain":["*usabilitysciences.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?uservoice\\.com","load-type":["third-party"],"unless-domain":["*uservoice.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vgwort\\.de","load-type":["third-party"],"unless-domain":["*vgwort.de"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vindicogroup\\.com","load-type":["third-party"],"unless-domain":["*vindicogroup.com","*vindicosuite.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vindicosuite\\.com","load-type":["third-party"],"unless-domain":["*vindicogroup.com","*vindicosuite.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?verticalacuity\\.com","load-type":["third-party"],"unless-domain":["*verticalacuity.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tidaltv\\.com","load-type":["third-party"],"unless-domain":["*videologygroup.com","*tidaltv.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?videologygroup\\.com","load-type":["third-party"],"unless-domain":["*videologygroup.com","*tidaltv.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?qoof\\.com","load-type":["third-party"],"unless-domain":["*viewbix.com","*qoof.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?viewbix\\.com","load-type":["third-party"],"unless-domain":["*viewbix.com","*qoof.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vimeo\\.com","load-type":["third-party"],"unless-domain":["*vimeo.com","*vimeocdn.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vimeocdn\\.com","load-type":["third-party"],"unless-domain":["*vimeo.com","*vimeocdn.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visualrevenue\\.com","load-type":["third-party"],"unless-domain":["*visualrevenue.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?voice2page\\.com","load-type":["third-party"],"unless-domain":["*voice2page.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive0\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive1\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive2\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive3\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive4\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive5\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive6\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive7\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive8\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive9\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visualwebsiteoptimizer\\.com","load-type":["third-party"],"unless-domain":["*wingify.com","*vwo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wingify\\.com","load-type":["third-party"],"unless-domain":["*wingify.com","*vwo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xtify\\.com","load-type":["third-party"],"unless-domain":["*xtify.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?flickr\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?staticflickr\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?answers\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?apps\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?autos\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?biz\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?developer\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?everything\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?finance\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?games\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?groups\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?help\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hotjobs\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?info\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?local\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?messages\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?movies\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?msg\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?news\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?omg\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pipes\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?realestate\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?search\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shine\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smallbusiness\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sports\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?suggestions\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?travel\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?upcoming\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webhosting\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?widgets\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?www\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yahooapis\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yahoofs\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yimg\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ypolicyblog\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yuilibrary\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zenfs\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?api-maps\\.yandex\\.ru","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zendesk\\.com","load-type":["third-party"],"unless-domain":["*zendesk.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zopim\\.com","load-type":["third-party"],"unless-domain":["*zopim.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buysafe\\.com","load-type":["third-party"],"unless-domain":["*buysafe.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iesnare\\.com","load-type":["third-party"],"unless-domain":["*iovation.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iovation\\.com","load-type":["third-party"],"unless-domain":["*iovation.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kikin\\.com","load-type":["third-party"],"unless-domain":["*kikin.com"]}}] \ No newline at end of file diff --git a/Client/Frontend/ContentBlocker/Lists/disconnect-social.json b/Client/Frontend/ContentBlocker/Lists/disconnect-social.json new file mode 100755 index 000000000..87088c3ae --- /dev/null +++ b/Client/Frontend/ContentBlocker/Lists/disconnect-social.json @@ -0,0 +1,67 @@ +[ +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addthis\\.com","load-type":["third-party"],"unless-domain":["*addthis.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addthiscdn\\.com","load-type":["third-party"],"unless-domain":["*addthis.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addthisedge\\.com","load-type":["third-party"],"unless-domain":["*addthis.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clearspring\\.com","load-type":["third-party"],"unless-domain":["*addthis.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?connectedads\\.net","load-type":["third-party"],"unless-domain":["*addthis.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xgraph\\.com","load-type":["third-party"],"unless-domain":["*addthis.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xgraph\\.net","load-type":["third-party"],"unless-domain":["*addthis.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?causes\\.com","load-type":["third-party"],"unless-domain":["*causes.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?digg\\.com","load-type":["third-party"],"unless-domain":["*digg.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?facebook\\.com","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?facebook\\.de","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?facebook\\.fr","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?facebook\\.net","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fb\\.com","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?atlassolutions\\.com","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?friendfeed\\.com","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?developers\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gmail\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mail\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inbox\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?orkut\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?plus\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?plusone\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?voice\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wave\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?googlemail\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?licdn\\.com","load-type":["third-party"],"unless-domain":["*linkedin.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?linkedin\\.com","load-type":["third-party"],"unless-domain":["*linkedin.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addtoany\\.com","load-type":["third-party"],"unless-domain":["*addtoany.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lockerz\\.com","load-type":["third-party"],"unless-domain":["*addtoany.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?list\\.ru","load-type":["third-party"],"unless-domain":["*mail.ru","*list.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mail\\.ru","load-type":["third-party"],"unless-domain":["*mail.ru","*list.ru"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?meebo\\.com","load-type":["third-party"],"unless-domain":["*meebo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?meebocdn\\.net","load-type":["third-party"],"unless-domain":["*meebo.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?papayamobile\\.com","load-type":["third-party"],"unless-domain":["*papayamobile.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sharethis\\.com","load-type":["third-party"],"unless-domain":["*sharethis.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buzzster\\.com","load-type":["third-party"],"unless-domain":["*shareaholic.com","*buzzster.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shareaholic\\.com","load-type":["third-party"],"unless-domain":["*shareaholic.com","*buzzster.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?stumble-upon\\.com","load-type":["third-party"],"unless-domain":["*stumbleupon.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?stumbleupon\\.com","load-type":["third-party"],"unless-domain":["*stumbleupon.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?backtype\\.com","load-type":["third-party"],"unless-domain":["*twitter.com","*crashlytics.com","*tweetdeck.com","*twitter.jp","*digits.com","*fabric.io"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crashlytics\\.com","load-type":["third-party"],"unless-domain":["*twitter.com","*crashlytics.com","*tweetdeck.com","*twitter.jp","*digits.com","*fabric.io"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tweetdeck\\.com","load-type":["third-party"],"unless-domain":["*twitter.com","*crashlytics.com","*tweetdeck.com","*twitter.jp","*digits.com","*fabric.io"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?twimg\\.com","load-type":["third-party"],"unless-domain":["*twitter.com","*crashlytics.com","*tweetdeck.com","*twitter.jp","*digits.com","*fabric.io"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?twitter\\.com","load-type":["third-party"],"unless-domain":["*twitter.com","*crashlytics.com","*tweetdeck.com","*twitter.jp","*digits.com","*fabric.io"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?twitter\\.jp","load-type":["third-party"],"unless-domain":["*twitter.com","*crashlytics.com","*tweetdeck.com","*twitter.jp","*digits.com","*fabric.io"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?userapi\\.com","load-type":["third-party"],"unless-domain":["*vk.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vk\\.com","load-type":["third-party"],"unless-domain":["*vk.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vkontakte\\.ru","load-type":["third-party"],"unless-domain":["*vk.com"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mybloglog\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rocketmail\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?address\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?alerts\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?avatars\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buzz\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?calendar\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?edit\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?legalredirect\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?login\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mail\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?my\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?notepad\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pulse\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webmessenger\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ymail\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}}, +{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reddit\\.com","load-type":["third-party"],"unless-domain":["*reddit.com"]}}] \ No newline at end of file diff --git a/Client/Frontend/ContentBlocker/TrackingProtectionPageStats.swift b/Client/Frontend/ContentBlocker/TrackingProtectionPageStats.swift new file mode 100755 index 000000000..cb8bd33c8 --- /dev/null +++ b/Client/Frontend/ContentBlocker/TrackingProtectionPageStats.swift @@ -0,0 +1,228 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// This file is largely verbatim from Focus iOS (Blockzilla/Lib/TrackingProtection). +// The preload and postload js files are unmodified from Focus. + +import Shared +import Deferred + +struct TPPageStats { + let adCount: Int + let analyticCount: Int + let contentCount: Int + let socialCount: Int + + var total: Int { return adCount + socialCount + analyticCount + contentCount } + + init() { + adCount = 0 + analyticCount = 0 + contentCount = 0 + socialCount = 0 + } + + private init(adCount: Int, analyticCount: Int, contentCount: Int, socialCount: Int) { + self.adCount = adCount + self.analyticCount = analyticCount + self.contentCount = contentCount + self.socialCount = socialCount + } + + func create(byAddingListItem listItem: BlocklistName) -> TPPageStats { + switch listItem { + case .advertising: return TPPageStats(adCount: adCount + 1, analyticCount: analyticCount, contentCount: contentCount, socialCount: socialCount) + case .analytics: return TPPageStats(adCount: adCount, analyticCount: analyticCount + 1, contentCount: contentCount, socialCount: socialCount) + case .content: return TPPageStats(adCount: adCount, analyticCount: analyticCount, contentCount: contentCount + 1, socialCount: socialCount) + case .social: return TPPageStats(adCount: adCount, analyticCount: analyticCount, contentCount: contentCount, socialCount: socialCount + 1) + } + } +} + +@available(iOS 11, *) +class TPStatsBlocklistChecker { + static let shared = TPStatsBlocklistChecker() + + private var blockLists: TPStatsBlocklists? + + func isBlocked(url: URL, isStrictMode: Bool) -> Deferred { + let deferred = Deferred() + + guard let blockLists = blockLists, let host = url.host, !host.isEmpty else { + // TP Stats init isn't complete yet + deferred.fill(nil) + return deferred + } + + // Make a copy on the main thread + let whitelistRegex = ContentBlockerHelper.whitelistedDomains.domainRegex + + DispatchQueue.global().async { + let enabledLists = BlocklistName.forStrictMode(isOn: isStrictMode) + deferred.fill(blockLists.urlIsInList(url, whitelistedDomains: whitelistRegex).flatMap { return enabledLists.contains($0) ? $0 : nil }) + } + return deferred + } + + func startup() { + DispatchQueue.global().async { + let parser = TPStatsBlocklists() + parser.load() + DispatchQueue.main.async { + self.blockLists = parser + } + } + } +} + +// The 'unless-domain' and 'if-domain' rules use wildcard expressions, convert this to regex. +func wildcardContentBlockerDomainToRegex(domain: String) -> NSRegularExpression? { + struct Memo { static var domains = [String: NSRegularExpression]() } + if let memoized = Memo.domains[domain] { + return memoized + } + + // Convert the domain exceptions into regular expressions. + var regex = domain + "$" + if regex.first == "*" { + regex = "." + regex + } + regex = regex.replacingOccurrences(of: ".", with: "\\.") + do { + let result = try NSRegularExpression(pattern: regex, options: []) + Memo.domains[domain] = result + return result + } catch { + assertionFailure("Blocklists: \(error.localizedDescription)") + return nil + } +} + +@available(iOS 11, *) +fileprivate class TPStatsBlocklists { + class Rule { + let regex: NSRegularExpression + let loadType: LoadType + let resourceType: ResourceType + let domainExceptions: [NSRegularExpression]? + let list: BlocklistName + + init(regex: NSRegularExpression, loadType: LoadType, resourceType: ResourceType, domainExceptions: [NSRegularExpression]?, list: BlocklistName) { + self.regex = regex + self.loadType = loadType + self.resourceType = resourceType + self.domainExceptions = domainExceptions + self.list = list + } + } + + private var blockRules = [String: [Rule]]() + + enum LoadType { + case all + case thirdParty + } + + enum ResourceType { + case all + case font + } + + func load() { + // All rules have this prefix on the domain to match. + let standardPrefix = "^https?://([^/]+\\.)?" + + for blockList in BlocklistName.all { + let list: [[String: AnyObject]] + do { + guard let path = Bundle.main.path(forResource: blockList.filename, ofType: "json") else { + assertionFailure("Blocklists: bad file path.") + return + } + + let json = try Data(contentsOf: URL(fileURLWithPath: path)) + guard let data = try JSONSerialization.jsonObject(with: json, options: []) as? [[String: AnyObject]] else { + assertionFailure("Blocklists: bad JSON cast.") + return + } + list = data + } catch { + assertionFailure("Blocklists: \(error.localizedDescription)") + return + } + + for rule in list { + guard let trigger = rule["trigger"] as? [String: AnyObject], + let filter = trigger["url-filter"] as? String, + let filterRegex = try? NSRegularExpression(pattern: filter, options: []) else { + assertionFailure("Blocklists error: Rule has unexpected format.") + continue + } + + guard let loc = filter.range(of: standardPrefix) else { + assert(false, "url-filter code needs updating for new list format") + return + } + let baseDomain = filter.substring(from: loc.upperBound).replacingOccurrences(of: "\\.", with: ".") + assert(!baseDomain.isEmpty) + + // Sanity check for the lists. + ["*", "?", "+"].forEach { x in + // This will only happen on debug + assert(!baseDomain.contains(x), "No wildcards allowed in baseDomain") + } + + let domainExceptionsRegex = (trigger["unless-domain"] as? [String])?.flatMap { domain in + return wildcardContentBlockerDomainToRegex(domain: domain) + } + + // Only "third-party" is supported; other types are not used in our block lists. + let loadTypes = trigger["load-type"] as? [String] ?? [] + let loadType = loadTypes.contains("third-party") ? LoadType.thirdParty : .all + + // Only "font" is supported; other types are not used in our block lists. + let resourceTypes = trigger["resource-type"] as? [String] ?? [] + let resourceType = resourceTypes.contains("font") ? ResourceType.font : .all + + let rule = Rule(regex: filterRegex, loadType: loadType, resourceType: resourceType, domainExceptions: domainExceptionsRegex, list: blockList) + blockRules[baseDomain] = (blockRules[baseDomain] ?? []) + [rule] + } + } + } + + func urlIsInList(_ url: URL, whitelistedDomains: [NSRegularExpression]) -> BlocklistName? { + let resourceString = url.absoluteString + let resourceRange = NSRange(location: 0, length: resourceString.count) + + guard let baseDomain = url.baseDomain, let rules = blockRules[baseDomain] else { + return nil + } + + domainSearch: for rule in rules { + // First, test the top-level filters to see if this URL might be blocked. + if rule.regex.firstMatch(in: resourceString, options: .anchored, range: resourceRange) != nil { + // Check the domain exceptions. If a domain exception matches, this filter does not apply. + for domainRegex in (rule.domainExceptions ?? []) { + if domainRegex.firstMatch(in: resourceString, options: [], range: resourceRange) != nil { + continue domainSearch + } + } + + // Check the whitelist. + if let baseDomain = url.baseDomain, !whitelistedDomains.isEmpty { + let range = NSRange(location: 0, length: baseDomain.count) + for ignoreDomain in whitelistedDomains { + if ignoreDomain.firstMatch(in: baseDomain, options: [], range: range) != nil { + return nil + } + } + } + + return rule.list + } + } + + return nil + } +} diff --git a/Client/Frontend/ContentBlocker/build-disconnect.py b/Client/Frontend/ContentBlocker/build-disconnect.py new file mode 100755 index 000000000..bd6eb119f --- /dev/null +++ b/Client/Frontend/ContentBlocker/build-disconnect.py @@ -0,0 +1,139 @@ +#!/usr/bin/env python + +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import print_function + +import json +import urlparse + +categories = ("Advertising", "Analytics", "Social", "Content") + +def output_filename(category): + return "Lists/disconnect-{0}.json".format(category.lower()) + +def url_filter(resource): + return "^https?://([^/]+\\.)?" + resource.replace(".", "\\.") + + +def unless_domain(properties): + return ["*" + domain for domain in properties] + + +def create_blocklist_entry(resource, properties): + return {"trigger": {"url-filter": url_filter(resource), + "load-type": ["third-party"], + "unless-domain": unless_domain(properties)}, + "action": {"type": "block"}} + + +def generate_entity_list(path="shavar-prod-lists/disconnect-entitylist.json"): + with open(path) as fp: + entitylist = json.load(fp) + + blocklist = [] + + for name, value in entitylist.items(): + for resource in value['resources']: + entry = create_blocklist_entry(resource, value['properties']) + blocklist.append(entry) + + f = open('Lists/disconnect.json', 'w') + out = json.dumps(blocklist, indent=0, + separators=(',', ':')).replace('\n', '') + f.write(out) + + # Human-readable output. + # print json.dumps(blocklist, indent=2) + +def add_entry_to_blocklist(blocklist, entities, name, property_, resources): + if property_ == "dnt": + return # we don't handle dnt entries yet + if name in entities: + props = entities[name]["properties"] + else: + prop = urlparse.urlparse(property_).netloc.split(".") + if prop[0] == "www": + prop.pop(0) + props = [".".join(prop)] + for res in resources: + blocklist.append(create_blocklist_entry(res, props)) + +def generate_blacklists(blacklist="shavar-prod-lists/disconnect-blacklist.json", entitylist="shavar-prod-lists/disconnect-entitylist.json"): + # Generating the categorical lists requires some manual tweaking to the + # data at the moment. + + def find_entry(entry, list_): + for d in list_: + if d.keys() == [entry]: + return d + + # First, massage the existing categorical data slightly + with open(blacklist) as fp: + categories = json.load(fp)["categories"] + # Move the Twitter and Facebook entries into the Social category from + # the Disconnect category + disconnect = categories["Disconnect"] + del categories["Disconnect"] + categories["Social"].append(find_entry("Facebook", disconnect)) + categories["Social"].append(find_entry("Twitter", disconnect)) + + # Load the entitylist to map the whitelist entries. + with open(entitylist) as fp: + entities = json.load(fp) + + # Change the Google entries for the respective categories + with open("shavar-prod-lists/google_mapping.json") as fp: + tweaks = json.load(fp)["categories"] + for category in ("Advertising", "Analytics", "Social"): + cat = categories[category] + goog = find_entry("Google", cat) or None + if goog is None: + # No data exist for this category, just append + cat.append(tweaks[category][0]) + else: + for prop, resources in tweaks[category]["Google"].items(): + if prop not in goog: + goog[prop] = resources + continue + for resource in resources: + if resource not in goog[prop]: + goog[prop].append(resource) + goog[prop].sort() + cat.sort() + + for category in categories: + blocklist = [] + + for entity in categories[category]: + for name, domains in entity.iteritems(): + for property_, resources in domains.iteritems(): + add_entry_to_blocklist(blocklist, entities, name, property_, resources) + + print("{cat} blacklist has {count} entries." + .format(cat=category, count=len(blocklist))) + + with open(output_filename(category), "w") as fp: + out = json.dumps(blocklist, indent=0, + separators=(',', ':')).replace('\n', '') + fp.write(out) + +def format_one_rule_per_line(): + for category in categories: + name = output_filename(category) + file = open(name) + line = file.read() + file.close() + line = line.replace('{"action"', '\n{"action"') + with open(name, "w") as fp: + fp.write(line) + + +if __name__ == "__main__": + # generate_entity_list() + generate_blacklists() + + # format as one action per-line, which is easier to read and diff + format_one_rule_per_line() diff --git a/Client/Frontend/ContentBlocker/disconnect-advertising.json b/Client/Frontend/ContentBlocker/disconnect-advertising.json deleted file mode 100644 index 838afd31e..000000000 --- a/Client/Frontend/ContentBlocker/disconnect-advertising.json +++ /dev/null @@ -1 +0,0 @@ -[{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?2leep\\.com","load-type":["third-party"],"unless-domain":["*2leep.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?33across\\.com","load-type":["third-party"],"unless-domain":["*33across.com","*tynt.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?365dm\\.com","load-type":["third-party"],"unless-domain":["*aggregateintelligence.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?365media\\.com","load-type":["third-party"],"unless-domain":["*aggregateintelligence.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?4info\\.com","load-type":["third-party"],"unless-domain":["*4info.com","*adhaven.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adhaven\\.com","load-type":["third-party"],"unless-domain":["*4info.com","*adhaven.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?4mads\\.com","load-type":["third-party"],"unless-domain":["*4mads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adeurope\\.com","load-type":["third-party"],"unless-domain":["*adeurope.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ad2onegroup\\.com","load-type":["third-party"],"unless-domain":["*ad2onegroup.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adition\\.com","load-type":["third-party"],"unless-domain":["*adition.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admission\\.net","load-type":["third-party"],"unless-domain":["*cdkglobal.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adpdealerservices\\.com","load-type":["third-party"],"unless-domain":["*cdkglobal.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cobalt\\.com","load-type":["third-party"],"unless-domain":["*cdkglobal.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtech\\.com","load-type":["third-party"],"unless-domain":["*adtech.com","*adtech.de","*adtechus.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtech\\.de","load-type":["third-party"],"unless-domain":["*adtech.com","*adtech.de","*adtechus.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtechus\\.com","load-type":["third-party"],"unless-domain":["*adtech.com","*adtech.de","*adtechus.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtelligence\\.de","load-type":["third-party"],"unless-domain":["*adtelligence.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adzcentral\\.com","load-type":["third-party"],"unless-domain":["*adzcentral.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aerifymedia\\.com","load-type":["third-party"],"unless-domain":["*aerifymedia.com","*anonymous-media.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?anonymous-media\\.com","load-type":["third-party"],"unless-domain":["*aerifymedia.com","*anonymous-media.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aggregateknowledge\\.com","load-type":["third-party"],"unless-domain":["*aggregateknowledge.com","*agkn.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?agkn\\.com","load-type":["third-party"],"unless-domain":["*aggregateknowledge.com","*agkn.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsonar\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?advertising\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?atwola\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?leadback\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tacoda\\.net","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtechjp\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hit-parade\\.com","load-type":["third-party"],"unless-domain":["*atinternet.com","*hit-parade.com","*xiti.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?att\\.com","load-type":["third-party"],"unless-domain":["*att.com","*yp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yp\\.com","load-type":["third-party"],"unless-domain":["*att.com","*yp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?affiliatetracking\\.com","load-type":["third-party"],"unless-domain":["*affiliatetracking.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?am\\.ua","load-type":["third-party"],"unless-domain":["*autocentre.ua","*am.ua"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?autocentre\\.ua","load-type":["third-party"],"unless-domain":["*autocentre.ua","*am.ua"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aweber\\.com","load-type":["third-party"],"unless-domain":["*aweber.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?abaxinteractive\\.com","load-type":["third-party"],"unless-domain":["*abaxinteractive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?accelia\\.net","load-type":["third-party"],"unless-domain":["*accelia.net","*durasite.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?durasite\\.net","load-type":["third-party"],"unless-domain":["*accelia.net","*durasite.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?accordantmedia\\.com","load-type":["third-party"],"unless-domain":["*accordantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?acquisio\\.com","load-type":["third-party"],"unless-domain":["*acquisio.com","*clickequations.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickequations\\.net","load-type":["third-party"],"unless-domain":["*acquisio.com","*clickequations.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?act-on\\.com","load-type":["third-party"],"unless-domain":["*act-on.com","*actonsoftware.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?actonsoftware\\.com","load-type":["third-party"],"unless-domain":["*act-on.com","*actonsoftware.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?actisens\\.com","load-type":["third-party"],"unless-domain":["*actisens.com","*gestionpub.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gestionpub\\.com","load-type":["third-party"],"unless-domain":["*actisens.com","*gestionpub.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?activeconversion\\.com","load-type":["third-party"],"unless-domain":["*activeconversion.com","*activemeter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?activemeter\\.com","load-type":["third-party"],"unless-domain":["*activeconversion.com","*activemeter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?acuity\\.com","load-type":["third-party"],"unless-domain":["*acuity.com","*acuityads.com","*acuityplatform.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?acuityads\\.com","load-type":["third-party"],"unless-domain":["*acuity.com","*acuityads.com","*acuityplatform.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?acuityplatform\\.com","load-type":["third-party"],"unless-domain":["*acuity.com","*acuityads.com","*acuityplatform.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?a2dfp\\.net","load-type":["third-party"],"unless-domain":["*addecisive.com","*a2dfp.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addecisive\\.com","load-type":["third-party"],"unless-domain":["*addecisive.com","*a2dfp.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addynamo\\.com","load-type":["third-party"],"unless-domain":["*addynamo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addynamo\\.net","load-type":["third-party"],"unless-domain":["*addynamo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adknife\\.com","load-type":["third-party"],"unless-domain":["*adknife.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admagnet\\.com","load-type":["third-party"],"unless-domain":["*admagnet.com","*admagnet.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admagnet\\.net","load-type":["third-party"],"unless-domain":["*admagnet.com","*admagnet.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ad4game\\.com","load-type":["third-party"],"unless-domain":["*ad4game.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adcirrus\\.com","load-type":["third-party"],"unless-domain":["*adcirrus.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adengage\\.com","load-type":["third-party"],"unless-domain":["*adengage.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adextent\\.com","load-type":["third-party"],"unless-domain":["*adextent.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adf\\.ly","load-type":["third-party"],"unless-domain":["*adf.ly"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adfox\\.ru","load-type":["third-party"],"unless-domain":["*adfox.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adfrontiers\\.com","load-type":["third-party"],"unless-domain":["*adfrontiers.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adgentdigital\\.com","load-type":["third-party"],"unless-domain":["*adgentdigital.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shorttailmedia\\.com","load-type":["third-party"],"unless-domain":["*adgentdigital.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adgibbon\\.com","load-type":["third-party"],"unless-domain":["*adgibbon.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adiquity\\.com","load-type":["third-party"],"unless-domain":["*adiquity.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adinsight\\.com","load-type":["third-party"],"unless-domain":["*responsetap.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adinsight\\.eu","load-type":["third-party"],"unless-domain":["*responsetap.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adjug\\.com","load-type":["third-party"],"unless-domain":["*adjug.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adjuggler\\.com","load-type":["third-party"],"unless-domain":["*adjuggler.com","*adjuggler.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adjuggler\\.net","load-type":["third-party"],"unless-domain":["*adjuggler.com","*adjuggler.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adkeeper\\.com","load-type":["third-party"],"unless-domain":["*keep.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?akncdn\\.com","load-type":["third-party"],"unless-domain":["*keep.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adkernel\\.com","load-type":["third-party"],"unless-domain":["*adkernel.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adimg\\.net","load-type":["third-party"],"unless-domain":["*www.adlantis.jp","*adimg.net","*adlantis.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adlantis\\.jp","load-type":["third-party"],"unless-domain":["*www.adlantis.jp","*adimg.net","*adlantis.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adleave\\.com","load-type":["third-party"],"unless-domain":["*adleave.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admarvel\\.com","load-type":["third-party"],"unless-domain":["*admarvel.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admaximizer\\.com","load-type":["third-party"],"unless-domain":["*admaximizer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admedia\\.com","load-type":["third-party"],"unless-domain":["*admedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adnetwork\\.net","load-type":["third-party"],"unless-domain":["*adnetwork.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adocean-global\\.com","load-type":["third-party"],"unless-domain":["*adocean-global.com","*adocean.pl"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adocean\\.pl","load-type":["third-party"],"unless-domain":["*adocean-global.com","*adocean.pl"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adonnetwork\\.com","load-type":["third-party"],"unless-domain":["*adonnetwork.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dashboardad\\.net","load-type":["third-party"],"unless-domain":["*adonnetwork.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adonion\\.com","load-type":["third-party"],"unless-domain":["*adonion.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adperfect\\.com","load-type":["third-party"],"unless-domain":["*adperfect.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adpredictive\\.com","load-type":["third-party"],"unless-domain":["*adpredictive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adreactor\\.com","load-type":["third-party"],"unless-domain":["*adreactor.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adready\\.com","load-type":["third-party"],"unless-domain":["*digitalremedy.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adreadytractions\\.com","load-type":["third-party"],"unless-domain":["*digitalremedy.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adrevolution\\.com","load-type":["third-party"],"unless-domain":["*adrevolution.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adriver\\.ru","load-type":["third-party"],"unless-domain":["*adriver.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adroll\\.com","load-type":["third-party"],"unless-domain":["*adroll.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsafemedia\\.com","load-type":["third-party"],"unless-domain":["*adsafemedia.com","*adsafeprotected.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsafeprotected\\.com","load-type":["third-party"],"unless-domain":["*adsafemedia.com","*adsafeprotected.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adserverpub\\.com","load-type":["third-party"],"unless-domain":["*adserverpub.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adshuffle\\.com","load-type":["third-party"],"unless-domain":["*adshuffle.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adside\\.com","load-type":["third-party"],"unless-domain":["*adside.com","*doclix.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?doclix\\.com","load-type":["third-party"],"unless-domain":["*adside.com","*doclix.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsmart\\.com","load-type":["third-party"],"unless-domain":["*adsmart.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adspeed\\.com","load-type":["third-party"],"unless-domain":["*adspeed.com","*adspeed.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adspeed\\.net","load-type":["third-party"],"unless-domain":["*adspeed.com","*adspeed.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adspirit\\.com","load-type":["third-party"],"unless-domain":["*adspirit.de","*adspirit.com","*adspirit.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adspirit\\.de","load-type":["third-party"],"unless-domain":["*adspirit.de","*adspirit.com","*adspirit.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adspirit\\.net","load-type":["third-party"],"unless-domain":["*adspirit.de","*adspirit.com","*adspirit.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtiger\\.de","load-type":["third-party"],"unless-domain":["*adtiger.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtruth\\.com","load-type":["third-party"],"unless-domain":["*adtruth.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adxpansion\\.com","load-type":["third-party"],"unless-domain":["*adxpansion.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adality\\.de","load-type":["third-party"],"unless-domain":["*adality.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adrtx\\.net","load-type":["third-party"],"unless-domain":["*adality.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adaptiveads\\.com","load-type":["third-party"],"unless-domain":["*adaptiveads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adaptly\\.com","load-type":["third-party"],"unless-domain":["*adaptly.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adaramedia\\.com","load-type":["third-party"],"unless-domain":["*adaramedia.com","*opinmind.com","*yieldoptimizer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?opinmind\\.com","load-type":["third-party"],"unless-domain":["*adaramedia.com","*opinmind.com","*yieldoptimizer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldoptimizer\\.com","load-type":["third-party"],"unless-domain":["*adaramedia.com","*opinmind.com","*yieldoptimizer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adatus\\.com","load-type":["third-party"],"unless-domain":["*adatus.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbrn\\.com","load-type":["third-party"],"unless-domain":["*adbrain.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbrain\\.com","load-type":["third-party"],"unless-domain":["*adbrain.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbroker\\.de","load-type":["third-party"],"unless-domain":["*adbroker.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adchemy\\.com","load-type":["third-party"],"unless-domain":["*adchemy.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adconion\\.com","load-type":["third-party"],"unless-domain":["*adconion.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amgdgt\\.com","load-type":["third-party"],"unless-domain":["*adconion.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?euroclick\\.com","load-type":["third-party"],"unless-domain":["*adconion.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smartclip\\.com","load-type":["third-party"],"unless-domain":["*adconion.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addvantagemedia\\.com","load-type":["third-party"],"unless-domain":["*addvantagemedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adfonic\\.com","load-type":["third-party"],"unless-domain":["*adfonic.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adforgeinc\\.com","load-type":["third-party"],"unless-domain":["*adforgeinc.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adform\\.com","load-type":["third-party"],"unless-domain":["*adform.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adform\\.net","load-type":["third-party"],"unless-domain":["*adform.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adformdsp\\.net","load-type":["third-party"],"unless-domain":["*adform.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adfunky\\.com","load-type":["third-party"],"unless-domain":["*adfunky.com","*adfunkyserver.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adfunkyserver\\.com","load-type":["third-party"],"unless-domain":["*adfunky.com","*adfunkyserver.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adfusion\\.com","load-type":["third-party"],"unless-domain":["*adfusion.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adglare\\.net","load-type":["third-party"],"unless-domain":["*adglare.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adglare\\.com","load-type":["third-party"],"unless-domain":["*adglare.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adblade\\.com","load-type":["third-party"],"unless-domain":["*adiant.com","*adblade.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adiant\\.com","load-type":["third-party"],"unless-domain":["*adiant.com","*adblade.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adknowledge\\.com","load-type":["third-party"],"unless-domain":["*adknowledge.com","*adparlor.com","*bidsystem.com","*cubics.com","*lookery.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adparlor\\.com","load-type":["third-party"],"unless-domain":["*adknowledge.com","*adparlor.com","*bidsystem.com","*cubics.com","*lookery.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bidsystem\\.com","load-type":["third-party"],"unless-domain":["*adknowledge.com","*adparlor.com","*bidsystem.com","*cubics.com","*lookery.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cubics\\.com","load-type":["third-party"],"unless-domain":["*adknowledge.com","*adparlor.com","*bidsystem.com","*cubics.com","*lookery.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lookery\\.com","load-type":["third-party"],"unless-domain":["*adknowledge.com","*adparlor.com","*bidsystem.com","*cubics.com","*lookery.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adlibrium\\.com","load-type":["third-party"],"unless-domain":["*adlibrium.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adlucent\\.com","load-type":["third-party"],"unless-domain":["*adlucent.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admarketplace\\.net","load-type":["third-party"],"unless-domain":["*admarketplace.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admarketplace\\.com","load-type":["third-party"],"unless-domain":["*admarketplace.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ampxchange\\.com","load-type":["third-party"],"unless-domain":["*admarketplace.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admeta\\.com","load-type":["third-party"],"unless-domain":["*admeta.com","*atemda.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?atemda\\.com","load-type":["third-party"],"unless-domain":["*admeta.com","*atemda.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admicro\\.vn","load-type":["third-party"],"unless-domain":["*admicro.vn"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vcmedia\\.vn","load-type":["third-party"],"unless-domain":["*admicro.vn"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admixer\\.co\\.kr","load-type":["third-party"],"unless-domain":["*admixer.co.kr"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admized\\.com","load-type":["third-party"],"unless-domain":["*admized.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admobile\\.com","load-type":["third-party"],"unless-domain":["*admobile.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admotion\\.com","load-type":["third-party"],"unless-domain":["*admotion.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nspmotion\\.com","load-type":["third-party"],"unless-domain":["*admotion.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adnetik\\.com","load-type":["third-party"],"unless-domain":["*wtp101.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wtp101\\.com","load-type":["third-party"],"unless-domain":["*wtp101.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?2o7\\.net","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?auditude\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?demdex\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?demdex\\.net","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dmtracker\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?efrontier\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?everestads\\.net","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?everestjs\\.net","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?everesttech\\.net","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hitbox\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?omniture\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?omtrdc\\.net","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?touchclarity\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adometry\\.com","load-type":["third-party"],"unless-domain":["*adometry.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dmtry\\.com","load-type":["third-party"],"unless-domain":["*adometry.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickotmedia\\.com","load-type":["third-party"],"unless-domain":["*clickotmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adotmob\\.com","load-type":["third-party"],"unless-domain":["*adotmob.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adperium\\.com","load-type":["third-party"],"unless-domain":["*adperium.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adpersia\\.com","load-type":["third-party"],"unless-domain":["*adpersia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adstours\\.com","load-type":["third-party"],"unless-domain":["*adstours.com","*clickintext.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickintext\\.net","load-type":["third-party"],"unless-domain":["*adstours.com","*clickintext.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adscience\\.nl","load-type":["third-party"],"unless-domain":["*adscience.nl"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsperity\\.com","load-type":["third-party"],"unless-domain":["*adsperity.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsrevenue\\.net","load-type":["third-party"],"unless-domain":["*adsrevenue.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adx1\\.com","load-type":["third-party"],"unless-domain":["*adx1.com","*adsty.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsty\\.com","load-type":["third-party"],"unless-domain":["*adx1.com","*adsty.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?4dsply\\.com","load-type":["third-party"],"unless-domain":["*4dsply.com","*adsupply.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsupply\\.com","load-type":["third-party"],"unless-domain":["*4dsply.com","*adsupply.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adswizz\\.com","load-type":["third-party"],"unless-domain":["*adswizz.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtegrity\\.com","load-type":["third-party"],"unless-domain":["*adtegrity.com","*adtegrity.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtegrity\\.net","load-type":["third-party"],"unless-domain":["*adtegrity.com","*adtegrity.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adultadworld\\.com","load-type":["third-party"],"unless-domain":["*adultadworld.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adultmoda\\.com","load-type":["third-party"],"unless-domain":["*adultmoda.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adventive\\.com","load-type":["third-party"],"unless-domain":["*adventive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adnext\\.fr","load-type":["third-party"],"unless-domain":["*adverline.com","*adnext.fr"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adverline\\.com","load-type":["third-party"],"unless-domain":["*adverline.com","*adnext.fr"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adversal\\.com","load-type":["third-party"],"unless-domain":["*adversal.com","*adv-adserver.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adv-adserver\\.com","load-type":["third-party"],"unless-domain":["*adversal.com","*adv-adserver.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?advertstream\\.com","load-type":["third-party"],"unless-domain":["*advertstream.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adverticum\\.com","load-type":["third-party"],"unless-domain":["*adsmart.com","*adverticum.com","*adverticum.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adverticum\\.net","load-type":["third-party"],"unless-domain":["*adsmart.com","*adverticum.com","*adverticum.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?advertise\\.com","load-type":["third-party"],"unless-domain":["*advertise.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?advertisespace\\.com","load-type":["third-party"],"unless-domain":["*advertisespace.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?advisormedia\\.cz","load-type":["third-party"],"unless-domain":["*advisormedia.cz"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adworx\\.at","load-type":["third-party"],"unless-domain":["*adworx.at","*adworx.be","*adworx.nl"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adworx\\.be","load-type":["third-party"],"unless-domain":["*adworx.at","*adworx.be","*adworx.nl"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adworx\\.nl","load-type":["third-party"],"unless-domain":["*adworx.at","*adworx.be","*adworx.nl"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adxvalue\\.com","load-type":["third-party"],"unless-domain":["*adxvalue.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adxvalue\\.de","load-type":["third-party"],"unless-domain":["*adxvalue.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adzerk\\.com","load-type":["third-party"],"unless-domain":["*adzerk.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adzerk\\.net","load-type":["third-party"],"unless-domain":["*adzerk.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aemedia\\.com","load-type":["third-party"],"unless-domain":["*dentsuaegisnetwork.com","*aemedia.com","*bluestreak.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bluestreak\\.com","load-type":["third-party"],"unless-domain":["*dentsuaegisnetwork.com","*aemedia.com","*bluestreak.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?affectv\\.co\\.uk","load-type":["third-party"],"unless-domain":["*affectv.co.uk"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?affine\\.tv","load-type":["third-party"],"unless-domain":["*affine.tv","*affinesystems.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?affinesystems\\.com","load-type":["third-party"],"unless-domain":["*affine.tv","*affinesystems.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?affinity\\.com","load-type":["third-party"],"unless-domain":["*affinity.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?afdads\\.com","load-type":["third-party"],"unless-domain":["*afterdownload.com","*afdads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?afterdownload\\.com","load-type":["third-party"],"unless-domain":["*afterdownload.com","*afdads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aim4media\\.com","load-type":["third-party"],"unless-domain":["*aim4media.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?airpush\\.com","load-type":["third-party"],"unless-domain":["*airpush.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?imiclk\\.com","load-type":["third-party"],"unless-domain":["*akamai.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?allstarmediagroup\\.com","load-type":["third-party"],"unless-domain":["*allstarmediagroup.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aloodo\\.com","load-type":["third-party"],"unless-domain":["*aloodo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon-adsystem\\.com","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon\\.ca","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon\\.co\\.jp","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon\\.co\\.uk","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon\\.de","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon\\.es","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon\\.fr","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon\\.it","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?assoc-amazon\\.com","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adnetwork\\.vn","load-type":["third-party"],"unless-domain":["*ambientdigital.com.vn","*adnetwork.vn"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ambientdigital\\.com\\.vn","load-type":["third-party"],"unless-domain":["*ambientdigital.com.vn","*adnetwork.vn"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amobee\\.com","load-type":["third-party"],"unless-domain":["*amobee.com","*smartclip.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?andbeyond\\.media","load-type":["third-party"],"unless-domain":["*andbeyond.media"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dsply\\.com","load-type":["third-party"],"unless-domain":["*answers.com","*dsply.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?appflood\\.com","load-type":["third-party"],"unless-domain":["*appflood.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adlantic\\.nl","load-type":["third-party"],"unless-domain":["*appnexus.com","*adlantic.nl","*adnxs.com","*adrdgt.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adnxs\\.com","load-type":["third-party"],"unless-domain":["*appnexus.com","*adlantic.nl","*adnxs.com","*adrdgt.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adrdgt\\.com","load-type":["third-party"],"unless-domain":["*appnexus.com","*adlantic.nl","*adnxs.com","*adrdgt.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?appnexus\\.com","load-type":["third-party"],"unless-domain":["*appnexus.com","*adlantic.nl","*adnxs.com","*adrdgt.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?alenty\\.com","load-type":["third-party"],"unless-domain":["*appnexus.com","*adlantic.nl","*adnxs.com","*adrdgt.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?appenda\\.com","load-type":["third-party"],"unless-domain":["*appenda.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?appier\\.com","load-type":["third-party"],"unless-domain":["*appier.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?applifier\\.com","load-type":["third-party"],"unless-domain":["*applifier.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?applovin\\.com","load-type":["third-party"],"unless-domain":["*applovin.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?appsflyer\\.com","load-type":["third-party"],"unless-domain":["*appsflyer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?arkwrightshomebrew\\.com","load-type":["third-party"],"unless-domain":["*whiskyandwines.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ctasnet\\.com","load-type":["third-party"],"unless-domain":["*whiskyandwines.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?atoomic\\.com","load-type":["third-party"],"unless-domain":["*atoomic.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?atrinsic\\.com","load-type":["third-party"],"unless-domain":["*atrinsic.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?audienceadnetwork\\.com","load-type":["third-party"],"unless-domain":["*audienceadnetwork.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?audience2media\\.com","load-type":["third-party"],"unless-domain":["*audience2media.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?audiencescience\\.com","load-type":["third-party"],"unless-domain":["*audiencescience.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?revsci\\.net","load-type":["third-party"],"unless-domain":["*audiencescience.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?targetingmarketplace\\.com","load-type":["third-party"],"unless-domain":["*audiencescience.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wunderloop\\.net","load-type":["third-party"],"unless-domain":["*audiencescience.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?augme\\.com","load-type":["third-party"],"unless-domain":["*hipcricket.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hipcricket\\.com","load-type":["third-party"],"unless-domain":["*hipcricket.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?augur\\.io","load-type":["third-party"],"unless-domain":["*augur.io"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?avalanchers\\.com","load-type":["third-party"],"unless-domain":["*avalanchers.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?avantlink\\.com","load-type":["third-party"],"unless-domain":["*avantlink.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?avsads\\.com","load-type":["third-party"],"unless-domain":["*avsads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adgear\\.com","load-type":["third-party"],"unless-domain":["*bloom-hq.com","*adgear.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bloom-hq\\.com","load-type":["third-party"],"unless-domain":["*bloom-hq.com","*adgear.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adgrx\\.com","load-type":["third-party"],"unless-domain":["*bloom-hq.com","*adgear.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buzzcity\\.com","load-type":["third-party"],"unless-domain":["*buzzcity.com","*branchez-vous.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bvmedia\\.ca","load-type":["third-party"],"unless-domain":["*buzzcity.com","*branchez-vous.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?networldmedia\\.com","load-type":["third-party"],"unless-domain":["*buzzcity.com","*branchez-vous.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?networldmedia\\.net","load-type":["third-party"],"unless-domain":["*buzzcity.com","*branchez-vous.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?backbeatmedia\\.com","load-type":["third-party"],"unless-domain":["*backbeatmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bannerconnect\\.net","load-type":["third-party"],"unless-domain":["*bannerconnect.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?barilliance\\.com","load-type":["third-party"],"unless-domain":["*barilliance.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?baronsoffers\\.com","load-type":["third-party"],"unless-domain":["*baronsoffers.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?batanga\\.com","load-type":["third-party"],"unless-domain":["*vix.com","*corp.vix.com","*batanga.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?batanganetwork\\.com","load-type":["third-party"],"unless-domain":["*vix.com","*corp.vix.com","*batanga.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?beanstockmedia\\.com","load-type":["third-party"],"unless-domain":["*beanstockmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?begun\\.ru","load-type":["third-party"],"unless-domain":["*begun.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?betgenius\\.com","load-type":["third-party"],"unless-domain":["*betgenius.com","*connextra.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?connextra\\.com","load-type":["third-party"],"unless-domain":["*betgenius.com","*connextra.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bidvertiser\\.com","load-type":["third-party"],"unless-domain":["*bidvertiser.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?binlayer\\.com","load-type":["third-party"],"unless-domain":["*binlayer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bitcoinplus\\.com","load-type":["third-party"],"unless-domain":["*bitcoinplus.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bittads\\.com","load-type":["third-party"],"unless-domain":["*bittads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bizo\\.com","load-type":["third-party"],"unless-domain":["*bizo.com","*bizographics.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bizographics\\.com","load-type":["third-party"],"unless-domain":["*bizo.com","*bizographics.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blacklabelads\\.com","load-type":["third-party"],"unless-domain":["*blacklabelads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blogcatalog\\.com","load-type":["third-party"],"unless-domain":["*blogcatalog.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?theblogfrog\\.com","load-type":["third-party"],"unless-domain":["*theblogfrog.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blogher\\.com","load-type":["third-party"],"unless-domain":["*blogher.com","*blogherads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blogherads\\.com","load-type":["third-party"],"unless-domain":["*blogher.com","*blogherads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blogrollr\\.com","load-type":["third-party"],"unless-domain":["*blogrollr.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bloomreach\\.com","load-type":["third-party"],"unless-domain":["*bloomreach.com","*brcdn.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brcdn\\.com","load-type":["third-party"],"unless-domain":["*bloomreach.com","*brcdn.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brsrvr\\.com","load-type":["third-party"],"unless-domain":["*bloomreach.com","*brcdn.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blutrumpet\\.com","load-type":["third-party"],"unless-domain":["*blutrumpet.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bluecava\\.com","load-type":["third-party"],"unless-domain":["*bluecava.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bkrtx\\.com","load-type":["third-party"],"unless-domain":["*bluekai.com","*tracksimple.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bluekai\\.com","load-type":["third-party"],"unless-domain":["*bluekai.com","*tracksimple.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tracksimple\\.com","load-type":["third-party"],"unless-domain":["*bluekai.com","*tracksimple.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brainient\\.com","load-type":["third-party"],"unless-domain":["*brainient.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brandaffinity\\.net","load-type":["third-party"],"unless-domain":["*brandaffinity.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brand\\.net","load-type":["third-party"],"unless-domain":["*brand.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brandscreen\\.com","load-type":["third-party"],"unless-domain":["*brandscreen.com","*rtbidder.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rtbidder\\.net","load-type":["third-party"],"unless-domain":["*brandscreen.com","*rtbidder.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brightroll\\.com","load-type":["third-party"],"unless-domain":["*brightroll.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?btrll\\.com","load-type":["third-party"],"unless-domain":["*brightroll.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brighttag\\.com","load-type":["third-party"],"unless-domain":["*brighttag.com","*btstatic.com","*thebrighttag.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?btstatic\\.com","load-type":["third-party"],"unless-domain":["*brighttag.com","*btstatic.com","*thebrighttag.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thebrighttag\\.com","load-type":["third-party"],"unless-domain":["*brighttag.com","*btstatic.com","*thebrighttag.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brilig\\.com","load-type":["third-party"],"unless-domain":["*brilig.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?burstbeacon\\.com","load-type":["third-party"],"unless-domain":["*burstmedia.com","*burstbeacon.com","*burstdirectads.com","*burstnet.com","*giantrealm.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?burstdirectads\\.com","load-type":["third-party"],"unless-domain":["*burstmedia.com","*burstbeacon.com","*burstdirectads.com","*burstnet.com","*giantrealm.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?burstmedia\\.com","load-type":["third-party"],"unless-domain":["*burstmedia.com","*burstbeacon.com","*burstdirectads.com","*burstnet.com","*giantrealm.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?burstnet\\.com","load-type":["third-party"],"unless-domain":["*burstmedia.com","*burstbeacon.com","*burstdirectads.com","*burstnet.com","*giantrealm.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?giantrealm\\.com","load-type":["third-party"],"unless-domain":["*burstmedia.com","*burstbeacon.com","*burstdirectads.com","*burstnet.com","*giantrealm.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?burstly\\.com","load-type":["third-party"],"unless-domain":["*burstly.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?businessol\\.com","load-type":["third-party"],"unless-domain":["*businessol.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?beaconads\\.com","load-type":["third-party"],"unless-domain":["*buysellads.com","*beaconads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buysellads\\.com","load-type":["third-party"],"unless-domain":["*buysellads.com","*beaconads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buysight\\.com","load-type":["third-party"],"unless-domain":["*buysight.com","*permuto.com","*pulsemgr.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?permuto\\.com","load-type":["third-party"],"unless-domain":["*buysight.com","*permuto.com","*pulsemgr.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pulsemgr\\.com","load-type":["third-party"],"unless-domain":["*buysight.com","*permuto.com","*pulsemgr.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buzzcity\\.com","load-type":["third-party"],"unless-domain":["*buzzcity.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buzzparadise\\.com","load-type":["third-party"],"unless-domain":["*buzzparadise.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?capitaldata\\.fr","load-type":["third-party"],"unless-domain":["*capitaldata.fr"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cbproads\\.com","load-type":["third-party"],"unless-domain":["*cbproads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?contaxe\\.com","load-type":["third-party"],"unless-domain":["*contaxe.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?contextweb\\.com","load-type":["third-party"],"unless-domain":["*contextweb.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admailtiser\\.com","load-type":["third-party"],"unless-domain":["*contextin.com","*admailtiser.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?contextin\\.com","load-type":["third-party"],"unless-domain":["*contextin.com","*admailtiser.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cpmstar\\.com","load-type":["third-party"],"unless-domain":["*cpmstar.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cpxadroit\\.com","load-type":["third-party"],"unless-domain":["*cpxadroit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cpxinteractive\\.com","load-type":["third-party"],"unless-domain":["*cpxadroit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adreadypixels\\.com","load-type":["third-party"],"unless-domain":["*cpxadroit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cadreon\\.com","load-type":["third-party"],"unless-domain":["*cadreon.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?campaigngrid\\.com","load-type":["third-party"],"unless-domain":["*campaigngrid.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?caraytech\\.com\\.ar","load-type":["third-party"],"unless-domain":["*www.caraytech.com.ar","*caraytech.com.ar","*e-planning.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?e-planning\\.net","load-type":["third-party"],"unless-domain":["*www.caraytech.com.ar","*caraytech.com.ar","*e-planning.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cart\\.ro","load-type":["third-party"],"unless-domain":["*cart.ro"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?statistics\\.ro","load-type":["third-party"],"unless-domain":["*cart.ro"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?casalemedia\\.com","load-type":["third-party"],"unless-domain":["*casalemedia.com","*medianet.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?medianet\\.com","load-type":["third-party"],"unless-domain":["*casalemedia.com","*medianet.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chango\\.ca","load-type":["third-party"],"unless-domain":["*chango.com","*chango.ca"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chango\\.com","load-type":["third-party"],"unless-domain":["*chango.com","*chango.ca"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?channelintelligence\\.com","load-type":["third-party"],"unless-domain":["*channelintelligence.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?channeladvisor\\.com","load-type":["third-party"],"unless-domain":["*channeladvisor.com","*searchmarketing.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?searchmarketing\\.com","load-type":["third-party"],"unless-domain":["*channeladvisor.com","*searchmarketing.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chartboost\\.com","load-type":["third-party"],"unless-domain":["*chartboost.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?checkm8\\.com","load-type":["third-party"],"unless-domain":["*checkm8.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chitika\\.com","load-type":["third-party"],"unless-domain":["*chitika.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chitika\\.net","load-type":["third-party"],"unless-domain":["*chitika.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?choicestream\\.com","load-type":["third-party"],"unless-domain":["*choicestream.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clearsaleing\\.com","load-type":["third-party"],"unless-domain":["*clearsaleing.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?csdata1\\.com","load-type":["third-party"],"unless-domain":["*clearsaleing.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?csdata2\\.com","load-type":["third-party"],"unless-domain":["*clearsaleing.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?csdata3\\.com","load-type":["third-party"],"unless-domain":["*clearsaleing.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clearsightinteractive\\.com","load-type":["third-party"],"unless-domain":["*clearsightinteractive.com","*csi-tracking.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?csi-tracking\\.com","load-type":["third-party"],"unless-domain":["*clearsightinteractive.com","*csi-tracking.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clearsearchmedia\\.com","load-type":["third-party"],"unless-domain":["*pathinteractive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?csm-secure\\.com","load-type":["third-party"],"unless-domain":["*pathinteractive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clicmanager\\.fr","load-type":["third-party"],"unless-domain":["*clicmanager.fr"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickaider\\.com","load-type":["third-party"],"unless-domain":["*clickaider.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickdimensions\\.com","load-type":["third-party"],"unless-domain":["*clickdimensions.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickdistrict\\.com","load-type":["third-party"],"unless-domain":["*clickdistrict.com","*creative-serving.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?creative-serving\\.com","load-type":["third-party"],"unless-domain":["*clickdistrict.com","*creative-serving.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?conversiondashboard\\.com","load-type":["third-party"],"unless-domain":["*clickfuel.com","*myconversionlab.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickinc\\.com","load-type":["third-party"],"unless-domain":["*clickinc.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickbooth\\.com","load-type":["third-party"],"unless-domain":["*clickbooth.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtoll\\.com","load-type":["third-party"],"unless-domain":["*clickbooth.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clicksor\\.com","load-type":["third-party"],"unless-domain":["*clicksor.com","*clicksor.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clicksor\\.net","load-type":["third-party"],"unless-domain":["*clicksor.com","*clicksor.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickwinks\\.com","load-type":["third-party"],"unless-domain":["*clickwinks.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clovenetwork\\.com","load-type":["third-party"],"unless-domain":["*clovenetwork.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cmads\\.com\\.tw","load-type":["third-party"],"unless-domain":["*cognitivematch.com","*cmads.com.tw","*cmadsasia.com","*cmadseu.com","*cmmeglobal.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cmadsasia\\.com","load-type":["third-party"],"unless-domain":["*cognitivematch.com","*cmads.com.tw","*cmadsasia.com","*cmadseu.com","*cmmeglobal.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cmadseu\\.com","load-type":["third-party"],"unless-domain":["*cognitivematch.com","*cmads.com.tw","*cmadsasia.com","*cmadseu.com","*cmmeglobal.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cmmeglobal\\.com","load-type":["third-party"],"unless-domain":["*cognitivematch.com","*cmads.com.tw","*cmadsasia.com","*cmadseu.com","*cmmeglobal.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cognitivematch\\.com","load-type":["third-party"],"unless-domain":["*cognitivematch.com","*cmads.com.tw","*cmadsasia.com","*cmadseu.com","*cmmeglobal.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?coinhive\\.com","load-type":["third-party"],"unless-domain":["*coinhive.com","*coin-hive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?coin-hive\\.com","load-type":["third-party"],"unless-domain":["*coinhive.com","*coin-hive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?collective-media\\.net","load-type":["third-party"],"unless-domain":["*collective.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?collective\\.com","load-type":["third-party"],"unless-domain":["*collective.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oggifinogi\\.com","load-type":["third-party"],"unless-domain":["*collective.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tumri\\.com","load-type":["third-party"],"unless-domain":["*collective.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tumri\\.net","load-type":["third-party"],"unless-domain":["*collective.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yt1187\\.net","load-type":["third-party"],"unless-domain":["*collective.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?apmebf\\.com","load-type":["third-party"],"unless-domain":["*cj.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?awltovhc\\.com","load-type":["third-party"],"unless-domain":["*cj.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cj\\.com","load-type":["third-party"],"unless-domain":["*cj.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ftjcfx\\.com","load-type":["third-party"],"unless-domain":["*cj.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kcdwa\\.com","load-type":["third-party"],"unless-domain":["*cj.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?qksz\\.com","load-type":["third-party"],"unless-domain":["*cj.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?qksz\\.net","load-type":["third-party"],"unless-domain":["*cj.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tqlkg\\.com","load-type":["third-party"],"unless-domain":["*cj.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yceml\\.net","load-type":["third-party"],"unless-domain":["*cj.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?communicatorcorp\\.com","load-type":["third-party"],"unless-domain":["*communicatorcorp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?compasslabs\\.com","load-type":["third-party"],"unless-domain":["*compasslabs.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?complex\\.com","load-type":["third-party"],"unless-domain":["*complexmedianetwork.com","*complex.com","*collider.com","*solecollector.com","*pigeonsandplanes.com","*theridechannel.com","*firstwefeast.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?complexmedianetwork\\.com","load-type":["third-party"],"unless-domain":["*complexmedianetwork.com","*complex.com","*collider.com","*solecollector.com","*pigeonsandplanes.com","*theridechannel.com","*firstwefeast.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?consiliummedia\\.com","load-type":["third-party"],"unless-domain":["*consiliummedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?agencytradingdesk\\.net","load-type":["third-party"],"unless-domain":["*contextuads.com","*agencytradingdesk.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?contextuads\\.com","load-type":["third-party"],"unless-domain":["*contextuads.com","*agencytradingdesk.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?convergedirect\\.com","load-type":["third-party"],"unless-domain":["*convergedirect.com","*convergetrack.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?convergetrack\\.com","load-type":["third-party"],"unless-domain":["*convergedirect.com","*convergetrack.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?conversionruler\\.com","load-type":["third-party"],"unless-domain":["*conversionruler.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?conversive\\.nl","load-type":["third-party"],"unless-domain":["*conversive.nl"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?coremotives\\.com","load-type":["third-party"],"unless-domain":["*coremotives.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adify\\.com","load-type":["third-party"],"unless-domain":["*novomotus.com","*coxdigitalsolutions.com","*adify.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?afy11\\.net","load-type":["third-party"],"unless-domain":["*novomotus.com","*coxdigitalsolutions.com","*adify.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?coxdigitalsolutions\\.com","load-type":["third-party"],"unless-domain":["*novomotus.com","*coxdigitalsolutions.com","*adify.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?creafi\\.com","load-type":["third-party"],"unless-domain":["*creafi.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crimtan\\.com","load-type":["third-party"],"unless-domain":["*crimtan.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crispmedia\\.com","load-type":["third-party"],"unless-domain":["*crispmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?criteo\\.com","load-type":["third-party"],"unless-domain":["*criteo.com","*criteo.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?criteo\\.net","load-type":["third-party"],"unless-domain":["*criteo.com","*criteo.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crosspixel\\.net","load-type":["third-party"],"unless-domain":["*crosspixel.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crosspixelmedia\\.com","load-type":["third-party"],"unless-domain":["*crosspixel.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crsspxl\\.com","load-type":["third-party"],"unless-domain":["*crosspixel.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crypto-loot\\.com","load-type":["third-party"],"unless-domain":["*crypto-loot.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cyberplex\\.com","load-type":["third-party"],"unless-domain":["*cyberplex.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dc-storm\\.com","load-type":["third-party"],"unless-domain":["*dc-storm.com","*stormiq.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?stormiq\\.com","load-type":["third-party"],"unless-domain":["*dc-storm.com","*stormiq.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dgit\\.com","load-type":["third-party"],"unless-domain":["*dgit.com","*sizmek.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eyeblaster\\.com","load-type":["third-party"],"unless-domain":["*dgit.com","*sizmek.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eyewonder\\.com","load-type":["third-party"],"unless-domain":["*dgit.com","*sizmek.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mdadx\\.com","load-type":["third-party"],"unless-domain":["*dgit.com","*sizmek.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?serving-sys\\.com","load-type":["third-party"],"unless-domain":["*dgit.com","*sizmek.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?unicast\\.com","load-type":["third-party"],"unless-domain":["*dgit.com","*sizmek.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ds-iq\\.com","load-type":["third-party"],"unless-domain":["*ds-iq.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dsnrgroup\\.com","load-type":["third-party"],"unless-domain":["*dsnrmg.com","*dsnrgroup.com","*traffiliate.com","*z5x.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dsnrmg\\.com","load-type":["third-party"],"unless-domain":["*dsnrmg.com","*dsnrgroup.com","*traffiliate.com","*z5x.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?traffiliate\\.com","load-type":["third-party"],"unless-domain":["*dsnrmg.com","*dsnrgroup.com","*traffiliate.com","*z5x.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?z5x\\.com","load-type":["third-party"],"unless-domain":["*dsnrmg.com","*dsnrgroup.com","*traffiliate.com","*z5x.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?z5x\\.net","load-type":["third-party"],"unless-domain":["*dsnrmg.com","*dsnrgroup.com","*traffiliate.com","*z5x.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dada\\.pro","load-type":["third-party"],"unless-domain":["*dada.eu","*dada.pro","*simply.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?simply\\.com","load-type":["third-party"],"unless-domain":["*dada.eu","*dada.pro","*simply.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dataxu\\.com","load-type":["third-party"],"unless-domain":["*dataxu.com","*mexad.com","*w55c.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dataxu\\.net","load-type":["third-party"],"unless-domain":["*dataxu.com","*mexad.com","*w55c.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mexad\\.com","load-type":["third-party"],"unless-domain":["*dataxu.com","*mexad.com","*w55c.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?w55c\\.net","load-type":["third-party"],"unless-domain":["*dataxu.com","*mexad.com","*w55c.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nexac\\.com","load-type":["third-party"],"unless-domain":["*datalogix.com","*nexac.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nextaction\\.net","load-type":["third-party"],"unless-domain":["*datalogix.com","*nexac.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?datonics\\.com","load-type":["third-party"],"unless-domain":["*datonics.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pro-market\\.net","load-type":["third-party"],"unless-domain":["*datonics.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?datranmedia\\.com","load-type":["third-party"],"unless-domain":["*datranmedia.com","*displaymarketplace.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?displaymarketplace\\.com","load-type":["third-party"],"unless-domain":["*datranmedia.com","*displaymarketplace.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?datvantage\\.com","load-type":["third-party"],"unless-domain":["*datvantage.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dedicatedmedia\\.com","load-type":["third-party"],"unless-domain":["*dedicatedmedia.com","*dedicatednetworks.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dedicatednetworks\\.com","load-type":["third-party"],"unless-domain":["*dedicatedmedia.com","*dedicatednetworks.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?delivr\\.com","load-type":["third-party"],"unless-domain":["*delivr.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?percentmobile\\.com","load-type":["third-party"],"unless-domain":["*delivr.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adaction\\.se","load-type":["third-party"],"unless-domain":["*deltaprojects.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?de17a\\.com","load-type":["third-party"],"unless-domain":["*deltaprojects.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?deltaprojects\\.se","load-type":["third-party"],"unless-domain":["*deltaprojects.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?demandmedia\\.com","load-type":["third-party"],"unless-domain":["*leafgroup.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?indieclick\\.com","load-type":["third-party"],"unless-domain":["*leafgroup.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adcloud\\.com","load-type":["third-party"],"unless-domain":["*dpdhl.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adcloud\\.net","load-type":["third-party"],"unless-domain":["*dpdhl.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dp-dhl\\.com","load-type":["third-party"],"unless-domain":["*dpdhl.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?developermedia\\.com","load-type":["third-party"],"unless-domain":["*developermedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lqcdn\\.com","load-type":["third-party"],"unless-domain":["*developermedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?did-it\\.com","load-type":["third-party"],"unless-domain":["*didit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?didit\\.com","load-type":["third-party"],"unless-domain":["*didit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?digitalriver\\.com","load-type":["third-party"],"unless-domain":["*digitalriver.com","*keywordmax.com","*netflame.cc"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?keywordmax\\.com","load-type":["third-party"],"unless-domain":["*digitalriver.com","*keywordmax.com","*netflame.cc"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netflame\\.cc","load-type":["third-party"],"unless-domain":["*digitalriver.com","*keywordmax.com","*netflame.cc"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?digitaltarget\\.ru","load-type":["third-party"],"unless-domain":["*digitaltarget.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?digitalwindow\\.com","load-type":["third-party"],"unless-domain":["*awin.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?perfiliate\\.com","load-type":["third-party"],"unless-domain":["*awin.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?digitize\\.ie","load-type":["third-party"],"unless-domain":["*digitize.ie"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?directresponsegroup\\.com","load-type":["third-party"],"unless-domain":["*directresponsegroup.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ppctracking\\.net","load-type":["third-party"],"unless-domain":["*directresponsegroup.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?directadvert\\.ru","load-type":["third-party"],"unless-domain":["*directadvert.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?directtrack\\.com","load-type":["third-party"],"unless-domain":["*directtrack.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?doublepimp\\.com","load-type":["third-party"],"unless-domain":["*doublepimp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bid-tag\\.com","load-type":["third-party"],"unless-domain":["*doublepositive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?doublepositive\\.com","load-type":["third-party"],"unless-domain":["*doublepositive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?doubleverify\\.com","load-type":["third-party"],"unless-domain":["*doubleverify.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsymptotic\\.com","load-type":["third-party"],"unless-domain":["*drawbridge.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?drawbrid\\.ge","load-type":["third-party"],"unless-domain":["*drawbridge.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dynamicoxygen\\.com","load-type":["third-party"],"unless-domain":["*dynamicoxygen.com","*exitjunction.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?exitjunction\\.com","load-type":["third-party"],"unless-domain":["*dynamicoxygen.com","*exitjunction.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dynamicyield\\.com","load-type":["third-party"],"unless-domain":["*dynamicyield.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eqads\\.com","load-type":["third-party"],"unless-domain":["*eqads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?extensions\\.ru","load-type":["third-party"],"unless-domain":["*extensions.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?earnify\\.com","load-type":["third-party"],"unless-domain":["*earnify.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?effectivemeasure\\.com","load-type":["third-party"],"unless-domain":["*effectivemeasure.com","*effectivemeasure.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?effectivemeasure\\.net","load-type":["third-party"],"unless-domain":["*effectivemeasure.com","*effectivemeasure.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eleavers\\.com","load-type":["third-party"],"unless-domain":["*eleavers.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?emediate\\.biz","load-type":["third-party"],"unless-domain":["*emediate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?emediate\\.com","load-type":["third-party"],"unless-domain":["*emediate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?emediate\\.dk","load-type":["third-party"],"unless-domain":["*emediate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?emediate\\.eu","load-type":["third-party"],"unless-domain":["*emediate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?usemax\\.de","load-type":["third-party"],"unless-domain":["*usemax.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?enecto\\.com","load-type":["third-party"],"unless-domain":["*enecto.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?appmetrx\\.com","load-type":["third-party"],"unless-domain":["*engago.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?engago\\.com","load-type":["third-party"],"unless-domain":["*engago.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?enginenetwork\\.com","load-type":["third-party"],"unless-domain":["*enginenetwork.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ensighten\\.com","load-type":["third-party"],"unless-domain":["*ensighten.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?entireweb\\.com","load-type":["third-party"],"unless-domain":["*entireweb.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?epicadvertising\\.com","load-type":["third-party"],"unless-domain":["*theepicmediagroup.com","*epicadvertising.com","*epicmarketplace.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?epicmarketplace\\.com","load-type":["third-party"],"unless-domain":["*theepicmediagroup.com","*epicadvertising.com","*epicmarketplace.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?epicmobileads\\.com","load-type":["third-party"],"unless-domain":["*theepicmediagroup.com","*epicadvertising.com","*epicmarketplace.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?theepicmediagroup\\.com","load-type":["third-party"],"unless-domain":["*theepicmediagroup.com","*epicadvertising.com","*epicmarketplace.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trafficmp\\.com","load-type":["third-party"],"unless-domain":["*theepicmediagroup.com","*epicadvertising.com","*epicmarketplace.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?epsilon\\.com","load-type":["third-party"],"unless-domain":["*epsilon.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ero-advertising\\.com","load-type":["third-party"],"unless-domain":["*ero-advertising.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?etargetnet\\.com","load-type":["third-party"],"unless-domain":["*etargetnet.com","*etarget.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?etarget\\.eu","load-type":["third-party"],"unless-domain":["*etargetnet.com","*etarget.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adwitserver\\.com","load-type":["third-party"],"unless-domain":["*etineria.com","*adwitserver.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?etineria\\.com","load-type":["third-party"],"unless-domain":["*etineria.com","*adwitserver.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?everydayhealth\\.com","load-type":["third-party"],"unless-domain":["*everydayhealth.com","*waterfrontmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?waterfrontmedia\\.com","load-type":["third-party"],"unless-domain":["*everydayhealth.com","*waterfrontmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?betrad\\.com","load-type":["third-party"],"unless-domain":["*evidon.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?evidon\\.com","load-type":["third-party"],"unless-domain":["*evidon.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?engineseeker\\.com","load-type":["third-party"],"unless-domain":["*evisionsmarketing.com","*engineseeker.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?evisionsmarketing\\.com","load-type":["third-party"],"unless-domain":["*evisionsmarketing.com","*engineseeker.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?evolvemediacorp\\.com","load-type":["third-party"],"unless-domain":["*evolvemediacorp.com","*gorillanation.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?evolvemediametrics\\.com","load-type":["third-party"],"unless-domain":["*evolvemediacorp.com","*gorillanation.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gorillanation\\.com","load-type":["third-party"],"unless-domain":["*evolvemediacorp.com","*gorillanation.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?exoclick\\.com","load-type":["third-party"],"unless-domain":["*exoclick.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?audienceiq\\.com","load-type":["third-party"],"unless-domain":["*experian.com","*pricegrabber.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?experian\\.com","load-type":["third-party"],"unless-domain":["*experian.com","*pricegrabber.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pricegrabber\\.com","load-type":["third-party"],"unless-domain":["*experian.com","*pricegrabber.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adotube\\.com","load-type":["third-party"],"unless-domain":["*exponential.com","*fulltango.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?exponential\\.com","load-type":["third-party"],"unless-domain":["*exponential.com","*fulltango.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fulltango\\.com","load-type":["third-party"],"unless-domain":["*exponential.com","*fulltango.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tribalfusion\\.com","load-type":["third-party"],"unless-domain":["*exponential.com","*fulltango.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?extensionfactory\\.com","load-type":["third-party"],"unless-domain":["*extensionfactory.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eyeconomy\\.co\\.uk","load-type":["third-party"],"unless-domain":["*eyeconomy.co.uk"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eyeconomy\\.com","load-type":["third-party"],"unless-domain":["*eyeconomy.co.uk"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sublimemedia\\.net","load-type":["third-party"],"unless-domain":["*eyeconomy.co.uk"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eyeviewdigital\\.com","load-type":["third-party"],"unless-domain":["*eyeviewdigital.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsfac\\.eu","load-type":["third-party"],"unless-domain":["*facilitatedigital.com","*adsfac.eu","*adsfac.net","*adsfac.us"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsfac\\.info","load-type":["third-party"],"unless-domain":["*facilitatedigital.com","*adsfac.eu","*adsfac.net","*adsfac.us"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsfac\\.net","load-type":["third-party"],"unless-domain":["*facilitatedigital.com","*adsfac.eu","*adsfac.net","*adsfac.us"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsfac\\.sg","load-type":["third-party"],"unless-domain":["*facilitatedigital.com","*adsfac.eu","*adsfac.net","*adsfac.us"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsfac\\.us","load-type":["third-party"],"unless-domain":["*facilitatedigital.com","*adsfac.eu","*adsfac.net","*adsfac.us"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?facilitatedigital\\.com","load-type":["third-party"],"unless-domain":["*facilitatedigital.com","*adsfac.eu","*adsfac.net","*adsfac.us"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fairfax\\.com\\.au","load-type":["third-party"],"unless-domain":["*www.fxj.com.au","*fairfax.com.au","*fxj.com.au"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fxj\\.com\\.au","load-type":["third-party"],"unless-domain":["*www.fxj.com.au","*fairfax.com.au","*fxj.com.au"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fathomdelivers\\.com","load-type":["third-party"],"unless-domain":["*fathomdelivers.com","*fathomseo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fathomseo\\.com","load-type":["third-party"],"unless-domain":["*fathomdelivers.com","*fathomseo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?federatedmedia\\.net","load-type":["third-party"],"unless-domain":["*hyfn.com","*sovrn","*lijit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fmpub\\.net","load-type":["third-party"],"unless-domain":["*hyfn.com","*sovrn","*lijit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lijit\\.com","load-type":["third-party"],"unless-domain":["*hyfn.com","*sovrn","*lijit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fetchback\\.com","load-type":["third-party"],"unless-domain":["*fetchback.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fiksu\\.com","load-type":["third-party"],"unless-domain":["*fiksu.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?financialcontent\\.com","load-type":["third-party"],"unless-domain":["*financialcontent.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fizzbuzzmedia\\.com","load-type":["third-party"],"unless-domain":["*fizzbuzzmedia.com","*fizzbuzzmedia.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fizzbuzzmedia\\.net","load-type":["third-party"],"unless-domain":["*fizzbuzzmedia.com","*fizzbuzzmedia.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?flashtalking\\.com","load-type":["third-party"],"unless-domain":["*flashtalking.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?flite\\.com","load-type":["third-party"],"unless-domain":["*flite.com","*widgetserver.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?widgetserver\\.com","load-type":["third-party"],"unless-domain":["*flite.com","*widgetserver.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fluct\\.jp","load-type":["third-party"],"unless-domain":["*fluct.jp","*adingo.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adingo\\.jp","load-type":["third-party"],"unless-domain":["*fluct.jp","*adingo.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?flurry\\.com","load-type":["third-party"],"unless-domain":["*flurry.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?flytxt\\.com","load-type":["third-party"],"unless-domain":["*flytxt.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brandsideplatform\\.com","load-type":["third-party"],"unless-domain":["*forbes.com","*brandsideplatform.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?forbes\\.com","load-type":["third-party"],"unless-domain":["*forbes.com","*brandsideplatform.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fimserve\\.com","load-type":["third-party"],"unless-domain":["*foxonestop.com","*fimserve.com","*foxnetworks.com","*mobsmith.com","*myads.com","*othersonline.com","*rubiconproject.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?foxnetworks\\.com","load-type":["third-party"],"unless-domain":["*foxonestop.com","*fimserve.com","*foxnetworks.com","*mobsmith.com","*myads.com","*othersonline.com","*rubiconproject.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?foxonestop\\.com","load-type":["third-party"],"unless-domain":["*foxonestop.com","*fimserve.com","*foxnetworks.com","*mobsmith.com","*myads.com","*othersonline.com","*rubiconproject.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mobsmith\\.com","load-type":["third-party"],"unless-domain":["*foxonestop.com","*fimserve.com","*foxnetworks.com","*mobsmith.com","*myads.com","*othersonline.com","*rubiconproject.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?myads\\.com","load-type":["third-party"],"unless-domain":["*foxonestop.com","*fimserve.com","*foxnetworks.com","*mobsmith.com","*myads.com","*othersonline.com","*rubiconproject.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?othersonline\\.com","load-type":["third-party"],"unless-domain":["*foxonestop.com","*fimserve.com","*foxnetworks.com","*mobsmith.com","*myads.com","*othersonline.com","*rubiconproject.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rubiconproject\\.com","load-type":["third-party"],"unless-domain":["*foxonestop.com","*fimserve.com","*foxnetworks.com","*mobsmith.com","*myads.com","*othersonline.com","*rubiconproject.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fout\\.jp","load-type":["third-party"],"unless-domain":["*fout.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?freedom\\.com","load-type":["third-party"],"unless-domain":["*freedom.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adultfriendfinder\\.com","load-type":["third-party"],"unless-domain":["*ffn.com","*adultfriendfinder.com","*pop6.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ffn\\.com","load-type":["third-party"],"unless-domain":["*ffn.com","*adultfriendfinder.com","*pop6.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pop6\\.com","load-type":["third-party"],"unless-domain":["*ffn.com","*adultfriendfinder.com","*pop6.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?double-check\\.com","load-type":["third-party"],"unless-domain":["*frogsex.com","*double-check.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?frogsex\\.com","load-type":["third-party"],"unless-domain":["*frogsex.com","*double-check.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?futureads\\.com","load-type":["third-party"],"unless-domain":["*futureads.com","*resultlinks.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?resultlinks\\.com","load-type":["third-party"],"unless-domain":["*futureads.com","*resultlinks.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gb-world\\.net","load-type":["third-party"],"unless-domain":["*gb-world.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?geniegroupltd\\.co\\.uk","load-type":["third-party"],"unless-domain":["*www.geniegroupltd.co.uk","*geniegroupltd.co.uk"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gismads\\.jp","load-type":["third-party"],"unless-domain":["*www.gismads.jp","*gismads.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gsicommerce\\.com","load-type":["third-party"],"unless-domain":["*pepperjam.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gsimedia\\.net","load-type":["third-party"],"unless-domain":["*pepperjam.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pepperjam\\.com","load-type":["third-party"],"unless-domain":["*pepperjam.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pjatr\\.com","load-type":["third-party"],"unless-domain":["*pepperjam.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pjtra\\.com","load-type":["third-party"],"unless-domain":["*pepperjam.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pntra\\.com","load-type":["third-party"],"unless-domain":["*pepperjam.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pntrac\\.com","load-type":["third-party"],"unless-domain":["*pepperjam.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pntrs\\.com","load-type":["third-party"],"unless-domain":["*pepperjam.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?game-advertising-online\\.com","load-type":["third-party"],"unless-domain":["*game-advertising-online.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?games2win\\.com","load-type":["third-party"],"unless-domain":["*games2win.com","*inviziads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inviziads\\.com","load-type":["third-party"],"unless-domain":["*games2win.com","*inviziads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gamned\\.com","load-type":["third-party"],"unless-domain":["*gamned.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gannett\\.com","load-type":["third-party"],"unless-domain":["*gannett.com","*pointroll.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pointroll\\.com","load-type":["third-party"],"unless-domain":["*gannett.com","*pointroll.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gemius\\.com","load-type":["third-party"],"unless-domain":["*gemius.com","*gemius.pl"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gemius\\.pl","load-type":["third-party"],"unless-domain":["*gemius.com","*gemius.pl"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?genesismedia\\.com","load-type":["third-party"],"unless-domain":["*genesismedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?genesismediaus\\.com","load-type":["third-party"],"unless-domain":["*genesismedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?geoads\\.com","load-type":["third-party"],"unless-domain":["*geoads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?getglue\\.com","load-type":["third-party"],"unless-domain":["*elfie.com","*smrtlnks.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smrtlnks\\.com","load-type":["third-party"],"unless-domain":["*elfie.com","*smrtlnks.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adhigh\\.net","load-type":["third-party"],"unless-domain":["*adhigh.net","*getintent.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?getintent\\.com","load-type":["third-party"],"unless-domain":["*adhigh.net","*getintent.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?glam\\.com","load-type":["third-party"],"unless-domain":["*glammedia.com","*glam.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?glammedia\\.com","load-type":["third-party"],"unless-domain":["*glammedia.com","*glam.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?globe7\\.com","load-type":["third-party"],"unless-domain":["*globe7.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?godatafeed\\.com","load-type":["third-party"],"unless-domain":["*godatafeed.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?goldspotmedia\\.com","load-type":["third-party"],"unless-domain":["*goldspotmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?goldbachgroup\\.com","load-type":["third-party"],"unless-domain":["*goldbachgroup.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?goldbach\\.com","load-type":["third-party"],"unless-domain":["*goldbachgroup.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?2mdn\\.net","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admeld\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admob\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cc-dt\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?destinationurl\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?doubleclick\\.net","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adwords\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?googleadservices\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?googlesyndication\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?googletagservices\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?invitemedia\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smtad\\.net","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?teracent\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?teracent\\.net","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ytsa\\.net","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?grapeshot\\.co\\.uk","load-type":["third-party"],"unless-domain":["*www.grapeshot.co.uk","*grapeshot.co.uk"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?groceryshopping\\.net","load-type":["third-party"],"unless-domain":["*groceryshopping.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?groovinads\\.com","load-type":["third-party"],"unless-domain":["*groovinads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?guj\\.de","load-type":["third-party"],"unless-domain":["*guj.de","*ligatus.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ligatus\\.com","load-type":["third-party"],"unless-domain":["*guj.de","*ligatus.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gumgum\\.com","load-type":["third-party"],"unless-domain":["*gumgum.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gunggo\\.com","load-type":["third-party"],"unless-domain":["*gunggo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hotwords\\.com","load-type":["third-party"],"unless-domain":["*hotwords.com","*hotwords.es"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hotwords\\.es","load-type":["third-party"],"unless-domain":["*hotwords.com","*hotwords.es"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hp\\.com","load-type":["third-party"],"unless-domain":["*hp.com","*opentext.com","*optimost.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?optimost\\.com","load-type":["third-party"],"unless-domain":["*hp.com","*opentext.com","*optimost.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?huntmads\\.com","load-type":["third-party"],"unless-domain":["*huntmads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hands\\.com\\.br","load-type":["third-party"],"unless-domain":["*www.hands.com.br","*hands.com.br"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?harrenmedia\\.com","load-type":["third-party"],"unless-domain":["*harrenmedia.com","*harrenmedianetwork.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?harrenmedianetwork\\.com","load-type":["third-party"],"unless-domain":["*harrenmedia.com","*harrenmedianetwork.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adacado\\.com","load-type":["third-party"],"unless-domain":["*healthpricer.com","*adacado.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?healthpricer\\.com","load-type":["third-party"],"unless-domain":["*healthpricer.com","*adacado.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hearst\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ic-live\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iclive\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?icrossing\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sptag\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sptag1\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sptag2\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sptag3\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?comclick\\.com","load-type":["third-party"],"unless-domain":["*himediagroup.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hi-media\\.com","load-type":["third-party"],"unless-domain":["*himediagroup.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hlserve\\.com","load-type":["third-party"],"unless-domain":["*hooklogic.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hooklogic\\.com","load-type":["third-party"],"unless-domain":["*hooklogic.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?horyzon-media\\.com","load-type":["third-party"],"unless-domain":["*horyzon-media.com","*meetic-partners.com","*smartadserver.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?meetic-partners\\.com","load-type":["third-party"],"unless-domain":["*horyzon-media.com","*meetic-partners.com","*smartadserver.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smartadserver\\.com","load-type":["third-party"],"unless-domain":["*horyzon-media.com","*meetic-partners.com","*smartadserver.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?httpool\\.com","load-type":["third-party"],"unless-domain":["*httpool.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hurra\\.com","load-type":["third-party"],"unless-domain":["*hurra.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?i-behavior\\.com","load-type":["third-party"],"unless-domain":["*i-behavior.com","*ib-ibi.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ib-ibi\\.com","load-type":["third-party"],"unless-domain":["*i-behavior.com","*ib-ibi.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?i\\.ua","load-type":["third-party"],"unless-domain":["*i.ua"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iac\\.com","load-type":["third-party"],"unless-domain":["*iac.com","*iacadvertising.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iacadvertising\\.com","load-type":["third-party"],"unless-domain":["*iac.com","*iacadvertising.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?unica\\.com","load-type":["third-party"],"unless-domain":["*ibm.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?idg\\.com","load-type":["third-party"],"unless-domain":["*idg.com","*idgtechnetwork.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?idgtechnetwork\\.com","load-type":["third-party"],"unless-domain":["*idg.com","*idgtechnetwork.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adversalservers\\.com","load-type":["third-party"],"unless-domain":["*digbro.com","*adversalservers.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?digbro\\.com","load-type":["third-party"],"unless-domain":["*digbro.com","*adversalservers.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ignitad\\.com","load-type":["third-party"],"unless-domain":["*ignitad.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ignitionone\\.com","load-type":["third-party"],"unless-domain":["*ignitionone.com","*ignitionone.net","*searchignite.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ignitionone\\.net","load-type":["third-party"],"unless-domain":["*ignitionone.com","*ignitionone.net","*searchignite.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?searchignite\\.com","load-type":["third-party"],"unless-domain":["*ignitionone.com","*ignitionone.net","*searchignite.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?360yield\\.com","load-type":["third-party"],"unless-domain":["*improvedigital.com","*360yield.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?improvedigital\\.com","load-type":["third-party"],"unless-domain":["*improvedigital.com","*360yield.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inmobi\\.com","load-type":["third-party"],"unless-domain":["*inmobi.com","*sproutinc.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sproutinc\\.com","load-type":["third-party"],"unless-domain":["*inmobi.com","*sproutinc.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inskinmedia\\.com","load-type":["third-party"],"unless-domain":["*inskinmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?anadcoads\\.com","load-type":["third-party"],"unless-domain":["*inadco.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inadco\\.com","load-type":["third-party"],"unless-domain":["*inadco.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inadcoads\\.com","load-type":["third-party"],"unless-domain":["*inadco.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?impressiondesk\\.com","load-type":["third-party"],"unless-domain":["*infectiousmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?infectiousmedia\\.com","load-type":["third-party"],"unless-domain":["*infectiousmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inflectionpointmedia\\.com","load-type":["third-party"],"unless-domain":["*inflectionpointmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?infogroup\\.com","load-type":["third-party"],"unless-domain":["*infogroup.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?infolinks\\.com","load-type":["third-party"],"unless-domain":["*infolinks.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?infra-ad\\.com","load-type":["third-party"],"unless-domain":["*infra-ad.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?innity\\.com","load-type":["third-party"],"unless-domain":["*innity.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?insightexpress\\.com","load-type":["third-party"],"unless-domain":["*insightexpress.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?insightexpressai\\.com","load-type":["third-party"],"unless-domain":["*insightexpress.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?instinctiveads\\.com","load-type":["third-party"],"unless-domain":["*instinctive.io"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?instinctive\\.io","load-type":["third-party"],"unless-domain":["*instinctive.io"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intentmedia\\.com","load-type":["third-party"],"unless-domain":["*intentmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intentmedia\\.net","load-type":["third-party"],"unless-domain":["*intentmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intergi\\.com","load-type":["third-party"],"unless-domain":["*intergi.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intermarkets\\.net","load-type":["third-party"],"unless-domain":["*intermarkets.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intermundomedia\\.com","load-type":["third-party"],"unless-domain":["*intermundomedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ibpxl\\.com","load-type":["third-party"],"unless-domain":["*internetbrands.com","*ibpxl.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?internetbrands\\.com","load-type":["third-party"],"unless-domain":["*internetbrands.com","*ibpxl.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?interpolls\\.com","load-type":["third-party"],"unless-domain":["*interpolls.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inuvo\\.com","load-type":["third-party"],"unless-domain":["*inuvo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?investingchannel\\.com","load-type":["third-party"],"unless-domain":["*investingchannel.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jaroop\\.com","load-type":["third-party"],"unless-domain":["*jaroop.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jasperlabs\\.com","load-type":["third-party"],"unless-domain":["*jasperlabs.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jemmgroup\\.com","load-type":["third-party"],"unless-domain":["*jemmgroup.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jink\\.de","load-type":["third-party"],"unless-domain":["*jink.de","*jinkads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jinkads\\.com","load-type":["third-party"],"unless-domain":["*jink.de","*jinkads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adcolony\\.com","load-type":["third-party"],"unless-domain":["*adcolony.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jirbo\\.com","load-type":["third-party"],"unless-domain":["*adcolony.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jivox\\.com","load-type":["third-party"],"unless-domain":["*jivox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jobthread\\.com","load-type":["third-party"],"unless-domain":["*jobthread.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?juicyads\\.com","load-type":["third-party"],"unless-domain":["*juicyads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?jumptap\\.com","load-type":["third-party"],"unless-domain":["*jumptap.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?keewurd\\.com","load-type":["third-party"],"unless-domain":["*kitd.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kitd\\.com","load-type":["third-party"],"unless-domain":["*kitd.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?peerset\\.com","load-type":["third-party"],"unless-domain":["*kitd.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kenshoo\\.com","load-type":["third-party"],"unless-domain":["*kenshoo.com","*xg4ken.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xg4ken\\.com","load-type":["third-party"],"unless-domain":["*kenshoo.com","*xg4ken.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?keyade\\.com","load-type":["third-party"],"unless-domain":["*keyade.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kissmyads\\.com","load-type":["third-party"],"unless-domain":["*kissmyads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?103092804\\.com","load-type":["third-party"],"unless-domain":["*kitaramedia.com","*103092804.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kitaramedia\\.com","load-type":["third-party"],"unless-domain":["*kitaramedia.com","*103092804.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admost\\.com","load-type":["third-party"],"unless-domain":["*kokteyl.com","*admost.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kokteyl\\.com","load-type":["third-party"],"unless-domain":["*kokteyl.com","*admost.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?komli\\.com","load-type":["third-party"],"unless-domain":["*komli.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kontera\\.com","load-type":["third-party"],"unless-domain":["*kontera.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsummos\\.com","load-type":["third-party"],"unless-domain":["*korrelate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsummos\\.net","load-type":["third-party"],"unless-domain":["*korrelate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?korrelate\\.com","load-type":["third-party"],"unless-domain":["*korrelate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?krux\\.com","load-type":["third-party"],"unless-domain":["*krux.com","*kruxdigital.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kruxdigital\\.com","load-type":["third-party"],"unless-domain":["*krux.com","*kruxdigital.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?krxd\\.net","load-type":["third-party"],"unless-domain":["*krux.com","*kruxdigital.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lakana\\.com","load-type":["third-party"],"unless-domain":["*lakana.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ibsys\\.com","load-type":["third-party"],"unless-domain":["*lakana.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?layer-ads\\.net","load-type":["third-party"],"unless-domain":["*layer-ads.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?layer-ad\\.org","load-type":["third-party"],"unless-domain":["*layer-ad.org"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?leadbolt\\.com","load-type":["third-party"],"unless-domain":["*leadbolt.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?leadformix\\.com","load-type":["third-party"],"unless-domain":["*calliduscloud.com","*leadformix.com","*leadforce1.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?leadforce1\\.com","load-type":["third-party"],"unless-domain":["*calliduscloud.com","*leadformix.com","*leadforce1.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?leadlander\\.com","load-type":["third-party"],"unless-domain":["*leadlander.com","*trackalyzer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trackalyzer\\.com","load-type":["third-party"],"unless-domain":["*leadlander.com","*trackalyzer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?legolas-media\\.com","load-type":["third-party"],"unless-domain":["*legolas-media.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?levexis\\.com","load-type":["third-party"],"unless-domain":["*levexis.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbull\\.com","load-type":["third-party"],"unless-domain":["*lexosmedia.com","*adbull.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lexosmedia\\.com","load-type":["third-party"],"unless-domain":["*lexosmedia.com","*adbull.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lfstmedia\\.com","load-type":["third-party"],"unless-domain":["*lifestreetmedia.com","*lfstmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lifestreetmedia\\.com","load-type":["third-party"],"unless-domain":["*lifestreetmedia.com","*lfstmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?linkconnector\\.com","load-type":["third-party"],"unless-domain":["*linkconnector.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?linkshare\\.com","load-type":["third-party"],"unless-domain":["*rakutenmarketing.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?linksynergy\\.com","load-type":["third-party"],"unless-domain":["*rakutenmarketing.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?linkz\\.net","load-type":["third-party"],"unless-domain":["*linkz.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?listrak\\.com","load-type":["third-party"],"unless-domain":["*listrak.com","*listrakbi.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?listrakbi\\.com","load-type":["third-party"],"unless-domain":["*listrak.com","*listrakbi.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?liadm\\.com","load-type":["third-party"],"unless-domain":["*liveintent.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?liveintent\\.com","load-type":["third-party"],"unless-domain":["*liveintent.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?liveinternet\\.ru","load-type":["third-party"],"unless-domain":["*liveinternet.ru","*yadro.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yadro\\.ru","load-type":["third-party"],"unless-domain":["*liveinternet.ru","*yadro.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?localyokelmedia\\.com","load-type":["third-party"],"unless-domain":["*localyokelmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?longboardmedia\\.com","load-type":["third-party"],"unless-domain":["*longboardmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?loomia\\.com","load-type":["third-party"],"unless-domain":["*loomia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lfov\\.net","load-type":["third-party"],"unless-domain":["*loopfuse.net","*lfov.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?loopfuse\\.net","load-type":["third-party"],"unless-domain":["*loopfuse.net","*lfov.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lowermybills\\.com","load-type":["third-party"],"unless-domain":["*lowermybills.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lucidmedia\\.com","load-type":["third-party"],"unless-domain":["*lucidmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cpalead\\.com","load-type":["third-party"],"unless-domain":["*cpalead.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mundomedia\\.com","load-type":["third-party"],"unless-domain":["*mundomedia.com","*silver-path.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?silver-path\\.com","load-type":["third-party"],"unless-domain":["*mundomedia.com","*silver-path.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?madhouse\\.cn","load-type":["third-party"],"unless-domain":["*madhouse.cn"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dinclinx\\.com","load-type":["third-party"],"unless-domain":["*madisonlogic.com","*dinclinx.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?madisonlogic\\.com","load-type":["third-party"],"unless-domain":["*madisonlogic.com","*dinclinx.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?domdex\\.com","load-type":["third-party"],"unless-domain":["*magnetic.com","*domdex.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?domdex\\.net","load-type":["third-party"],"unless-domain":["*magnetic.com","*domdex.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?magnetic\\.com","load-type":["third-party"],"unless-domain":["*magnetic.com","*domdex.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?qjex\\.net","load-type":["third-party"],"unless-domain":["*magnetic.com","*domdex.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dialogmgr\\.com","load-type":["third-party"],"unless-domain":["*magnify360.com","*dialogmgr.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?magnify360\\.com","load-type":["third-party"],"unless-domain":["*magnify360.com","*dialogmgr.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?campaign-archive1\\.com","load-type":["third-party"],"unless-domain":["*mailchimp.com","*campaign-archive1.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?list-manage\\.com","load-type":["third-party"],"unless-domain":["*mailchimp.com","*campaign-archive1.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mailchimp\\.com","load-type":["third-party"],"unless-domain":["*mailchimp.com","*campaign-archive1.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bannerbank\\.ru","load-type":["third-party"],"unless-domain":["*manifest.ru","*bannerbank.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?manifest\\.ru","load-type":["third-party"],"unless-domain":["*manifest.ru","*bannerbank.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?industrybrains\\.com","load-type":["third-party"],"unless-domain":["*marchex.com","*industrybrains.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marchex\\.com","load-type":["third-party"],"unless-domain":["*marchex.com","*industrybrains.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marimedia\\.net","load-type":["third-party"],"unless-domain":["*marimedia.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dt00\\.net","load-type":["third-party"],"unless-domain":["*marketgid.com","*dt00.net","*dt07.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dt07\\.net","load-type":["third-party"],"unless-domain":["*marketgid.com","*dt00.net","*dt07.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marketgid\\.com","load-type":["third-party"],"unless-domain":["*marketgid.com","*dt00.net","*dt07.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marketo\\.com","load-type":["third-party"],"unless-domain":["*marketo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marketo\\.net","load-type":["third-party"],"unless-domain":["*marketo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?martiniadnetwork\\.com","load-type":["third-party"],"unless-domain":["*martiniadnetwork.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?martinimedianetwork\\.com","load-type":["third-party"],"unless-domain":["*martiniadnetwork.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chemistry\\.com","load-type":["third-party"],"unless-domain":["*match.com","*chemistry.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?match\\.com","load-type":["third-party"],"unless-domain":["*match.com","*chemistry.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?matomy\\.com","load-type":["third-party"],"unless-domain":["*matomy.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?matomymarket\\.com","load-type":["third-party"],"unless-domain":["*matomy.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?matomymedia\\.com","load-type":["third-party"],"unless-domain":["*matomy.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xtendmedia\\.com","load-type":["third-party"],"unless-domain":["*matomy.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsmarket\\.com","load-type":["third-party"],"unless-domain":["*matomy.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?matomy\\.com","load-type":["third-party"],"unless-domain":["*matomy.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?maxbounty\\.com","load-type":["third-party"],"unless-domain":["*maxbounty.com","*mb01.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mb01\\.com","load-type":["third-party"],"unless-domain":["*maxbounty.com","*mb01.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?maxpointinteractive\\.com","load-type":["third-party"],"unless-domain":["*maxpointinteractive.com","*maxusglobal.com","*mxptint.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?maxusglobal\\.com","load-type":["third-party"],"unless-domain":["*maxpointinteractive.com","*maxusglobal.com","*mxptint.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mxptint\\.net","load-type":["third-party"],"unless-domain":["*maxpointinteractive.com","*maxusglobal.com","*mxptint.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mdotm\\.com","load-type":["third-party"],"unless-domain":["*mdotm.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediabrix\\.com","load-type":["third-party"],"unless-domain":["*mediabrix.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediacom\\.com","load-type":["third-party"],"unless-domain":["*mediacom.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adroitinteractive\\.com","load-type":["third-party"],"unless-domain":["*mediamath.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?designbloxlive\\.com","load-type":["third-party"],"unless-domain":["*mediamath.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mathtag\\.com","load-type":["third-party"],"unless-domain":["*mediamath.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediamath\\.com","load-type":["third-party"],"unless-domain":["*mediamath.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?media-servers\\.net","load-type":["third-party"],"unless-domain":["*mediashakers.com","*media-servers.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediashakers\\.com","load-type":["third-party"],"unless-domain":["*mediashakers.com","*media-servers.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediatrust\\.com","load-type":["third-party"],"unless-domain":["*mediatrust.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adnetinteractive\\.com","load-type":["third-party"],"unless-domain":["*mediawhiz.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediawhiz\\.com","load-type":["third-party"],"unless-domain":["*mediawhiz.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?medialets\\.com","load-type":["third-party"],"unless-domain":["*medialets.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbuyer\\.com","load-type":["third-party"],"unless-domain":["*mediaocean.com","*adbuyer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediaocean\\.com","load-type":["third-party"],"unless-domain":["*mediaocean.com","*adbuyer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?medicxmedia\\.com","load-type":["third-party"],"unless-domain":["*medicxmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?megaindex\\.ru","load-type":["third-party"],"unless-domain":["*megaindex.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mercent\\.com","load-type":["third-party"],"unless-domain":["*mercent.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?merchantadvantage\\.com","load-type":["third-party"],"unless-domain":["*merchantadvantage.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?merchenta\\.com","load-type":["third-party"],"unless-domain":["*merchenta.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?metanetwork\\.com","load-type":["third-party"],"unless-domain":["*metanetwork.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?meteorsolutions\\.com","load-type":["third-party"],"unless-domain":["*meteorsolutions.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?opinionbar\\.com","load-type":["third-party"],"unless-domain":["*metrixlab.com","*crm-metrix.com","*customerconversio.com","*opinionbar.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?metrixlab\\.com","load-type":["third-party"],"unless-domain":["*metrixlab.com","*crm-metrix.com","*customerconversio.com","*opinionbar.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adoftheyear\\.com","load-type":["third-party"],"unless-domain":["*metrixlab.com","*crm-metrix.com","*customerconversio.com","*opinionbar.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crm-metrix\\.com","load-type":["third-party"],"unless-domain":["*metrixlab.com","*crm-metrix.com","*customerconversio.com","*opinionbar.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?customerconversio\\.com","load-type":["third-party"],"unless-domain":["*metrixlab.com","*crm-metrix.com","*customerconversio.com","*opinionbar.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?microad\\.jp","load-type":["third-party"],"unless-domain":["*www.microad.jp","*microad.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbureau\\.net","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adecn\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aquantive\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?atdmt\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?msads\\.net","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netconversions\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?roiservice\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?decktrade\\.com","load-type":["third-party"],"unless-domain":["*millennialmedia.com","*decktrade.com","*mydas.mobi"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?millennialmedia\\.com","load-type":["third-party"],"unless-domain":["*millennialmedia.com","*decktrade.com","*mydas.mobi"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mydas\\.mobi","load-type":["third-party"],"unless-domain":["*millennialmedia.com","*decktrade.com","*mydas.mobi"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mindset-media\\.com","load-type":["third-party"],"unless-domain":["*mindset-media.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mmismm\\.com","load-type":["third-party"],"unless-domain":["*mindset-media.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mirando\\.de","load-type":["third-party"],"unless-domain":["*mirando.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mixpo\\.com","load-type":["third-party"],"unless-domain":["*mixpo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mopub\\.com","load-type":["third-party"],"unless-domain":["*mopub.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?moat\\.com","load-type":["third-party"],"unless-domain":["*moat.com","*moatads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?moatads\\.com","load-type":["third-party"],"unless-domain":["*moat.com","*moatads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mobfox\\.com","load-type":["third-party"],"unless-domain":["*mobfox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admoda\\.com","load-type":["third-party"],"unless-domain":["*admoda.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mobvision\\.com","load-type":["third-party"],"unless-domain":["*admoda.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mobilemeteor\\.com","load-type":["third-party"],"unless-domain":["*mobilemeteor.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?showmeinn\\.com","load-type":["third-party"],"unless-domain":["*mobilemeteor.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mobilestorm\\.com","load-type":["third-party"],"unless-domain":["*mobilestorm.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?moceanmobile\\.com","load-type":["third-party"],"unless-domain":["*moceanmobile.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mochila\\.com","load-type":["third-party"],"unless-domain":["*mochila.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mojiva\\.com","load-type":["third-party"],"unless-domain":["*mojiva.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?monetate\\.com","load-type":["third-party"],"unless-domain":["*monetate.com","*monetate.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?monetate\\.net","load-type":["third-party"],"unless-domain":["*monetate.com","*monetate.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?monetizemore\\.com","load-type":["third-party"],"unless-domain":["*monetizemore.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?monoloop\\.com","load-type":["third-party"],"unless-domain":["*monoloop.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?monster\\.com","load-type":["third-party"],"unless-domain":["*monster.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?moolah-media\\.com","load-type":["third-party"],"unless-domain":["*moolahmedia.com","*moolah-media.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?moolahmedia\\.com","load-type":["third-party"],"unless-domain":["*moolahmedia.com","*moolah-media.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?affbuzzads\\.com","load-type":["third-party"],"unless-domain":["*movielush.com","*affbuzzads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?movielush\\.com","load-type":["third-party"],"unless-domain":["*movielush.com","*affbuzzads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adclickmedia\\.com","load-type":["third-party"],"unless-domain":["*multiplestreammktg.com","*adclickmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?multiplestreammktg\\.com","load-type":["third-party"],"unless-domain":["*multiplestreammktg.com","*adclickmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mybuys\\.com","load-type":["third-party"],"unless-domain":["*mybuys.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?veruta\\.com","load-type":["third-party"],"unless-domain":["*mybuys.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mycounter\\.com\\.ua","load-type":["third-party"],"unless-domain":["*mycounter.com.ua"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ppjol\\.net","load-type":["third-party"],"unless-domain":["*ppjol.net","*mypressplus.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mypressplus\\.com","load-type":["third-party"],"unless-domain":["*ppjol.net","*mypressplus.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mywebgrocer\\.com","load-type":["third-party"],"unless-domain":["*mywebgrocer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nanigans\\.com","load-type":["third-party"],"unless-domain":["*nanigans.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?postrelease\\.com","load-type":["third-party"],"unless-domain":["*postrelease.com","*nativo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?navdmp\\.com","load-type":["third-party"],"unless-domain":["*navegg.com","*navdmp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?navegg\\.com","load-type":["third-party"],"unless-domain":["*navegg.com","*navdmp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cdnma\\.com","load-type":["third-party"],"unless-domain":["*net-results.com","*nr7.us"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?net-results\\.com","load-type":["third-party"],"unless-domain":["*net-results.com","*nr7.us"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nr7\\.us","load-type":["third-party"],"unless-domain":["*net-results.com","*nr7.us"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netaffiliation\\.com","load-type":["third-party"],"unless-domain":["*netaffiliation.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netbina\\.com","load-type":["third-party"],"unless-domain":["*netbina.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adelixir\\.com","load-type":["third-party"],"unless-domain":["*netelixir.com","*adelixir.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netelixir\\.com","load-type":["third-party"],"unless-domain":["*netelixir.com","*adelixir.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netseer\\.com","load-type":["third-party"],"unless-domain":["*netseer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netshelter\\.com","load-type":["third-party"],"unless-domain":["*ziffdavistech.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netshelter\\.net","load-type":["third-party"],"unless-domain":["*ziffdavistech.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netmining\\.com","load-type":["third-party"],"unless-domain":["*netmining.com","*netmng.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netmng\\.com","load-type":["third-party"],"unless-domain":["*netmining.com","*netmng.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adadvisor\\.net","load-type":["third-party"],"unless-domain":["*neustar.biz","*adadvisor.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?neustar\\.biz","load-type":["third-party"],"unless-domain":["*neustar.biz","*adadvisor.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nexage\\.com","load-type":["third-party"],"unless-domain":["*nexage.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nextperformance\\.com","load-type":["third-party"],"unless-domain":["*nextperf.com","*nextperformance.com","*nxtck.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nxtck\\.com","load-type":["third-party"],"unless-domain":["*nextperf.com","*nextperformance.com","*nxtck.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nextag\\.com","load-type":["third-party"],"unless-domain":["*nextag.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?imrworldwide\\.com","load-type":["third-party"],"unless-domain":["*nielsen.com","*imrworldwide.com","*imrworldwide.net","*glanceguide.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?imrworldwide\\.net","load-type":["third-party"],"unless-domain":["*nielsen.com","*imrworldwide.com","*imrworldwide.net","*glanceguide.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?networkedblogs\\.com","load-type":["third-party"],"unless-domain":["*ninua.com","*networkedblogs.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ninua\\.com","load-type":["third-party"],"unless-domain":["*ninua.com","*networkedblogs.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?noktamedya\\.com","load-type":["third-party"],"unless-domain":["*noktamedya.com","*virgul.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?virgul\\.com","load-type":["third-party"],"unless-domain":["*noktamedya.com","*virgul.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nowspots\\.com","load-type":["third-party"],"unless-domain":["*nowspots.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nuffnang\\.com","load-type":["third-party"],"unless-domain":["*www.nuffnang.com.my","*nuffnang.com","*nuffnang.com.my"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nuffnang\\.com\\.my","load-type":["third-party"],"unless-domain":["*www.nuffnang.com.my","*nuffnang.com","*nuffnang.com.my"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?advg\\.jp","load-type":["third-party"],"unless-domain":["*www.opt.ne.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?opt\\.ne\\.jp","load-type":["third-party"],"unless-domain":["*www.opt.ne.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?p-advg\\.com","load-type":["third-party"],"unless-domain":["*www.opt.ne.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adohana\\.com","load-type":["third-party"],"unless-domain":["*ohana-media.com","*adohana.com","*ohanaqb.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ohana-media\\.com","load-type":["third-party"],"unless-domain":["*ohana-media.com","*adohana.com","*ohanaqb.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ohanaqb\\.com","load-type":["third-party"],"unless-domain":["*ohana-media.com","*adohana.com","*ohanaqb.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?accuenmedia\\.com","load-type":["third-party"],"unless-domain":["*omnicomgroup.com","*accuenmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?omnicomgroup\\.com","load-type":["third-party"],"unless-domain":["*omnicomgroup.com","*accuenmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?p-td\\.com","load-type":["third-party"],"unless-domain":["*omnicomgroup.com","*accuenmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?itsoneiota\\.com","load-type":["third-party"],"unless-domain":["*itsoneiota.com","*oneiota.co.uk"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oneiota\\.co\\.uk","load-type":["third-party"],"unless-domain":["*itsoneiota.com","*oneiota.co.uk"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oneupweb\\.com","load-type":["third-party"],"unless-domain":["*oneupweb.com","*sodoit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sodoit\\.com","load-type":["third-party"],"unless-domain":["*oneupweb.com","*sodoit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?onm\\.de","load-type":["third-party"],"unless-domain":["*onm.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?liftdna\\.com","load-type":["third-party"],"unless-domain":["*openx.com","*openx.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?openx\\.com","load-type":["third-party"],"unless-domain":["*openx.com","*openx.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?openx\\.net","load-type":["third-party"],"unless-domain":["*openx.com","*openx.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?openx\\.org","load-type":["third-party"],"unless-domain":["*openx.com","*openx.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?openxenterprise\\.com","load-type":["third-party"],"unless-domain":["*openx.com","*openx.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?servedbyopenx\\.com","load-type":["third-party"],"unless-domain":["*openx.com","*openx.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mobiletheory\\.com","load-type":["third-party"],"unless-domain":["*opera.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?operamediaworks\\.com","load-type":["third-party"],"unless-domain":["*opera.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?operasoftware\\.com","load-type":["third-party"],"unless-domain":["*opera.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?opera\\.com","load-type":["third-party"],"unless-domain":["*opera.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?optmd\\.com","load-type":["third-party"],"unless-domain":["*optmd.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?optify\\.net","load-type":["third-party"],"unless-domain":["*optify.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cpmadvisors\\.com","load-type":["third-party"],"unless-domain":["*bn.co"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cpmatic\\.com","load-type":["third-party"],"unless-domain":["*bn.co"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nprove\\.com","load-type":["third-party"],"unless-domain":["*bn.co"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?optim\\.al","load-type":["third-party"],"unless-domain":["*bn.co"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?orbengine\\.com","load-type":["third-party"],"unless-domain":["*bn.co"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xa\\.net","load-type":["third-party"],"unless-domain":["*bn.co"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?optimumresponse\\.com","load-type":["third-party"],"unless-domain":["*optimumresponse.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?optnmstr\\.com","load-type":["third-party"],"unless-domain":["*optnmstr.com","*optinmonster.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?optinmonster\\.com","load-type":["third-party"],"unless-domain":["*optnmstr.com","*optinmonster.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?estara\\.com","load-type":["third-party"],"unless-domain":["*oracle.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?orangesoda\\.com","load-type":["third-party"],"unless-domain":["*orangesoda.com","*otracking.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?otracking\\.com","load-type":["third-party"],"unless-domain":["*orangesoda.com","*otracking.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?out-there-media\\.com","load-type":["third-party"],"unless-domain":["*out-there-media.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?outbrain\\.com","load-type":["third-party"],"unless-domain":["*outbrain.com","*sphere.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sphere\\.com","load-type":["third-party"],"unless-domain":["*outbrain.com","*sphere.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dsnextgen\\.com","load-type":["third-party"],"unless-domain":["*oversee.net","*dsnextgen.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oversee\\.net","load-type":["third-party"],"unless-domain":["*oversee.net","*dsnextgen.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?owneriq\\.com","load-type":["third-party"],"unless-domain":["*owneriq.com","*owneriq.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?owneriq\\.net","load-type":["third-party"],"unless-domain":["*owneriq.com","*owneriq.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adconnexa\\.com","load-type":["third-party"],"unless-domain":["*oxamedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsbwm\\.com","load-type":["third-party"],"unless-domain":["*oxamedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oxamedia\\.com","load-type":["third-party"],"unless-domain":["*oxamedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?platform-one\\.co\\.jp","load-type":["third-party"],"unless-domain":["*www.platform-one.co.jp","*platform-one.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pagefair\\.com","load-type":["third-party"],"unless-domain":["*pagefair.com","*pagefair.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pagefair\\.net","load-type":["third-party"],"unless-domain":["*pagefair.com","*pagefair.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?paid-to-promote\\.net","load-type":["third-party"],"unless-domain":["*paid-to-promote.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pardot\\.com","load-type":["third-party"],"unless-domain":["*pardot.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?payhit\\.com","load-type":["third-party"],"unless-domain":["*payhit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lzjl\\.com","load-type":["third-party"],"unless-domain":["*paypopup.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?paypopup\\.com","load-type":["third-party"],"unless-domain":["*paypopup.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?peer39\\.com","load-type":["third-party"],"unless-domain":["*peer39.com","*peer39.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?peer39\\.net","load-type":["third-party"],"unless-domain":["*peer39.com","*peer39.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?peerfly\\.com","load-type":["third-party"],"unless-domain":["*peerfly.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?performancing\\.com","load-type":["third-party"],"unless-domain":["*performancing.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pheedo\\.com","load-type":["third-party"],"unless-domain":["*pheedo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pictela\\.com","load-type":["third-party"],"unless-domain":["*pictela.com","*pictela.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pictela\\.net","load-type":["third-party"],"unless-domain":["*pictela.com","*pictela.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pixel\\.sg","load-type":["third-party"],"unless-domain":["*pixel.sg"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?piximedia\\.com","load-type":["third-party"],"unless-domain":["*piximedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?po\\.st","load-type":["third-party"],"unless-domain":["*po.st"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pocketcents\\.com","load-type":["third-party"],"unless-domain":["*pocketcents.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?polarmobile\\.com","load-type":["third-party"],"unless-domain":["*mediavoice.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediavoice\\.com","load-type":["third-party"],"unless-domain":["*mediavoice.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?politads\\.com","load-type":["third-party"],"unless-domain":["*politads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?getpolymorph\\.com","load-type":["third-party"],"unless-domain":["*getpolymorph.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsnative\\.com","load-type":["third-party"],"unless-domain":["*getpolymorph.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pontiflex\\.com","load-type":["third-party"],"unless-domain":["*pontiflex.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?popads\\.net","load-type":["third-party"],"unless-domain":["*popads.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?popadscdn\\.net","load-type":["third-party"],"unless-domain":["*popads.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gocampaignlive\\.com","load-type":["third-party"],"unless-domain":["*poprule.com","*gocampaignlive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?poprule\\.com","load-type":["third-party"],"unless-domain":["*poprule.com","*gocampaignlive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?popunder\\.ru","load-type":["third-party"],"unless-domain":["*popunder.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?precisionclick\\.com","load-type":["third-party"],"unless-domain":["*precisionclick.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?predictad\\.com","load-type":["third-party"],"unless-domain":["*predictad.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blogads\\.com","load-type":["third-party"],"unless-domain":["*pressflex.com","*blogads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pressflex\\.com","load-type":["third-party"],"unless-domain":["*pressflex.com","*blogads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adcde\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addlvr\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adonnetwork\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adonnetwork\\.net","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtrgt\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bannertgt\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cptgt\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cpvfeed\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cpvtgt\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?popcde\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?primevisibility\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sdfje\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?urtbk\\.com","load-type":["third-party"],"unless-domain":["*primevisibility.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?proclivitymedia\\.com","load-type":["third-party"],"unless-domain":["*proclivitysystems.com","*pswec.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?proclivitysystems\\.com","load-type":["third-party"],"unless-domain":["*proclivitysystems.com","*pswec.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pswec\\.com","load-type":["third-party"],"unless-domain":["*proclivitysystems.com","*pswec.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?projectwonderful\\.com","load-type":["third-party"],"unless-domain":["*projectwonderful.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?propellerads\\.com","load-type":["third-party"],"unless-domain":["*propellerads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?prosperent\\.com","load-type":["third-party"],"unless-domain":["*prosperent.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?proxilinks\\.com","load-type":["third-party"],"unless-domain":["*proximic.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?proximic\\.com","load-type":["third-party"],"unless-domain":["*proximic.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?proximic\\.net","load-type":["third-party"],"unless-domain":["*proximic.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pubmatic\\.com","load-type":["third-party"],"unless-domain":["*pubmatic.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?revinet\\.com","load-type":["third-party"],"unless-domain":["*pubmatic.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?publicidees\\.com","load-type":["third-party"],"unless-domain":["*publicidees.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pch\\.com","load-type":["third-party"],"unless-domain":["*pch.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?i-behavior\\.com","load-type":["third-party"],"unless-domain":["*quisma.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iaded\\.com","load-type":["third-party"],"unless-domain":["*quisma.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quisma\\.com","load-type":["third-party"],"unless-domain":["*quisma.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quismatch\\.com","load-type":["third-party"],"unless-domain":["*quisma.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xaded\\.com","load-type":["third-party"],"unless-domain":["*quisma.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xmladed\\.com","load-type":["third-party"],"unless-domain":["*quisma.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quakemarketing\\.com","load-type":["third-party"],"unless-domain":["*quakemarketing.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quantcast\\.com","load-type":["third-party"],"unless-domain":["*quantcast.com","*quantserve.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quantserve\\.com","load-type":["third-party"],"unless-domain":["*quantcast.com","*quantserve.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?qnsr\\.com","load-type":["third-party"],"unless-domain":["*quinstreet.com","*thecounter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?qsstats\\.com","load-type":["third-party"],"unless-domain":["*quinstreet.com","*thecounter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quinstreet\\.com","load-type":["third-party"],"unless-domain":["*quinstreet.com","*thecounter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rmbn\\.net","load-type":["third-party"],"unless-domain":["*traforet.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rmbn\\.ru","load-type":["third-party"],"unless-domain":["*traforet.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rmmonline\\.com","load-type":["third-party"],"unless-domain":["*rmmonline.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?matchbin\\.com","load-type":["third-party"],"unless-domain":["*solesolution.com","*gtnetwork.com.au"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?radiatemedia\\.com","load-type":["third-party"],"unless-domain":["*solesolution.com","*gtnetwork.com.au"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gwallet\\.com","load-type":["third-party"],"unless-domain":["*radiumone.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?radiumone\\.com","load-type":["third-party"],"unless-domain":["*radiumone.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?radiusmarketing\\.com","load-type":["third-party"],"unless-domain":["*radiusmarketing.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rambler\\.ru","load-type":["third-party"],"unless-domain":["*rambler.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?liveramp\\.com","load-type":["third-party"],"unless-domain":["*rapleaf.com","*liveramp.com","*rlcdn.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rapleaf\\.com","load-type":["third-party"],"unless-domain":["*rapleaf.com","*liveramp.com","*rlcdn.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rlcdn\\.com","load-type":["third-party"],"unless-domain":["*rapleaf.com","*liveramp.com","*rlcdn.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?retargeter\\.com","load-type":["third-party"],"unless-domain":["*retargeter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reachlocal\\.com","load-type":["third-party"],"unless-domain":["*reachlocal.com","*rlcdn.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rlcdn\\.net","load-type":["third-party"],"unless-domain":["*reachlocal.com","*rlcdn.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?react2media\\.com","load-type":["third-party"],"unless-domain":["*react2media.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reduxmedia\\.com","load-type":["third-party"],"unless-domain":["*reduxmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?convertglobal\\.com","load-type":["third-party"],"unless-domain":["*rekko.com","*convertglobal.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rekko\\.com","load-type":["third-party"],"unless-domain":["*rekko.com","*convertglobal.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reklamstore\\.com","load-type":["third-party"],"unless-domain":["*reklamstore.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reklamport\\.com","load-type":["third-party"],"unless-domain":["*reklamport.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reklamz\\.com","load-type":["third-party"],"unless-domain":["*reklamz.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?relestar\\.com","load-type":["third-party"],"unless-domain":["*relevad.com","*relestar.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?relevad\\.com","load-type":["third-party"],"unless-domain":["*relevad.com","*relestar.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?advertserve\\.com","load-type":["third-party"],"unless-domain":["*renegadeinternet.com","*advertserve.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?renegadeinternet\\.com","load-type":["third-party"],"unless-domain":["*renegadeinternet.com","*advertserve.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?resolutionmedia\\.com","load-type":["third-party"],"unless-domain":["*resolutionmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?resonateinsights\\.com","load-type":["third-party"],"unless-domain":["*resonateinsights.com","*resonatenetworks.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?resonatenetworks\\.com","load-type":["third-party"],"unless-domain":["*resonateinsights.com","*resonatenetworks.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?responsys\\.com","load-type":["third-party"],"unless-domain":["*responsys.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blvdstatus\\.com","load-type":["third-party"],"unless-domain":["*retirement-living.com","*blvdstatus.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?retirement-living\\.com","load-type":["third-party"],"unless-domain":["*retirement-living.com","*blvdstatus.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?revcontent\\.com","load-type":["third-party"],"unless-domain":["*revcontent.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?revenuemax\\.de","load-type":["third-party"],"unless-domain":["*revenuemax.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rhythmnewmedia\\.com","load-type":["third-party"],"unless-domain":["*rhythmone.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rnmd\\.net","load-type":["third-party"],"unless-domain":["*rhythmone.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?1rx\\.io","load-type":["third-party"],"unless-domain":["*rhythmone.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rhythmone\\.com","load-type":["third-party"],"unless-domain":["*rhythmone.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?richrelevance\\.com","load-type":["third-party"],"unless-domain":["*richrelevance.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rightaction\\.com","load-type":["third-party"],"unless-domain":["*rightaction.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rfihub\\.com","load-type":["third-party"],"unless-domain":["*rocketfuel.com","*rfihub.com","*rfihub.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rfihub\\.net","load-type":["third-party"],"unless-domain":["*rocketfuel.com","*rfihub.com","*rfihub.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rocketfuel\\.com","load-type":["third-party"],"unless-domain":["*rocketfuel.com","*rfihub.com","*rfihub.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rovion\\.com","load-type":["third-party"],"unless-domain":["*rovion.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rutarget\\.ru","load-type":["third-party"],"unless-domain":["*rutarget.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aimatch\\.com","load-type":["third-party"],"unless-domain":["*sas.com","*aimatch.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sas\\.com","load-type":["third-party"],"unless-domain":["*sas.com","*aimatch.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reztrack\\.com","load-type":["third-party"],"unless-domain":["*sabre.com","*reztrack.com","*sabrehospitality.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sabre\\.com","load-type":["third-party"],"unless-domain":["*sabre.com","*reztrack.com","*sabrehospitality.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sabrehospitality\\.com","load-type":["third-party"],"unless-domain":["*sabre.com","*reztrack.com","*sabrehospitality.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?salesforce\\.com","load-type":["third-party"],"unless-domain":["*salesforce.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?samurai-factory\\.jp","load-type":["third-party"],"unless-domain":["*samurai-factory.jp","*shinobi.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shinobi\\.jp","load-type":["third-party"],"unless-domain":["*samurai-factory.jp","*shinobi.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bridgetrack\\.com","load-type":["third-party"],"unless-domain":["*sapient.com","*bridgetrack.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sapient\\.com","load-type":["third-party"],"unless-domain":["*sapient.com","*bridgetrack.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?scandinavianadnetworks\\.com","load-type":["third-party"],"unless-domain":["*scandinavianadnetworks.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?scribol\\.com","load-type":["third-party"],"unless-domain":["*scribol.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?searchforce\\.com","load-type":["third-party"],"unless-domain":["*searchforce.com","*searchforce.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?searchforce\\.net","load-type":["third-party"],"unless-domain":["*searchforce.com","*searchforce.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kanoodle\\.com","load-type":["third-party"],"unless-domain":["*kanoodle.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pulse360\\.com","load-type":["third-party"],"unless-domain":["*kanoodle.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?seevast\\.com","load-type":["third-party"],"unless-domain":["*kanoodle.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?syndigonetworks\\.com","load-type":["third-party"],"unless-domain":["*kanoodle.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nabbr\\.com","load-type":["third-party"],"unless-domain":["*selectablemedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?selectablemedia\\.com","load-type":["third-party"],"unless-domain":["*selectablemedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sevenads\\.net","load-type":["third-party"],"unless-domain":["*sevenads.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sexinyourcity\\.com","load-type":["third-party"],"unless-domain":["*sexinyourcity.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shareasale\\.com","load-type":["third-party"],"unless-domain":["*shareasale.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shopzilla\\.com","load-type":["third-party"],"unless-domain":["*shopzilla.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mkt51\\.net","load-type":["third-party"],"unless-domain":["*silverpop.com","*mkt51.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pages05\\.net","load-type":["third-party"],"unless-domain":["*silverpop.com","*mkt51.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?silverpop\\.com","load-type":["third-party"],"unless-domain":["*silverpop.com","*mkt51.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vtrenz\\.net","load-type":["third-party"],"unless-domain":["*silverpop.com","*mkt51.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?simpli\\.fi","load-type":["third-party"],"unless-domain":["*simpli.fi"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sitescout\\.com","load-type":["third-party"],"unless-domain":["*sitescout.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?skimlinks\\.com","load-type":["third-party"],"unless-domain":["*skimlinks.com","*skimresources.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?skimresources\\.com","load-type":["third-party"],"unless-domain":["*skimlinks.com","*skimresources.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adcentriconline\\.com","load-type":["third-party"],"unless-domain":["*skupenet.com","*adcentriconline.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?skupenet\\.com","load-type":["third-party"],"unless-domain":["*skupenet.com","*adcentriconline.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smaato\\.com","load-type":["third-party"],"unless-domain":["*smaato.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smileymedia\\.com","load-type":["third-party"],"unless-domain":["*smileymedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smowtion\\.com","load-type":["third-party"],"unless-domain":["*smowtion.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?snap\\.com","load-type":["third-party"],"unless-domain":["*snap.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?halogenmediagroup\\.com","load-type":["third-party"],"unless-domain":["*socialchorus.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?halogennetwork\\.com","load-type":["third-party"],"unless-domain":["*socialchorus.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?socialchorus\\.com","load-type":["third-party"],"unless-domain":["*socialchorus.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ratevoice\\.com","load-type":["third-party"],"unless-domain":["*socialinterface.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?socialinterface\\.com","load-type":["third-party"],"unless-domain":["*socialinterface.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?socialtwist\\.com","load-type":["third-party"],"unless-domain":["*socialtwist.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?spacechimpmedia\\.com","load-type":["third-party"],"unless-domain":["*spacechimpmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sparkstudios\\.com","load-type":["third-party"],"unless-domain":["*sparkstudios.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbutler\\.com","load-type":["third-party"],"unless-domain":["*sparklit.com","*adbutler.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sparklit\\.com","load-type":["third-party"],"unless-domain":["*sparklit.com","*adbutler.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adviva\\.co\\.uk","load-type":["third-party"],"unless-domain":["*specificmedia.com","*sitemeter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adviva\\.net","load-type":["third-party"],"unless-domain":["*specificmedia.com","*sitemeter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sitemeter\\.com","load-type":["third-party"],"unless-domain":["*specificmedia.com","*sitemeter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?specificclick\\.net","load-type":["third-party"],"unless-domain":["*specificmedia.com","*sitemeter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?specificmedia\\.com","load-type":["third-party"],"unless-domain":["*specificmedia.com","*sitemeter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?specificmedia\\.co\\.uk","load-type":["third-party"],"unless-domain":["*specificmedia.com","*sitemeter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?spectate\\.com","load-type":["third-party"],"unless-domain":["*spectate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?spongegroup\\.com","load-type":["third-party"],"unless-domain":["*spongegroup.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?spongecell\\.com","load-type":["third-party"],"unless-domain":["*spongecell.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sponsorads\\.de","load-type":["third-party"],"unless-domain":["*sponsorads.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?spot200\\.com","load-type":["third-party"],"unless-domain":["*spot200.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?spotxchange\\.com","load-type":["third-party"],"unless-domain":["*spotxchange.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?stargamesaffiliate\\.com","load-type":["third-party"],"unless-domain":["*stargames.net","*stargamesaffiliate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?steelhouse\\.com","load-type":["third-party"],"unless-domain":["*steelhouse.com","*steelhousemedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?steelhousemedia\\.com","load-type":["third-party"],"unless-domain":["*steelhouse.com","*steelhousemedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cams\\.com","load-type":["third-party"],"unless-domain":["*streamray.com","*cams.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?streamray\\.com","load-type":["third-party"],"unless-domain":["*streamray.com","*cams.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?strikead\\.com","load-type":["third-party"],"unless-domain":["*strikead.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?popularmedia\\.com","load-type":["third-party"],"unless-domain":["*strongmail.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?struq\\.com","load-type":["third-party"],"unless-domain":["*struq.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?suite66\\.com","load-type":["third-party"],"unless-domain":["*suite66.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?summitmedia\\.co\\.uk","load-type":["third-party"],"unless-domain":["*www.summit.co.uk","*summitmedia.co.uk"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?supersonicads\\.com","load-type":["third-party"],"unless-domain":["*supersonicads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?switchadhub\\.com","load-type":["third-party"],"unless-domain":["*switchconcepts.com","*switchadhub.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?switchconcepts\\.co\\.uk","load-type":["third-party"],"unless-domain":["*switchconcepts.com","*switchadhub.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?switchconcepts\\.com","load-type":["third-party"],"unless-domain":["*switchconcepts.com","*switchadhub.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ethicalads\\.net","load-type":["third-party"],"unless-domain":["*switchconcepts.com","*switchadhub.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?swoop\\.com","load-type":["third-party"],"unless-domain":["*swoop.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?factortg\\.com","load-type":["third-party"],"unless-domain":["*factortg.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickable\\.net","load-type":["third-party"],"unless-domain":["*syncapse.com","*clickable.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?syncapse\\.com","load-type":["third-party"],"unless-domain":["*syncapse.com","*clickable.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adotsolution\\.com","load-type":["third-party"],"unless-domain":["*adotsolution.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tlvmedia\\.com","load-type":["third-party"],"unless-domain":["*tlvmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?taboola\\.com","load-type":["third-party"],"unless-domain":["*taboola.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?perfectmarket\\.com","load-type":["third-party"],"unless-domain":["*taboola.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tailsweep\\.com","load-type":["third-party"],"unless-domain":["*tailsweep.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tap\\.me","load-type":["third-party"],"unless-domain":["*tap.me"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tapit\\.com","load-type":["third-party"],"unless-domain":["*tapit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tapad\\.com","load-type":["third-party"],"unless-domain":["*tapad.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bizmey\\.com","load-type":["third-party"],"unless-domain":["*tapgage.com","*bizmey.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tapgage\\.com","load-type":["third-party"],"unless-domain":["*tapgage.com","*bizmey.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?targetix\\.net","load-type":["third-party"],"unless-domain":["*targetix.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quicknoodles\\.com","load-type":["third-party"],"unless-domain":["*tattomedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tattomedia\\.com","load-type":["third-party"],"unless-domain":["*tattomedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?teadma\\.com","load-type":["third-party"],"unless-domain":["*teadma.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?teads\\.tv","load-type":["third-party"],"unless-domain":["*teads.tv"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ebuzzing\\.com","load-type":["third-party"],"unless-domain":["*teads.tv"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?technorati\\.com","load-type":["third-party"],"unless-domain":["*technorati.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?technoratimedia\\.com","load-type":["third-party"],"unless-domain":["*technorati.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tellapart\\.com","load-type":["third-party"],"unless-domain":["*tellapart.com","*tellapt.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tellapt\\.com","load-type":["third-party"],"unless-domain":["*tellapart.com","*tellapt.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sensis\\.com\\.au","load-type":["third-party"],"unless-domain":["*telstra.com.au","*sensis.com.au","*sensisdata.com.au"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sensisdata\\.com\\.au","load-type":["third-party"],"unless-domain":["*telstra.com.au","*sensis.com.au","*sensisdata.com.au"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sensisdigitalmedia\\.com\\.au","load-type":["third-party"],"unless-domain":["*telstra.com.au","*sensis.com.au","*sensisdata.com.au"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?telstra\\.com\\.au","load-type":["third-party"],"unless-domain":["*telstra.com.au","*sensis.com.au","*sensisdata.com.au"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eztargetmedia\\.com","load-type":["third-party"],"unless-domain":["*www.terra.com.br","*eztargetmedia.com","*terra.com.br"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?terra\\.com\\.br","load-type":["third-party"],"unless-domain":["*www.terra.com.br","*eztargetmedia.com","*terra.com.br"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hittail\\.com","load-type":["third-party"],"unless-domain":["*thenumagroup.com","*hittail.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thenumagroup\\.com","load-type":["third-party"],"unless-domain":["*thenumagroup.com","*hittail.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rimmkaufman\\.com","load-type":["third-party"],"unless-domain":["*merkleinc.com","*rkdms.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rkdms\\.com","load-type":["third-party"],"unless-domain":["*merkleinc.com","*rkdms.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thesearchagency\\.com","load-type":["third-party"],"unless-domain":["*thesearchagency.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thesearchagency\\.net","load-type":["third-party"],"unless-domain":["*thesearchagency.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsrvr\\.org","load-type":["third-party"],"unless-domain":["*thetradedesk.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thetradedesk\\.com","load-type":["third-party"],"unless-domain":["*thetradedesk.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?echosearch\\.com","load-type":["third-party"],"unless-domain":["*thinkrealtime.com","*echosearch.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?esm1\\.net","load-type":["third-party"],"unless-domain":["*thinkrealtime.com","*echosearch.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thinkrealtime\\.com","load-type":["third-party"],"unless-domain":["*thinkrealtime.com","*echosearch.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?carbonads\\.com","load-type":["third-party"],"unless-domain":["*tinder.com","*carbonads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tinder\\.com","load-type":["third-party"],"unless-domain":["*tinder.com","*carbonads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tiqiq\\.com","load-type":["third-party"],"unless-domain":["*tiqiq.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adternal\\.com","load-type":["third-party"],"unless-domain":["*adternal.com","*tisoomi.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tisoomi\\.com","load-type":["third-party"],"unless-domain":["*adternal.com","*tisoomi.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?todacell\\.com","load-type":["third-party"],"unless-domain":["*todacell.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tonefuse\\.com","load-type":["third-party"],"unless-domain":["*tonefuse.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickfuse\\.com","load-type":["third-party"],"unless-domain":["*clickfuse.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tonemedia\\.com","load-type":["third-party"],"unless-domain":["*clickfuse.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inq\\.com","load-type":["third-party"],"unless-domain":["*nuance.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?touchcommerce\\.com","load-type":["third-party"],"unless-domain":["*nuance.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trackingsoft\\.com","load-type":["third-party"],"unless-domain":["*trackingsoft.com","*roia.biz"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tradetracker\\.com","load-type":["third-party"],"unless-domain":["*tradetracker.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tradetracker\\.net","load-type":["third-party"],"unless-domain":["*tradetracker.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tradedoubler\\.com","load-type":["third-party"],"unless-domain":["*tradedoubler.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?traffichaus\\.com","load-type":["third-party"],"unless-domain":["*traffichaus.com","*traffichouse.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?traffichouse\\.com","load-type":["third-party"],"unless-domain":["*traffichaus.com","*traffichouse.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trafficrevenue\\.net","load-type":["third-party"],"unless-domain":["*trafficrevenue.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?traffiq\\.com","load-type":["third-party"],"unless-domain":["*traffiq.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?traveladnetwork\\.com","load-type":["third-party"],"unless-domain":["*travoramedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?traveladvertising\\.com","load-type":["third-party"],"unless-domain":["*travoramedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?travoramedia\\.com","load-type":["third-party"],"unless-domain":["*travoramedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?scanscout\\.com","load-type":["third-party"],"unless-domain":["*tremorvideo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tmnetads\\.com","load-type":["third-party"],"unless-domain":["*tremorvideo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tremormedia\\.com","load-type":["third-party"],"unless-domain":["*tremorvideo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tremorvideo\\.com","load-type":["third-party"],"unless-domain":["*tremorvideo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tremorhub\\.com","load-type":["third-party"],"unless-domain":["*tremorvideo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?triggit\\.com","load-type":["third-party"],"unless-domain":["*triggit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?3lift\\.com","load-type":["third-party"],"unless-domain":["*triplelift.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?triplelift\\.com","load-type":["third-party"],"unless-domain":["*triplelift.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adlegend\\.com","load-type":["third-party"],"unless-domain":["*trueffect.com","*adlegend.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trueffect\\.com","load-type":["third-party"],"unless-domain":["*trueffect.com","*adlegend.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tmogul\\.com","load-type":["third-party"],"unless-domain":["*tubemogul.com","*tmogul.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tubemogul\\.com","load-type":["third-party"],"unless-domain":["*tubemogul.com","*tmogul.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buzzlogic\\.com","load-type":["third-party"],"unless-domain":["*twelvefold.com","*buzzlogic.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?twelvefold\\.com","load-type":["third-party"],"unless-domain":["*twelvefold.com","*buzzlogic.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?twyn\\.com","load-type":["third-party"],"unless-domain":["*twyn.com","*twyn-group.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?twyn-group\\.com","load-type":["third-party"],"unless-domain":["*twyn.com","*twyn-group.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tyroo\\.com","load-type":["third-party"],"unless-domain":["*tyroo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?upsellit\\.com","load-type":["third-party"],"unless-domain":["*usitechnologies.com","*upsellit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?usitechnologies\\.com","load-type":["third-party"],"unless-domain":["*usitechnologies.com","*upsellit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?unanimis\\.co\\.uk","load-type":["third-party"],"unless-domain":["*www.unanimis.co.uk","*unanimis.co.uk"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?udmserve\\.net","load-type":["third-party"],"unless-domain":["*underdogmedia.com","*udmserve.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?underdogmedia\\.com","load-type":["third-party"],"unless-domain":["*underdogmedia.com","*udmserve.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?undertone\\.com","load-type":["third-party"],"unless-domain":["*undertone.com","*undertonevideo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?undertonenetworks\\.com","load-type":["third-party"],"unless-domain":["*undertone.com","*undertonevideo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?undertonevideo\\.com","load-type":["third-party"],"unless-domain":["*undertone.com","*undertonevideo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?51network\\.com","load-type":["third-party"],"unless-domain":["*uniqlick.com","*51network.com","*wanmo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?uniqlick\\.com","load-type":["third-party"],"unless-domain":["*uniqlick.com","*51network.com","*wanmo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wanmo\\.com","load-type":["third-party"],"unless-domain":["*uniqlick.com","*51network.com","*wanmo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?unrulymedia\\.com","load-type":["third-party"],"unless-domain":["*unrulymedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?valuead\\.com","load-type":["third-party"],"unless-domain":["*valuead.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adserver\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dotomi\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dtmpub\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?emjcd\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fastclick\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fastclick\\.net","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?greystripe\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lduhtrp\\.net","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediaplex\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?valueclick\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?valueclick\\.net","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?valueclickmedia\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amigos\\.com","load-type":["third-party"],"unless-domain":["*various.com","*amigos.com","*getiton.com","*medley.com","*nostringsattached.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?getiton\\.com","load-type":["third-party"],"unless-domain":["*various.com","*amigos.com","*getiton.com","*medley.com","*nostringsattached.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?medley\\.com","load-type":["third-party"],"unless-domain":["*various.com","*amigos.com","*getiton.com","*medley.com","*nostringsattached.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nostringsattached\\.com","load-type":["third-party"],"unless-domain":["*various.com","*amigos.com","*getiton.com","*medley.com","*nostringsattached.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?various\\.com","load-type":["third-party"],"unless-domain":["*various.com","*amigos.com","*getiton.com","*medley.com","*nostringsattached.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vcmedia\\.vn","load-type":["third-party"],"unless-domain":["*vcmedia.vn"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ivdopia\\.com","load-type":["third-party"],"unless-domain":["*vdopia.com","*ivdopia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vdopia\\.com","load-type":["third-party"],"unless-domain":["*vdopia.com","*ivdopia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?veeseo\\.com","load-type":["third-party"],"unless-domain":["*veeseo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsvelocity\\.com","load-type":["third-party"],"unless-domain":["*adsvelocity.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mobclix\\.com","load-type":["third-party"],"unless-domain":["*velti.com","*mobclix.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?velti\\.com","load-type":["third-party"],"unless-domain":["*velti.com","*mobclix.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vemba\\.com","load-type":["third-party"],"unless-domain":["*vemba.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?singlefeed\\.com","load-type":["third-party"],"unless-domain":["*vendio.com","*singlefeed.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vendio\\.com","load-type":["third-party"],"unless-domain":["*vendio.com","*singlefeed.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?veoxa\\.com","load-type":["third-party"],"unless-domain":["*veoxa.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?veremedia\\.com","load-type":["third-party"],"unless-domain":["*veremedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?verticalresponse\\.com","load-type":["third-party"],"unless-domain":["*verticalresponse.com","*vresp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vresp\\.com","load-type":["third-party"],"unless-domain":["*verticalresponse.com","*vresp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intellitxt\\.com","load-type":["third-party"],"unless-domain":["*vibrantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?picadmedia\\.com","load-type":["third-party"],"unless-domain":["*vibrantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vibrantmedia\\.com","load-type":["third-party"],"unless-domain":["*vibrantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?viglink\\.com","load-type":["third-party"],"unless-domain":["*viglink.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?viewablemedia\\.net","load-type":["third-party"],"unless-domain":["*visiblemeasures.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visiblemeasures\\.com","load-type":["third-party"],"unless-domain":["*visiblemeasures.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visbrands\\.com","load-type":["third-party"],"unless-domain":["*visbrands.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vdna-assets\\.com","load-type":["third-party"],"unless-domain":["*visualdna.com","*vdna-assets.com","*visualdna-stats.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visualdna-stats\\.com","load-type":["third-party"],"unless-domain":["*visualdna.com","*vdna-assets.com","*visualdna-stats.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visualdna\\.com","load-type":["third-party"],"unless-domain":["*visualdna.com","*vdna-assets.com","*visualdna-stats.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vizu\\.com","load-type":["third-party"],"unless-domain":["*vizu.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vizury\\.com","load-type":["third-party"],"unless-domain":["*vizury.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vserv\\.com","load-type":["third-party"],"unless-domain":["*vserv.com","*vserv.mobi"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vserv\\.mobi","load-type":["third-party"],"unless-domain":["*vserv.com","*vserv.mobi"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?247realmedia\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?accelerator-media\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?acceleratorusa\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?decdna\\.net","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?decideinteractive\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gmads\\.net","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?groupm\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kantarmedia\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mecglobal\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mindshare\\.nl","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mookie1\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pm14\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?realmedia\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?targ\\.ad","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?themig\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wpp\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xaxis\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?contentwidgets\\.net","load-type":["third-party"],"unless-domain":["*wahoha.com","*contentwidgets.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wahoha\\.com","load-type":["third-party"],"unless-domain":["*wahoha.com","*contentwidgets.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?feedperfect\\.com","load-type":["third-party"],"unless-domain":["*web.com","*feedperfect.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?web\\.com","load-type":["third-party"],"unless-domain":["*web.com","*feedperfect.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webads\\.co\\.uk","load-type":["third-party"],"unless-domain":["*www.webads.co.uk","*webads.co.uk"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webgozar\\.com","load-type":["third-party"],"unless-domain":["*webgozar.com","*webgozar.ir"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webgozar\\.ir","load-type":["third-party"],"unless-domain":["*webgozar.com","*webgozar.ir"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dsmmadvantage\\.com","load-type":["third-party"],"unless-domain":["*revanadigital.com","*dsmmadvantage.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webmetro\\.com","load-type":["third-party"],"unless-domain":["*revanadigital.com","*dsmmadvantage.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?weborama\\.com","load-type":["third-party"],"unless-domain":["*weborama.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?weborama\\.fr","load-type":["third-party"],"unless-domain":["*weborama.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webtraffic\\.no","load-type":["third-party"],"unless-domain":["*webtraffic.se","*webtraffic.no"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webtraffic\\.se","load-type":["third-party"],"unless-domain":["*webtraffic.se","*webtraffic.no"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wiredminds\\.com","load-type":["third-party"],"unless-domain":["*wiredminds.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wiredminds\\.de","load-type":["third-party"],"unless-domain":["*wiredminds.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adtotal\\.pl","load-type":["third-party"],"unless-domain":["*wp.pl","*adtotal.pl"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wp\\.pl","load-type":["third-party"],"unless-domain":["*wp.pl","*adtotal.pl"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wishabi\\.com","load-type":["third-party"],"unless-domain":["*wishabi.com","*flipp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wishabi\\.net","load-type":["third-party"],"unless-domain":["*wishabi.com","*flipp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wordstream\\.com","load-type":["third-party"],"unless-domain":["*wordstream.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?admanager-xertive\\.com","load-type":["third-party"],"unless-domain":["*xertivemedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xertivemedia\\.com","load-type":["third-party"],"unless-domain":["*xertivemedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adplan-ds\\.com","load-type":["third-party"],"unless-domain":["*adplan-ds.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ydworld\\.com","load-type":["third-party"],"unless-domain":["*ydworld.com","*yieldivision.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldivision\\.com","load-type":["third-party"],"unless-domain":["*ydworld.com","*yieldivision.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yoc\\.com","load-type":["third-party"],"unless-domain":["*yoc.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yoc-performance\\.com","load-type":["third-party"],"unless-domain":["*yoc.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yabuka\\.com","load-type":["third-party"],"unless-domain":["*yabuka.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adinterax\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adrevolver\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bluelithium\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dapper\\.net","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?interclick\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?overture\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rightmedia\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rmxads\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?secure-adserver\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adserver\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?advertising\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marketingsolutions\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thewheelof\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldmanager\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldmanager\\.net","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yldmgrimg\\.net","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?web-visor\\.com","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?moikrug\\.ru","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yandex\\.com","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yandex\\.ru","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yandex\\.st","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yandex\\.ua","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yandex\\.com\\.tr","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yandex\\.by","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addynamix\\.com","load-type":["third-party"],"unless-domain":["*brightcom.com","*addynamix.com","*luj.sdsjweb.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adserverplus\\.com","load-type":["third-party"],"unless-domain":["*brightcom.com","*addynamix.com","*luj.sdsjweb.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oridian\\.com","load-type":["third-party"],"unless-domain":["*brightcom.com","*addynamix.com","*luj.sdsjweb.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ybrantdigital\\.com","load-type":["third-party"],"unless-domain":["*brightcom.com","*addynamix.com","*luj.sdsjweb.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?attracto\\.com","load-type":["third-party"],"unless-domain":["*yhmg.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickhype\\.com","load-type":["third-party"],"unless-domain":["*yhmg.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yellowhammermg\\.com","load-type":["third-party"],"unless-domain":["*yhmg.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yhmg\\.com","load-type":["third-party"],"unless-domain":["*yhmg.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yesads\\.com","load-type":["third-party"],"unless-domain":["*yesads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldads\\.com","load-type":["third-party"],"unless-domain":["*yieldads.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ybx\\.io","load-type":["third-party"],"unless-domain":["*ybx.io"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldbuild\\.com","load-type":["third-party"],"unless-domain":["*yieldbuild.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldlab\\.de","load-type":["third-party"],"unless-domain":["*yieldlab.de","*yieldlab.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldlab\\.net","load-type":["third-party"],"unless-domain":["*yieldlab.de","*yieldlab.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yieldmo\\.com","load-type":["third-party"],"unless-domain":["*yieldmo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yoggrt\\.com","load-type":["third-party"],"unless-domain":["*yoggrt.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yume\\.com","load-type":["third-party"],"unless-domain":["*yume.com","*yumenetworks.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yumenetworks\\.com","load-type":["third-party"],"unless-domain":["*yume.com","*yumenetworks.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zedo\\.com","load-type":["third-party"],"unless-domain":["*zedo.com","*zincx.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zincx\\.com","load-type":["third-party"],"unless-domain":["*zedo.com","*zincx.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?metricsdirect\\.com","load-type":["third-party"],"unless-domain":["*zango.com","*metricsdirect.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zango\\.com","load-type":["third-party"],"unless-domain":["*zango.com","*metricsdirect.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zemanta\\.com","load-type":["third-party"],"unless-domain":["*zemanta.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zestad\\.com","load-type":["third-party"],"unless-domain":["*zestad.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?insightgrit\\.com","load-type":["third-party"],"unless-domain":["*zetaemailsolutions.com","*insightgrit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zetaemailsolutions\\.com","load-type":["third-party"],"unless-domain":["*zetaemailsolutions.com","*insightgrit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zumobi\\.com","load-type":["third-party"],"unless-domain":["*zumobi.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zypmedia\\.com","load-type":["third-party"],"unless-domain":["*zypmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ru4\\.com","load-type":["third-party"],"unless-domain":["*xplusone.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xplusone\\.com","load-type":["third-party"],"unless-domain":["*xplusone.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adpepper\\.com","load-type":["third-party"],"unless-domain":["*adpepper.us","*adpepper.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adpepper\\.us","load-type":["third-party"],"unless-domain":["*adpepper.us","*adpepper.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ad6media\\.fr","load-type":["third-party"],"unless-domain":["*ad6media.fr"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbrite\\.com","load-type":["third-party"],"unless-domain":["*adbrite.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adprs\\.net","load-type":["third-party"],"unless-domain":["*adprecision.net","*adprs.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aprecision\\.net","load-type":["third-party"],"unless-domain":["*adprecision.net","*adprs.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addgloo\\.com","load-type":["third-party"],"unless-domain":["*addgloo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adhood\\.com","load-type":["third-party"],"unless-domain":["*adhood.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adnologies\\.com","load-type":["third-party"],"unless-domain":["*adnologies.com","*heias.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?heias\\.com","load-type":["third-party"],"unless-domain":["*adnologies.com","*heias.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adrolays\\.com","load-type":["third-party"],"unless-domain":["*contactimpact.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adrolays\\.de","load-type":["third-party"],"unless-domain":["*contactimpact.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adscale\\.de","load-type":["third-party"],"unless-domain":["*stroeer.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adyard\\.de","load-type":["third-party"],"unless-domain":["*adyard.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adzly\\.com","load-type":["third-party"],"unless-domain":["*adzly.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?affili\\.net","load-type":["third-party"],"unless-domain":["*affili.net","*affilinet-inside.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?affilinet-inside\\.de","load-type":["third-party"],"unless-domain":["*affili.net","*affilinet-inside.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?banner-rotation\\.com","load-type":["third-party"],"unless-domain":["*affili.net","*affilinet-inside.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?successfultogether\\.co\\.uk","load-type":["third-party"],"unless-domain":["*affili.net","*affilinet-inside.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?appssavvy\\.com","load-type":["third-party"],"unless-domain":["*appssavvy.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?beencounter\\.com","load-type":["third-party"],"unless-domain":["*beencounter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adbutler\\.de","load-type":["third-party"],"unless-domain":["*belboon.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?belboon\\.com","load-type":["third-party"],"unless-domain":["*belboon.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bigmir\\.net","load-type":["third-party"],"unless-domain":["*bigmir.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cxense\\.com","load-type":["third-party"],"unless-domain":["*cxense.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adxpose\\.com","load-type":["third-party"],"unless-domain":["*comscore.com","*adxpose.com","*scorecardresearch.com","*sitestat.com","*voicefive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dianomi\\.com","load-type":["third-party"],"unless-domain":["*dianomi.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ebay\\.com","load-type":["third-party"],"unless-domain":["*ebay.com","*ebay.at","*ebay.ba","*ebay.be","*ebay.com.au","*ebay.ca","*ebay.ch","*ebay.cn","*ebay.de","*ebay.es","*ebay.fr","*ebay.com.hk","*ebay.ie","*ebay.in","*ebay.it","*ebay.co.jp","*ebay.co.kr","*ebay.com.my","*ebay.nl","*ebay.com.ph","*ebay.pl","*ebay.com.sg","*ebay.com.tw","*ebay.co.uk","*gopjn.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gopjn\\.com","load-type":["third-party"],"unless-domain":["*ebay.com","*ebay.at","*ebay.ba","*ebay.be","*ebay.com.au","*ebay.ca","*ebay.ch","*ebay.cn","*ebay.de","*ebay.es","*ebay.fr","*ebay.com.hk","*ebay.ie","*ebay.in","*ebay.it","*ebay.co.jp","*ebay.co.kr","*ebay.com.my","*ebay.nl","*ebay.com.ph","*ebay.pl","*ebay.com.sg","*ebay.com.tw","*ebay.co.uk","*gopjn.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?etrigue\\.com","load-type":["third-party"],"unless-domain":["*etrigue.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ewaydirect\\.com","load-type":["third-party"],"unless-domain":["*ewaydirect.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ixs1\\.net","load-type":["third-party"],"unless-domain":["*ewaydirect.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?exelate\\.com","load-type":["third-party"],"unless-domain":["*exelate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?exelator\\.com","load-type":["third-party"],"unless-domain":["*exelate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?e-kolay\\.net","load-type":["third-party"],"unless-domain":["*hurriyet.com.tr"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ekolay\\.net","load-type":["third-party"],"unless-domain":["*hurriyet.com.tr"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bnmla\\.com","load-type":["third-party"],"unless-domain":["*engagebdr.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?engagebdr\\.com","load-type":["third-party"],"unless-domain":["*engagebdr.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?777seo\\.com","load-type":["third-party"],"unless-domain":["*ewebse.com","*777seo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ewebse\\.com","load-type":["third-party"],"unless-domain":["*ewebse.com","*777seo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?excitad\\.com","load-type":["third-party"],"unless-domain":["*excitad.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?expo-max\\.com","load-type":["third-party"],"unless-domain":["*expo-max.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eyereturn\\.com","load-type":["third-party"],"unless-domain":["*eyereturnmarketing.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eyereturnmarketing\\.com","load-type":["third-party"],"unless-domain":["*eyereturnmarketing.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?faithadnet\\.com","load-type":["third-party"],"unless-domain":["*faithadnet.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?600z\\.com","load-type":["third-party"],"unless-domain":["*ientry.com","*600z.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ientry\\.com","load-type":["third-party"],"unless-domain":["*ientry.com","*600z.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?centraliprom\\.com","load-type":["third-party"],"unless-domain":["*iprom.si","*centraliprom.com","*iprom.net","*mediaiprom.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iprom\\.net","load-type":["third-party"],"unless-domain":["*iprom.si","*centraliprom.com","*iprom.net","*mediaiprom.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iprom\\.si","load-type":["third-party"],"unless-domain":["*iprom.si","*centraliprom.com","*iprom.net","*mediaiprom.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediaiprom\\.com","load-type":["third-party"],"unless-domain":["*iprom.si","*centraliprom.com","*iprom.net","*mediaiprom.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ipromote\\.com","load-type":["third-party"],"unless-domain":["*ipromote.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iprospect\\.com","load-type":["third-party"],"unless-domain":["*iprospect.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickmanage\\.com","load-type":["third-party"],"unless-domain":["*iprospect.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inner-active\\.com","load-type":["third-party"],"unless-domain":["*inner-active.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adsbyisocket\\.com","load-type":["third-party"],"unless-domain":["*isocket.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?isocket\\.com","load-type":["third-party"],"unless-domain":["*isocket.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?m6d\\.com","load-type":["third-party"],"unless-domain":["*dstillery.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?media6degrees\\.com","load-type":["third-party"],"unless-domain":["*dstillery.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?madvertise\\.com","load-type":["third-party"],"unless-domain":["*madvertise.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mashero\\.com","load-type":["third-party"],"unless-domain":["*mashero.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?media\\.net","load-type":["third-party"],"unless-domain":["*media.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediaforge\\.com","load-type":["third-party"],"unless-domain":["*mediaforge.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mythings\\.com","load-type":["third-party"],"unless-domain":["*mythings.com","*mythingsmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mythingsmedia\\.com","load-type":["third-party"],"unless-domain":["*mythings.com","*mythingsmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?newtention\\.de","load-type":["third-party"],"unless-domain":["*newtention.de","*newtention.net","*newtentionassets.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?newtention\\.net","load-type":["third-party"],"unless-domain":["*newtention.de","*newtention.net","*newtentionassets.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?newtentionassets\\.net","load-type":["third-party"],"unless-domain":["*newtention.de","*newtention.net","*newtentionassets.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nrelate\\.com","load-type":["third-party"],"unless-domain":["*nrelate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nugg\\.ad","load-type":["third-party"],"unless-domain":["*nugg.ad"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nuggad\\.net","load-type":["third-party"],"unless-domain":["*nugg.ad"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?onad\\.eu","load-type":["third-party"],"unless-domain":["*onad.eu"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?plista\\.com","load-type":["third-party"],"unless-domain":["*plista.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quadrantone\\.com","load-type":["third-party"],"unless-domain":["*quadrantone.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sociomantic\\.com","load-type":["third-party"],"unless-domain":["*sociomantic.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sophus3\\.co\\.uk","load-type":["third-party"],"unless-domain":["*sophus3.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sophus3\\.com","load-type":["third-party"],"unless-domain":["*sophus3.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ucoz\\.ae","load-type":["third-party"],"unless-domain":["*ucoz.com","*ucoz.ae","*ucoz.fr","*ucoz.net","*ucoz.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ucoz\\.br","load-type":["third-party"],"unless-domain":["*ucoz.com","*ucoz.ae","*ucoz.fr","*ucoz.net","*ucoz.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ucoz\\.com","load-type":["third-party"],"unless-domain":["*ucoz.com","*ucoz.ae","*ucoz.fr","*ucoz.net","*ucoz.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ucoz\\.du","load-type":["third-party"],"unless-domain":["*ucoz.com","*ucoz.ae","*ucoz.fr","*ucoz.net","*ucoz.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ucoz\\.fr","load-type":["third-party"],"unless-domain":["*ucoz.com","*ucoz.ae","*ucoz.fr","*ucoz.net","*ucoz.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ucoz\\.net","load-type":["third-party"],"unless-domain":["*ucoz.com","*ucoz.ae","*ucoz.fr","*ucoz.net","*ucoz.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ucoz\\.ru","load-type":["third-party"],"unless-domain":["*ucoz.com","*ucoz.ae","*ucoz.fr","*ucoz.net","*ucoz.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?up-value\\.de","load-type":["third-party"],"unless-domain":["*up-value.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xad\\.com","load-type":["third-party"],"unless-domain":["*xad.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xplosion\\.de","load-type":["third-party"],"unless-domain":["*xplosion.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?youknowbest\\.com","load-type":["third-party"],"unless-domain":["*youknowbest.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buy\\.at","load-type":["third-party"],"unless-domain":["*zanox.com","*buy.at","*zanox-affiliate.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zanox-affiliate\\.de","load-type":["third-party"],"unless-domain":["*zanox.com","*buy.at","*zanox-affiliate.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zanox\\.com","load-type":["third-party"],"unless-domain":["*zanox.com","*buy.at","*zanox-affiliate.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zaparena\\.com","load-type":["third-party"],"unless-domain":["*zapunited.com","*zaparena.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zapunited\\.com","load-type":["third-party"],"unless-domain":["*zapunited.com","*zaparena.com"]}}] \ No newline at end of file diff --git a/Client/Frontend/ContentBlocker/disconnect-analytics.json b/Client/Frontend/ContentBlocker/disconnect-analytics.json deleted file mode 100644 index 1c9d3f399..000000000 --- a/Client/Frontend/ContentBlocker/disconnect-analytics.json +++ /dev/null @@ -1 +0,0 @@ -[{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?63squares\\.com","load-type":["third-party"],"unless-domain":["*63labs.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?i-stats\\.com","load-type":["third-party"],"unless-domain":["*63labs.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?atinternet\\.com","load-type":["third-party"],"unless-domain":["*atinternet.com","*hit-parade.com","*xiti.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xiti\\.com","load-type":["third-party"],"unless-domain":["*atinternet.com","*hit-parade.com","*xiti.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?acxiom\\.com","load-type":["third-party"],"unless-domain":["*acxiom.com","*mm7.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mm7\\.net","load-type":["third-party"],"unless-domain":["*acxiom.com","*mm7.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?acxiomapac\\.com","load-type":["third-party"],"unless-domain":["*acxiom.com","*mm7.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?3dstats\\.com","load-type":["third-party"],"unless-domain":["*addfreestats.com","*3dstats.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addfreestats\\.com","load-type":["third-party"],"unless-domain":["*addfreestats.com","*3dstats.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adlooxtracking\\.com","load-type":["third-party"],"unless-domain":["*adloox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adloox\\.com","load-type":["third-party"],"unless-domain":["*adloox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adobedtm\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adventori\\.com","load-type":["third-party"],"unless-domain":["*adventori.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amadesa\\.com","load-type":["third-party"],"unless-domain":["*amadesa.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazingcounters\\.com","load-type":["third-party"],"unless-domain":["*amazingcounters.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?alexametrics\\.com","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?attracta\\.com","load-type":["third-party"],"unless-domain":["*attracta.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?polldaddy\\.com","load-type":["third-party"],"unless-domain":["*automattic.com","*polldaddy.com","*gravatar.com","*intensedebate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?awio\\.com","load-type":["third-party"],"unless-domain":["*awio.com","*w3counter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?w3counter\\.com","load-type":["third-party"],"unless-domain":["*awio.com","*w3counter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?w3roi\\.com","load-type":["third-party"],"unless-domain":["*awio.com","*w3counter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?belstat\\.be","load-type":["third-party"],"unless-domain":["*belstat.com","*belstat.be","*belstat.de","*belstat.fr","*belstat.nl"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?belstat\\.com","load-type":["third-party"],"unless-domain":["*belstat.com","*belstat.be","*belstat.de","*belstat.fr","*belstat.nl"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?belstat\\.de","load-type":["third-party"],"unless-domain":["*belstat.com","*belstat.be","*belstat.de","*belstat.fr","*belstat.nl"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?belstat\\.fr","load-type":["third-party"],"unless-domain":["*belstat.com","*belstat.be","*belstat.de","*belstat.fr","*belstat.nl"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?belstat\\.nl","load-type":["third-party"],"unless-domain":["*belstat.com","*belstat.be","*belstat.de","*belstat.fr","*belstat.nl"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blogcounter\\.de","load-type":["third-party"],"unless-domain":["*blogcounter.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bluemetrix\\.com","load-type":["third-party"],"unless-domain":["*bluemetrix.com","*bmmetrix.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bmmetrix\\.com","load-type":["third-party"],"unless-domain":["*bluemetrix.com","*bmmetrix.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?branica\\.com","load-type":["third-party"],"unless-domain":["*branica.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brightedge\\.com","load-type":["third-party"],"unless-domain":["*brightedge.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bubblestat\\.com","load-type":["third-party"],"unless-domain":["*bubblestat.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?attributionmodel\\.com","load-type":["third-party"],"unless-domain":["*c3metrics.com","*attributionmodel.com","*c3tag.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?c3metrics\\.com","load-type":["third-party"],"unless-domain":["*c3metrics.com","*attributionmodel.com","*c3tag.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?c3tag\\.com","load-type":["third-party"],"unless-domain":["*c3metrics.com","*attributionmodel.com","*c3tag.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cnzz\\.com","load-type":["third-party"],"unless-domain":["*cnzz.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chartbeat\\.com","load-type":["third-party"],"unless-domain":["*chartbeat.com","*chartbeat.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chartbeat\\.net","load-type":["third-party"],"unless-domain":["*chartbeat.com","*chartbeat.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clicktale\\.com","load-type":["third-party"],"unless-domain":["*clicktale.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clicktale\\.net","load-type":["third-party"],"unless-domain":["*clicktale.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pantherssl\\.com","load-type":["third-party"],"unless-domain":["*clicktale.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickdensity\\.com","load-type":["third-party"],"unless-domain":["*clickdensity.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clixmetrix\\.com","load-type":["third-party"],"unless-domain":["*clixmetrix.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clixpy\\.com","load-type":["third-party"],"unless-domain":["*clixpy.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clustrmaps\\.com","load-type":["third-party"],"unless-domain":["*clustrmaps.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?axf8\\.net","load-type":["third-party"],"unless-domain":["*compuware.com","*axf8.net","*dynatrace.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?compuware\\.com","load-type":["third-party"],"unless-domain":["*compuware.com","*axf8.net","*dynatrace.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gomez\\.com","load-type":["third-party"],"unless-domain":["*compuware.com","*axf8.net","*dynatrace.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?connexity\\.com","load-type":["third-party"],"unless-domain":["*connexity.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?connexity\\.net","load-type":["third-party"],"unless-domain":["*connexity.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zmedia\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?conversantmedia\\.com","load-type":["third-party"],"unless-domain":["*conversantmedia.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?convert\\.com","load-type":["third-party"],"unless-domain":["*convert.com","*reedge.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reedge\\.com","load-type":["third-party"],"unless-domain":["*convert.com","*reedge.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?convertro\\.com","load-type":["third-party"],"unless-domain":["*convertro.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cetrk\\.com","load-type":["third-party"],"unless-domain":["*crazyegg.com","*cetrk.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crazyegg\\.com","load-type":["third-party"],"unless-domain":["*crazyegg.com","*cetrk.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crowdscience\\.com","load-type":["third-party"],"unless-domain":["*crowdscience.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cya2\\.net","load-type":["third-party"],"unless-domain":["*cya2.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?collserve\\.com","load-type":["third-party"],"unless-domain":["*ihs.com","*collserve.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dataium\\.com","load-type":["third-party"],"unless-domain":["*ihs.com","*collserve.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?deepintent\\.com","load-type":["third-party"],"unless-domain":["*deepintent.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?demandbase\\.com","load-type":["third-party"],"unless-domain":["*demandbase.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ipcounter\\.de","load-type":["third-party"],"unless-domain":["*directcorp.de","*ipcounter.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trackersimulator\\.org","load-type":["third-party"],"unless-domain":["*eff.org","*trackersimulator.org","*eviltracker.net","*do-not-tracker.org"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eviltracker\\.net","load-type":["third-party"],"unless-domain":["*eff.org","*trackersimulator.org","*eviltracker.net","*do-not-tracker.org"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?do-not-tracker\\.org","load-type":["third-party"],"unless-domain":["*eff.org","*trackersimulator.org","*eviltracker.net","*do-not-tracker.org"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eloqua\\.com","load-type":["third-party"],"unless-domain":["*eloqua.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?encoremetrics\\.com","load-type":["third-party"],"unless-domain":["*encoremetrics.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sitecompass\\.com","load-type":["third-party"],"unless-domain":["*encoremetrics.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eulerian\\.com","load-type":["third-party"],"unless-domain":["*eulerian.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eulerian\\.net","load-type":["third-party"],"unless-domain":["*eulerian.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?feedjit\\.com","load-type":["third-party"],"unless-domain":["*feedjit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?footprintlive\\.com","load-type":["third-party"],"unless-domain":["*footprintlive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?freeonlineusers\\.com","load-type":["third-party"],"unless-domain":["*freeonlineusers.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?free-pagerank\\.com","load-type":["third-party"],"unless-domain":["*free-pagerank.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fullstory\\.com","load-type":["third-party"],"unless-domain":["*fullstory.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gtop\\.ro","load-type":["third-party"],"unless-domain":["*arenaweb.ro"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gtopstats\\.com","load-type":["third-party"],"unless-domain":["*arenaweb.ro"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?getsitecontrol\\.com","load-type":["third-party"],"unless-domain":["*getsitecontrol.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?daphnecm\\.com","load-type":["third-party"],"unless-domain":["*gfk.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gfk\\.com","load-type":["third-party"],"unless-domain":["*gfk.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gfkdaphne\\.com","load-type":["third-party"],"unless-domain":["*gfk.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gaug\\.es","load-type":["third-party"],"unless-domain":["*github.com","*gaug.es"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?godaddy\\.com","load-type":["third-party"],"unless-domain":["*godaddy.com","*trafficfacts.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trafficfacts\\.com","load-type":["third-party"],"unless-domain":["*godaddy.com","*trafficfacts.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gosquared\\.com","load-type":["third-party"],"unless-domain":["*gosquared.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gostats\\.com","load-type":["third-party"],"unless-domain":["*gostats.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google-analytics\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?postrank\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?raasnet\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?redaril\\.com","load-type":["third-party"],"unless-domain":["*hearst.com","*ic-live.com","*iclive.com","*icrossing.com","*raasnet.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?histats\\.com","load-type":["third-party"],"unless-domain":["*histats.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hitsniffer\\.com","load-type":["third-party"],"unless-domain":["*hitsniffer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hitslink\\.com","load-type":["third-party"],"unless-domain":["*hitslink.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hotjar\\.com","load-type":["third-party"],"unless-domain":["*hotjar.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hs-analytics\\.net","load-type":["third-party"],"unless-domain":["*hubspot.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cmcore\\.com","load-type":["third-party"],"unless-domain":["*ibm.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?coremetrics\\.com","load-type":["third-party"],"unless-domain":["*ibm.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ibm\\.com","load-type":["third-party"],"unless-domain":["*ibm.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?infonline\\.de","load-type":["third-party"],"unless-domain":["*infonline.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ivwbox\\.de","load-type":["third-party"],"unless-domain":["*infonline.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ioam\\.de","load-type":["third-party"],"unless-domain":["*infonline.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?enquisite\\.com","load-type":["third-party"],"unless-domain":["*inboundwriter.com","*enquisite.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inboundwriter\\.com","load-type":["third-party"],"unless-domain":["*inboundwriter.com","*enquisite.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hotlog\\.ru","load-type":["third-party"],"unless-domain":["*infostars.ru","*hotlog.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?infostars\\.ru","load-type":["third-party"],"unless-domain":["*infostars.ru","*hotlog.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inspectlet\\.com","load-type":["third-party"],"unless-domain":["*inspectlet.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?domodomain\\.com","load-type":["third-party"],"unless-domain":["*intelligencefocus.com","*leadchampion.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intelligencefocus\\.com","load-type":["third-party"],"unless-domain":["*intelligencefocus.com","*leadchampion.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intercom\\.io","load-type":["third-party"],"unless-domain":["*intercom.io"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?e","load-type":["third-party"],"unless-domain":["*"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?f","load-type":["third-party"],"unless-domain":["*"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?f","load-type":["third-party"],"unless-domain":["*"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?itisatracker\\.com","load-type":["third-party"],"unless-domain":["*itisatracker.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kissmetrics\\.com","load-type":["third-party"],"unless-domain":["*kissmetrics.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?keymetric\\.net","load-type":["third-party"],"unless-domain":["*keymetric.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?src\\.kitcode\\.net","load-type":["third-party"],"unless-domain":["*src.kitcode.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?linezing\\.com","load-type":["third-party"],"unless-domain":["*linezing.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?liveperson\\.com","load-type":["third-party"],"unless-domain":["*liveperson.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nuconomy\\.com","load-type":["third-party"],"unless-domain":["*liveperson.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?logdy\\.com","load-type":["third-party"],"unless-domain":["*logdy.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crwdcntrl\\.net","load-type":["third-party"],"unless-domain":["*lotame.com","*crwdcntrl.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lotame\\.com","load-type":["third-party"],"unless-domain":["*lotame.com","*crwdcntrl.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lynchpin\\.com","load-type":["third-party"],"unless-domain":["*lynchpin.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lypn\\.com","load-type":["third-party"],"unless-domain":["*lynchpin.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clicktracks\\.com","load-type":["third-party"],"unless-domain":["*aurea.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lyris\\.com","load-type":["third-party"],"unless-domain":["*aurea.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lytiks\\.com","load-type":["third-party"],"unless-domain":["*lytiks.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?markmonitor\\.com","load-type":["third-party"],"unless-domain":["*markmonitor.com","*9c9media.ca"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?9c9media\\.ca","load-type":["third-party"],"unless-domain":["*markmonitor.com","*9c9media.ca"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marktest\\.com","load-type":["third-party"],"unless-domain":["*marktest.com","*marktest.pt"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marktest\\.pt","load-type":["third-party"],"unless-domain":["*marktest.com","*marktest.pt"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?maxymiser\\.com","load-type":["third-party"],"unless-domain":["*maxymiser.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?meetrics\\.de","load-type":["third-party"],"unless-domain":["*meetrics.com","*de.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?meetrics\\.net","load-type":["third-party"],"unless-domain":["*meetrics.com","*de.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?research\\.de\\.com","load-type":["third-party"],"unless-domain":["*meetrics.com","*de.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mixpanel\\.com","load-type":["third-party"],"unless-domain":["*mixpanel.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mxpnl\\.com","load-type":["third-party"],"unless-domain":["*mixpanel.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mongoosemetrics\\.com","load-type":["third-party"],"unless-domain":["*mongoosemetrics.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?monitus\\.net","load-type":["third-party"],"unless-domain":["*monitus.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mouseflow\\.com","load-type":["third-party"],"unless-domain":["*mouseflow.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mypagerank\\.net","load-type":["third-party"],"unless-domain":["*mypagerank.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?estat\\.com","load-type":["third-party"],"unless-domain":["*mediametrie-estat.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mediametrie-estat\\.com","load-type":["third-party"],"unless-domain":["*mediametrie-estat.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hitsprocessor\\.com","load-type":["third-party"],"unless-domain":["*netapplications.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?netapplications\\.com","load-type":["third-party"],"unless-domain":["*netapplications.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?newrelic\\.com","load-type":["third-party"],"unless-domain":["*newrelic.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nr-data\\.net","load-type":["third-party"],"unless-domain":["*newrelic.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?apnewsregistry\\.com","load-type":["third-party"],"unless-domain":["*newsright.com","*apnewsregistry.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nextstat\\.com","load-type":["third-party"],"unless-domain":["*nextstat.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?glanceguide\\.com","load-type":["third-party"],"unless-domain":["*nielsen.com","*imrworldwide.com","*imrworldwide.net","*glanceguide.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nielsen\\.com","load-type":["third-party"],"unless-domain":["*nielsen.com","*imrworldwide.com","*imrworldwide.net","*glanceguide.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?observerapp\\.com","load-type":["third-party"],"unless-domain":["*observerapp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?onestat\\.com","load-type":["third-party"],"unless-domain":["*onestat.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?openstat\\.ru","load-type":["third-party"],"unless-domain":["*openstat.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?spylog\\.com","load-type":["third-party"],"unless-domain":["*openstat.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?opentracker\\.net","load-type":["third-party"],"unless-domain":["*opentracker.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?persianstat\\.com","load-type":["third-party"],"unless-domain":["*persianstat.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?phonalytics\\.com","load-type":["third-party"],"unless-domain":["*phonalytics.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?piwik\\.org","load-type":["third-party"],"unless-domain":["*piwik.org"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pronunciator\\.com","load-type":["third-party"],"unless-domain":["*pronunciator.com","*visitorville.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visitorville\\.com","load-type":["third-party"],"unless-domain":["*pronunciator.com","*visitorville.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?protected\\.media","load-type":["third-party"],"unless-domain":["*protected.media","*ad-score.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ad-score\\.com","load-type":["third-party"],"unless-domain":["*protected.media","*ad-score.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kissinsights\\.com","load-type":["third-party"],"unless-domain":["*qualaroo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?qualaroo\\.com","load-type":["third-party"],"unless-domain":["*qualaroo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thecounter\\.com","load-type":["third-party"],"unless-domain":["*quinstreet.com","*thecounter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?quintelligence\\.com","load-type":["third-party"],"unless-domain":["*quintelligence.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?radarurl\\.com","load-type":["third-party"],"unless-domain":["*radarurl.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?researchnow\\.com","load-type":["third-party"],"unless-domain":["*researchnow.com","*valuedopinions.co.uk"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?valuedopinions\\.co\\.uk","load-type":["third-party"],"unless-domain":["*researchnow.com","*valuedopinions.co.uk"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?revtrax\\.com","load-type":["third-party"],"unless-domain":["*revtrax.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ringier\\.cz","load-type":["third-party"],"unless-domain":["*ringier.cz"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?getclicky\\.com","load-type":["third-party"],"unless-domain":["*roxr.net","*clicky.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?roxr\\.net","load-type":["third-party"],"unless-domain":["*roxr.net","*clicky.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?staticstuff\\.net","load-type":["third-party"],"unless-domain":["*roxr.net","*clicky.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?statsit\\.com","load-type":["third-party"],"unless-domain":["*statsit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dl-rms\\.com","load-type":["third-party"],"unless-domain":["*safecount.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dlqm\\.net","load-type":["third-party"],"unless-domain":["*safecount.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?questionmarket\\.com","load-type":["third-party"],"unless-domain":["*safecount.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?safecount\\.net","load-type":["third-party"],"unless-domain":["*safecount.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sageanalyst\\.net","load-type":["third-party"],"unless-domain":["*sagemetrics.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sagemetrics\\.com","load-type":["third-party"],"unless-domain":["*sagemetrics.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?seevolution\\.com","load-type":["third-party"],"unless-domain":["*seevolution.com","*svlu.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?svlu\\.net","load-type":["third-party"],"unless-domain":["*seevolution.com","*svlu.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?segment\\.io","load-type":["third-party"],"unless-domain":["*segment.io"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sessioncam\\.com","load-type":["third-party"],"unless-domain":["*sessioncam.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shinystat\\.com","load-type":["third-party"],"unless-domain":["*shinystat.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shorte\\.st","load-type":["third-party"],"unless-domain":["*shorte.st"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smartlook\\.com","load-type":["third-party"],"unless-domain":["*smartlook.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?snoobi\\.com","load-type":["third-party"],"unless-domain":["*snoobi.fi"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?go-mpulse\\.net","load-type":["third-party"],"unless-domain":["*go-mpulse.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?statcounter\\.com","load-type":["third-party"],"unless-domain":["*statcounter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?statisfy\\.net","load-type":["third-party"],"unless-domain":["*statisfy.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?stratigent\\.com","load-type":["third-party"],"unless-domain":["*stratigent.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tensquare\\.com","load-type":["third-party"],"unless-domain":["*tensquare.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sesamestats\\.com","load-type":["third-party"],"unless-domain":["*tnsglobal.com","*statistik-gallup.net","*tns-counter.ru","*tns-cs.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?statistik-gallup\\.net","load-type":["third-party"],"unless-domain":["*tnsglobal.com","*statistik-gallup.net","*tns-counter.ru","*tns-cs.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tns-counter\\.ru","load-type":["third-party"],"unless-domain":["*tnsglobal.com","*statistik-gallup.net","*tns-counter.ru","*tns-cs.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tns-cs\\.net","load-type":["third-party"],"unless-domain":["*tnsglobal.com","*statistik-gallup.net","*tns-counter.ru","*tns-cs.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tnsglobal\\.com","load-type":["third-party"],"unless-domain":["*tnsglobal.com","*statistik-gallup.net","*tns-counter.ru","*tns-cs.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?heronpartners\\.com\\.au","load-type":["third-party"],"unless-domain":["*marinsm.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?marinsm\\.com","load-type":["third-party"],"unless-domain":["*marinsm.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?roia\\.biz","load-type":["third-party"],"unless-domain":["*trackingsoft.com","*roia.biz"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trackingsoft\\.com","load-type":["third-party"],"unless-domain":["*trackingsoft.com","*roia.biz"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?umbel\\.com","load-type":["third-party"],"unless-domain":["*umbel.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nakanohito\\.jp","load-type":["third-party"],"unless-domain":["*nakanohito.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vertster\\.com","load-type":["third-party"],"unless-domain":["*vertster.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sa-as\\.com","load-type":["third-party"],"unless-domain":["*id.kickfire.com","*sa-as.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visistat\\.com","load-type":["third-party"],"unless-domain":["*id.kickfire.com","*sa-as.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visitstreamer\\.com","load-type":["third-party"],"unless-domain":["*visitstreamer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vizisense\\.com","load-type":["third-party"],"unless-domain":["*vizisense.com","*vizisense.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vizisense\\.net","load-type":["third-party"],"unless-domain":["*vizisense.com","*vizisense.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wowanalytics\\.co\\.uk","load-type":["third-party"],"unless-domain":["*wowanalytics.co.uk"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?compete\\.com","load-type":["third-party"],"unless-domain":["*wpp.com","*decdna.net","*groupm.com","*kantarmedia.com","*mecglobal.com","*mindshareworld.com","*themig.com","*xaxis.com","*compete.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?onlinewebstats\\.com","load-type":["third-party"],"unless-domain":["*onlinewebstats.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?web-stat\\.com","load-type":["third-party"],"unless-domain":["*webtrackingservices.com","*web-stat.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webtrackingservices\\.com","load-type":["third-party"],"unless-domain":["*webtrackingservices.com","*web-stat.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webtraxs\\.com","load-type":["third-party"],"unless-domain":["*webtraxs.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webclicktracker\\.com","load-type":["third-party"],"unless-domain":["*webclicktracker.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webtrekk\\.com","load-type":["third-party"],"unless-domain":["*webtrekk.com","*webtrekk.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webtrekk\\.net","load-type":["third-party"],"unless-domain":["*webtrekk.com","*webtrekk.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reinvigorate\\.net","load-type":["third-party"],"unless-domain":["*webtrends.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webtrends\\.com","load-type":["third-party"],"unless-domain":["*webtrends.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webtrendslive\\.com","load-type":["third-party"],"unless-domain":["*webtrends.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adzmath\\.com","load-type":["third-party"],"unless-domain":["*adzmath.com","*whiteops.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?whiteops\\.com","load-type":["third-party"],"unless-domain":["*adzmath.com","*whiteops.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?woopra-ns\\.com","load-type":["third-party"],"unless-domain":["*woopra.com","*woopra-ns.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?woopra\\.com","load-type":["third-party"],"unless-domain":["*woopra.com","*woopra-ns.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wysistat\\.com","load-type":["third-party"],"unless-domain":["*wysistat.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?analytics\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yellowtracker\\.com","load-type":["third-party"],"unless-domain":["*yellowtracker.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?anormal-media\\.de","load-type":["third-party"],"unless-domain":["*primawebtools.de","*anormal-media.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?anormal-tracker\\.de","load-type":["third-party"],"unless-domain":["*primawebtools.de","*anormal-media.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?certifica\\.com","load-type":["third-party"],"unless-domain":["*comscore.com","*adxpose.com","*scorecardresearch.com","*sitestat.com","*voicefive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?comscore\\.com","load-type":["third-party"],"unless-domain":["*comscore.com","*adxpose.com","*scorecardresearch.com","*sitestat.com","*voicefive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?scorecardresearch\\.com","load-type":["third-party"],"unless-domain":["*comscore.com","*adxpose.com","*scorecardresearch.com","*sitestat.com","*voicefive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sitestat\\.com","load-type":["third-party"],"unless-domain":["*comscore.com","*adxpose.com","*scorecardresearch.com","*sitestat.com","*voicefive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?voicefive\\.com","load-type":["third-party"],"unless-domain":["*comscore.com","*adxpose.com","*scorecardresearch.com","*sitestat.com","*voicefive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mdotlabs\\.com","load-type":["third-party"],"unless-domain":["*comscore.com","*adxpose.com","*scorecardresearch.com","*sitestat.com","*voicefive.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dwstat\\.cn","load-type":["third-party"],"unless-domain":["*dwstat.cn"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?eproof\\.com","load-type":["third-party"],"unless-domain":["*eproof.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?extreme-dm\\.com","load-type":["third-party"],"unless-domain":["*extremetracking.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?extremetracking\\.com","load-type":["third-party"],"unless-domain":["*extremetracking.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?etracker\\.com","load-type":["third-party"],"unless-domain":["*etracker.com","*etracker.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?etracker\\.de","load-type":["third-party"],"unless-domain":["*etracker.com","*etracker.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sedotracker\\.com","load-type":["third-party"],"unless-domain":["*etracker.com","*etracker.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sedotracker\\.de","load-type":["third-party"],"unless-domain":["*etracker.com","*etracker.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iperceptions\\.com","load-type":["third-party"],"unless-domain":["*iperceptions.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?motigo\\.com","load-type":["third-party"],"unless-domain":["*motigo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nedstatbasic\\.net","load-type":["third-party"],"unless-domain":["*motigo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nurago\\.com","load-type":["third-party"],"unless-domain":["*sensic.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nurago\\.de","load-type":["third-party"],"unless-domain":["*sensic.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sensic\\.net","load-type":["third-party"],"unless-domain":["*sensic.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?phpmyvisites\\.us","load-type":["third-party"],"unless-domain":["*phpmyvisites.us"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?4u\\.pl","load-type":["third-party"],"unless-domain":["*4u.pl"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vistrac\\.com","load-type":["third-party"],"unless-domain":["*vistrac.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amung\\.us","load-type":["third-party"],"unless-domain":["*amung.us"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oewa\\.at","load-type":["third-party"],"unless-domain":["*oewa.at"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oewabox\\.at","load-type":["third-party"],"unless-domain":["*oewa.at"]}}] \ No newline at end of file diff --git a/Client/Frontend/ContentBlocker/disconnect-content.json b/Client/Frontend/ContentBlocker/disconnect-content.json deleted file mode 100644 index 4f7aa4efd..000000000 --- a/Client/Frontend/ContentBlocker/disconnect-content.json +++ /dev/null @@ -1 +0,0 @@ -[{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tynt\\.com","load-type":["third-party"],"unless-domain":["*33across.com","*tynt.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?akqa\\.com","load-type":["third-party"],"unless-domain":["*akqa.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?srtk\\.net","load-type":["third-party"],"unless-domain":["*akqa.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?5min\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aim\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aol\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aolanswers\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aolcdn\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aoltechguru\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?autoblog\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cambio\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dailyfinance\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?editions\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?engadget\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?games\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?homesessive\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?huffingtonpost\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?joystiq\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kitchendaily\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?makers\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mandatory\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mapquest\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?moviefone\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?noisecreep\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?patch\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pawnation\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shortcuts\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shoutcast\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?spinner\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?stylelist\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?stylemepretty\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?surphace\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?techcrunch\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?theboombox\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?theboot\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tuaw\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?userplane\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?winamp\\.com","load-type":["third-party"],"unless-domain":["*aol.com","*adsonar.com","*advertising.com","*atwola.com","*leadback.com","*tacoda.net","*5min.com","*aim.com","*aolcdn.com","*aoltechguru.com","*autoblog.com","*cambio.com","*dailyfinance.com","*editions.com","*engadget.com","*games.com","*homesessive.com","*huffingtonpost.com","*makers.com","*mandatory.com","*mapquest.com","*moviefone.com","*noisecreep.com","*patch.com","*pawnation.com","*shortcuts.com","*shoutcast.com","*spinner.com","*stylelist.com","*stylemepretty.com","*surphace.com","*techcrunch.com","*theboombox.com","*theboot.com","*userplane.com","*winamp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?activengage\\.com","load-type":["third-party"],"unless-domain":["*activengage.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adap\\.tv","load-type":["third-party"],"unless-domain":["*adap.tv"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?adobe\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?typekit\\.com","load-type":["third-party"],"unless-domain":["*adobe.com","*typekit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?abmr\\.net","load-type":["third-party"],"unless-domain":["*akamai.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?akamai\\.com","load-type":["third-party"],"unless-domain":["*akamai.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?edgesuite\\.net","load-type":["third-party"],"unless-domain":["*akamai.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?amazon\\.com","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cloudfront\\.net","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?alexa\\.com","load-type":["third-party"],"unless-domain":["*amazon.com","*amazon.ca","*amazon.co.jp","*amazon.co.uk","*amazon.de","*amazon.es","*amazon.fr","*amazon.it","*assoc-amazon.com","*alexa.com","*amazonaws.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?automattic\\.com","load-type":["third-party"],"unless-domain":["*automattic.com","*polldaddy.com","*gravatar.com","*intensedebate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gravatar\\.com","load-type":["third-party"],"unless-domain":["*automattic.com","*polldaddy.com","*gravatar.com","*intensedebate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?intensedebate\\.com","load-type":["third-party"],"unless-domain":["*automattic.com","*polldaddy.com","*gravatar.com","*intensedebate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?btbuckets\\.com","load-type":["third-party"],"unless-domain":["*btbuckets.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?baynote\\.com","load-type":["third-party"],"unless-domain":["*baynote.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?baynote\\.net","load-type":["third-party"],"unless-domain":["*baynote.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bazaarvoice\\.com","load-type":["third-party"],"unless-domain":["*bazaarvoice.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bigdoor\\.com","load-type":["third-party"],"unless-domain":["*bigdoor.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?onetruefan\\.com","load-type":["third-party"],"unless-domain":["*bigdoor.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?brightcove\\.com","load-type":["third-party"],"unless-domain":["*brightcove.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?browser-update\\.org","load-type":["third-party"],"unless-domain":["*browser-update.org"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bufferapp\\.com","load-type":["third-party"],"unless-domain":["*bufferapp.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bunchball\\.com","load-type":["third-party"],"unless-domain":["*bunchball.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buzzfed\\.com","load-type":["third-party"],"unless-domain":["*buzzfeed.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buzzfeed\\.com","load-type":["third-party"],"unless-domain":["*buzzfeed.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cbsinteractive\\.com","load-type":["third-party"],"unless-domain":["*cbsinteractive.com","*com.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?com\\.com","load-type":["third-party"],"unless-domain":["*cbsinteractive.com","*com.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cbox\\.ws","load-type":["third-party"],"unless-domain":["*cbox.ws"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cedexis\\.com","load-type":["third-party"],"unless-domain":["*cedexis.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?cedexis\\.net","load-type":["third-party"],"unless-domain":["*cedexis.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?certona\\.com","load-type":["third-party"],"unless-domain":["*certona.com","*res-x.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?res-x\\.com","load-type":["third-party"],"unless-domain":["*certona.com","*res-x.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clipsyndicate\\.com","load-type":["third-party"],"unless-domain":["*clipsyndicate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?collarity\\.com","load-type":["third-party"],"unless-domain":["*collarity.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?conduit-banners\\.com","load-type":["third-party"],"unless-domain":["*conduit.com","*conduit-banners.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?conduit-services\\.com","load-type":["third-party"],"unless-domain":["*conduit.com","*conduit-banners.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?conduit\\.com","load-type":["third-party"],"unless-domain":["*conduit.com","*conduit-banners.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wibiya\\.com","load-type":["third-party"],"unless-domain":["*conduit.com","*conduit-banners.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?congoo\\.com","load-type":["third-party"],"unless-domain":["*congoo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?contactatonce\\.com","load-type":["third-party"],"unless-domain":["*contactatonce.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?conviva\\.com","load-type":["third-party"],"unless-domain":["*conviva.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?dailyme\\.com","load-type":["third-party"],"unless-domain":["*dailyme.com","*newstogram.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?newstogram\\.com","load-type":["third-party"],"unless-domain":["*dailyme.com","*newstogram.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?datasift\\.com","load-type":["third-party"],"unless-domain":["*datasift.com","*tweetmeme.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tweetmeme\\.com","load-type":["third-party"],"unless-domain":["*datasift.com","*tweetmeme.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?disqus\\.com","load-type":["third-party"],"unless-domain":["*disqus.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?aboutecho\\.com","load-type":["third-party"],"unless-domain":["*aboutecho.com","*haloscan.com","*js-kit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?haloscan\\.com","load-type":["third-party"],"unless-domain":["*aboutecho.com","*haloscan.com","*js-kit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?js-kit\\.com","load-type":["third-party"],"unless-domain":["*aboutecho.com","*haloscan.com","*js-kit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?akamaihd\\.net","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?instagram\\.com","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fbcdn\\.net","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?messenger\\.com","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?flattr\\.com","load-type":["third-party"],"unless-domain":["*flattr.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?freewheel\\.tv","load-type":["third-party"],"unless-domain":["*freewheel.tv","*fwmrm.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fwmrm\\.net","load-type":["third-party"],"unless-domain":["*freewheel.tv","*fwmrm.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?genius\\.com","load-type":["third-party"],"unless-domain":["*genius.com","*rsvpgenius.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?getsatisfaction\\.com","load-type":["third-party"],"unless-domain":["*getsatisfaction.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gigcount\\.com","load-type":["third-party"],"unless-domain":["*gigya.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gigya\\.com","load-type":["third-party"],"unless-domain":["*gigya.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?globaltakeoff\\.com","load-type":["third-party"],"unless-domain":["*globaltakeoff.com","*globaltakeoff.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?globaltakeoff\\.net","load-type":["third-party"],"unless-domain":["*globaltakeoff.com","*globaltakeoff.net"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?formalyzer\\.com","load-type":["third-party"],"unless-domain":["*datapipe.com","*formalyzer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gogrid\\.com","load-type":["third-party"],"unless-domain":["*datapipe.com","*formalyzer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?komli\\.net","load-type":["third-party"],"unless-domain":["*datapipe.com","*formalyzer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?apture\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blogger\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?feedburner\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ggpht\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gmodules\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google-melange\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ad","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ae","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.af","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ag","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ai","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.al","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.am","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.ao","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ar","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.as","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.at","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.au","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.az","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ba","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.bd","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.be","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.bf","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.bg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.bh","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.bi","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.bj","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.bn","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.bo","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.br","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.bs","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.bt","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.bw","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.by","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.bz","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ca","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cd","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cf","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ch","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ci","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.ck","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cl","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cn","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.co","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?accounts\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?apis\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?appengine\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?books\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?checkout\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?chrome\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?code\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?codesearch\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?docs\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?drive\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?earth\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?encrypted\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?feedburner\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?feedproxy\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?finance\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?groups\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?health\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?images\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?investor\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?knol\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?maps\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?music\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?news\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?picasa\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?picasaweb\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?play\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?script\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shopping\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sites\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sketchup\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?support\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?talk\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?talkgadget\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?toolbar\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?translate\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trends\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?video\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?videos\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wallet\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?www\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.cr","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.cu","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cv","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.cy","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cz","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.de","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.dj","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.dk","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.dm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.do","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.dz","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ec","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ee","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.eg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.es","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.et","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.fi","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.fj","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.fm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.fr","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ga","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ge","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.gg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.gh","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.gi","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.gl","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.gm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.gp","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.gr","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.gt","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.gy","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.hk","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.hn","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.hr","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ht","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.hu","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.id","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ie","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.il","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.im","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.in","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.iq","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.is","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.it","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.je","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.jm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.jo","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.jp","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.ke","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.kh","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ki","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.kg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.kr","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.kw","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.kz","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.la","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.lb","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.li","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.lk","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.ls","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.lt","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.lu","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.lv","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ly","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.ma","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.md","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.me","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.mg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.mk","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ml","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.mm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.mn","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ms","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.mt","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.mu","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.mv","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.mw","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.mx","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.my","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.mz","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.na","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.nf","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ng","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ni","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ne","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.nl","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.no","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.np","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.nr","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.nu","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.nz","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.om","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.pa","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.pe","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.pg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ph","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.pk","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.pl","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.pn","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.pr","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ps","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.pt","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.py","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.qa","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ro","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ru","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.rw","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.sa","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.sb","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.sc","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.se","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.sg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.sh","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.si","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.sk","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.sl","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.sn","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.so","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.sm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.st","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.sv","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.td","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.tg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.th","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.tj","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.tk","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.tl","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.tm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.tn","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.to","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.tr","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.tt","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.tw","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.tz","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.ua","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.ug","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.uk","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.uy","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.uz","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.vc","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.ve","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.vg","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.vi","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.com\\.vn","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.vu","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.ws","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.rs","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.za","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.zm","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.co\\.zw","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?google\\.cat","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?googleapis\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?googleartproject\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?googleusercontent\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gstatic\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?panoramio\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?postini\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?recaptcha\\.net","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?youtube\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gravity\\.com","load-type":["third-party"],"unless-domain":["*gravity.com","*grvcdn.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?grvcdn\\.com","load-type":["third-party"],"unless-domain":["*gravity.com","*grvcdn.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?heyzap\\.com","load-type":["third-party"],"unless-domain":["*heyzap.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hubspot\\.com","load-type":["third-party"],"unless-domain":["*hubspot.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kaltura\\.com","load-type":["third-party"],"unless-domain":["*kaltura.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clickability\\.com","load-type":["third-party"],"unless-domain":["*limelight.com","*uplandsoftware.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?limelight\\.com","load-type":["third-party"],"unless-domain":["*limelight.com","*uplandsoftware.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?llnwd\\.net","load-type":["third-party"],"unless-domain":["*limelight.com","*uplandsoftware.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?liveperson\\.net","load-type":["third-party"],"unless-domain":["*liveperson.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?liverail\\.com","load-type":["third-party"],"unless-domain":["*liverail.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fyre\\.co","load-type":["third-party"],"unless-domain":["*livefyre.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?livefyre\\.com","load-type":["third-party"],"unless-domain":["*livefyre.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?longtailvideo\\.com","load-type":["third-party"],"unless-domain":["*jwplayer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ltassrv\\.com","load-type":["third-party"],"unless-domain":["*jwplayer.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?luminate\\.com","load-type":["third-party"],"unless-domain":["*luminate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pixazza\\.com","load-type":["third-party"],"unless-domain":["*luminate.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?markit\\.com","load-type":["third-party"],"unless-domain":["*markit.com","*wsod.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wsod\\.com","load-type":["third-party"],"unless-domain":["*markit.com","*wsod.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mashlogic\\.com","load-type":["third-party"],"unless-domain":["*mashlogic.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mcafee\\.com","load-type":["third-party"],"unless-domain":["*mcafee.com","*mcafeesecure.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?scanalert\\.com","load-type":["third-party"],"unless-domain":["*mcafee.com","*mcafeesecure.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?bing\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gamesforwindows\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?getgamesmart\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?healthvault\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ieaddons\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iegallery\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?live\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?microsoft\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?microsoftalumni\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?microsoftalumni\\.org","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?microsoftstore\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?msn\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?msnbc\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?msndirect\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?nbcnews\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?office\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?officelive\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?outlook\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?s-msn\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?skype\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?windowsphone\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?worldwidetelescope\\.org","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xbox\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zune\\.com","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zune\\.net","load-type":["third-party"],"unless-domain":["*microsoft.com","*atdmt.com","*bing.com","*gamesforwindows.com","*getgamesmart.com","*healthvault.com","*ieaddons.com","*iegallery.com","*live.com","*microsoftalumni.com","*microsoftalumni.org","*microsoftstore.com","*msn.com","*msnbc.com","*nbcnews.com","*office.com","*officelive.com","*outlook.com","*s-msn.com","*skype.com","*windowsphone.com","*worldwidetelescope.org","*xbox.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?newsinc\\.com","load-type":["third-party"],"unless-domain":["*newsinc.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?blaze\\.com","load-type":["third-party"],"unless-domain":["*iwin.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oberon-media\\.com","load-type":["third-party"],"unless-domain":["*iwin.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?olark\\.com","load-type":["third-party"],"unless-domain":["*olark.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oo4\\.com","load-type":["third-party"],"unless-domain":["*ooyala.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ooyala\\.com","load-type":["third-party"],"unless-domain":["*ooyala.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?optimizely\\.com","load-type":["third-party"],"unless-domain":["*optimizely.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?atgsvcs\\.com","load-type":["third-party"],"unless-domain":["*oracle.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?instantservice\\.com","load-type":["third-party"],"unless-domain":["*oracle.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?istrack\\.com","load-type":["third-party"],"unless-domain":["*oracle.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?oracle\\.com","load-type":["third-party"],"unless-domain":["*oracle.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?parsely\\.com","load-type":["third-party"],"unless-domain":["*parsely.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?peerius\\.com","load-type":["third-party"],"unless-domain":["*peerius.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pinterest\\.com","load-type":["third-party"],"unless-domain":["*pinterest.com","*pinterest.de","*pinterest.pt","*pinterest.se","*pinterest.jp","*pinterest.co.kr","*pinterest.dk","*pinterest.com.mx","*pinterest.at","*pinterest.co.uk","*pinterest.ie","*pinterest.fr","*pinterest.ca","*pinterest.ch","*pinterest.es","*pinterest.cl","*pinterest.nz","*pinterest.com.au"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?punchtab\\.com","load-type":["third-party"],"unless-domain":["*punchtab.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rim\\.com","load-type":["third-party"],"unless-domain":["*global.blackberry.com","*laptopverge.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?scoreloop\\.com","load-type":["third-party"],"unless-domain":["*global.blackberry.com","*laptopverge.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?saymedia\\.com","load-type":["third-party"],"unless-domain":["*saymedia.com","*typepad.com","*videoegg.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?typepad\\.com","load-type":["third-party"],"unless-domain":["*saymedia.com","*typepad.com","*videoegg.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?videoegg\\.com","load-type":["third-party"],"unless-domain":["*saymedia.com","*typepad.com","*videoegg.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?salesforceliveagent\\.com","load-type":["third-party"],"unless-domain":["*salesforce.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?scribefire\\.com","load-type":["third-party"],"unless-domain":["*scribefire.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sixapart\\.com","load-type":["third-party"],"unless-domain":["*movabletype.com","*sixapart.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?skribit\\.com","load-type":["third-party"],"unless-domain":["*paulstamatiou.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?snapengage\\.com","load-type":["third-party"],"unless-domain":["*snapengage.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?springmetrics\\.com","load-type":["third-party"],"unless-domain":["*springmetrics.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?superfish\\.com","load-type":["third-party"],"unless-domain":["*superfish.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?synacor\\.com","load-type":["third-party"],"unless-domain":["*synacor.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?truste\\.com","load-type":["third-party"],"unless-domain":["*truste.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thinglink\\.com","load-type":["third-party"],"unless-domain":["*thinglink.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thismoment\\.com","load-type":["third-party"],"unless-domain":["*thismoment.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?thummit\\.com","load-type":["third-party"],"unless-domain":["*thummit.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?topsy\\.com","load-type":["third-party"],"unless-domain":["*topsy.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tracemyip\\.org","load-type":["third-party"],"unless-domain":["*tracemyip.org"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trackset\\.com","load-type":["third-party"],"unless-domain":["*trackset.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trovus\\.co\\.uk","load-type":["third-party"],"unless-domain":["*www.trovus.co.uk","*trovus.co.uk"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?trumba\\.com","load-type":["third-party"],"unless-domain":["*trumba.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tumblr\\.com","load-type":["third-party"],"unless-domain":["*tumblr.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?turn\\.com","load-type":["third-party"],"unless-domain":["*turn.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?turnto\\.com","load-type":["third-party"],"unless-domain":["*turntonetworks.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?turntonetworks\\.com","load-type":["third-party"],"unless-domain":["*turntonetworks.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tweetboard\\.com","load-type":["third-party"],"unless-domain":["*tweetboard.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?twittercounter\\.com","load-type":["third-party"],"unless-domain":["*twittercounter.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ubermedia\\.com","load-type":["third-party"],"unless-domain":["*ubermedia.com","*tweetup.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tweetup\\.com","load-type":["third-party"],"unless-domain":["*ubermedia.com","*tweetup.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ubertags\\.com","load-type":["third-party"],"unless-domain":["*ubertags.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?unbounce\\.com","load-type":["third-party"],"unless-domain":["*unbounce.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?uptrends\\.com","load-type":["third-party"],"unless-domain":["*uptrends.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?usabilitysciences\\.com","load-type":["third-party"],"unless-domain":["*usabilitysciences.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webiqonline\\.com","load-type":["third-party"],"unless-domain":["*usabilitysciences.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?uservoice\\.com","load-type":["third-party"],"unless-domain":["*uservoice.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vgwort\\.de","load-type":["third-party"],"unless-domain":["*vgwort.de"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vindicogroup\\.com","load-type":["third-party"],"unless-domain":["*vindicogroup.com","*vindicosuite.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vindicosuite\\.com","load-type":["third-party"],"unless-domain":["*vindicogroup.com","*vindicosuite.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?verticalacuity\\.com","load-type":["third-party"],"unless-domain":["*verticalacuity.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tidaltv\\.com","load-type":["third-party"],"unless-domain":["*videologygroup.com","*tidaltv.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?videologygroup\\.com","load-type":["third-party"],"unless-domain":["*videologygroup.com","*tidaltv.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?qoof\\.com","load-type":["third-party"],"unless-domain":["*viewbix.com","*qoof.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?viewbix\\.com","load-type":["third-party"],"unless-domain":["*viewbix.com","*qoof.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vimeo\\.com","load-type":["third-party"],"unless-domain":["*vimeo.com","*vimeocdn.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vimeocdn\\.com","load-type":["third-party"],"unless-domain":["*vimeo.com","*vimeocdn.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visualrevenue\\.com","load-type":["third-party"],"unless-domain":["*visualrevenue.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?voice2page\\.com","load-type":["third-party"],"unless-domain":["*voice2page.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive0\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive1\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive2\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive3\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive4\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive5\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive6\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive7\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive8\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?websitealive9\\.com","load-type":["third-party"],"unless-domain":["*websitealive.com","*websitealive0.com","*websitealive1.com","*websitealive2.com","*websitealive3.com","*websitealive4.com","*websitealive5.com","*websitealive6.com","*websitealive7.com","*websitealive8.com","*websitealive9.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?visualwebsiteoptimizer\\.com","load-type":["third-party"],"unless-domain":["*wingify.com","*vwo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wingify\\.com","load-type":["third-party"],"unless-domain":["*wingify.com","*vwo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xtify\\.com","load-type":["third-party"],"unless-domain":["*xtify.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?flickr\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?staticflickr\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?answers\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?apps\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?autos\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?biz\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?developer\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?everything\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?finance\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?games\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?groups\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?help\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?hotjobs\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?info\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?local\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?messages\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?movies\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?msg\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?news\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?omg\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pipes\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?realestate\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?search\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shine\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?smallbusiness\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sports\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?suggestions\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?travel\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?upcoming\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webhosting\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?widgets\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?www\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yahooapis\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yahoofs\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yimg\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ypolicyblog\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?yuilibrary\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zenfs\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?api-maps\\.yandex\\.ru","load-type":["third-party"],"unless-domain":["*yadi.sk","*yandex.com","*moikrug.ru","*yandex.ru","*yandex.st","*yandex.ua","*yandex.com.tr","*yandex.by"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zendesk\\.com","load-type":["third-party"],"unless-domain":["*zendesk.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?zopim\\.com","load-type":["third-party"],"unless-domain":["*zopim.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buysafe\\.com","load-type":["third-party"],"unless-domain":["*buysafe.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iesnare\\.com","load-type":["third-party"],"unless-domain":["*iovation.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?iovation\\.com","load-type":["third-party"],"unless-domain":["*iovation.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?kikin\\.com","load-type":["third-party"],"unless-domain":["*kikin.com"]}}] \ No newline at end of file diff --git a/Client/Frontend/ContentBlocker/disconnect-social.json b/Client/Frontend/ContentBlocker/disconnect-social.json deleted file mode 100644 index ad6f71ccd..000000000 --- a/Client/Frontend/ContentBlocker/disconnect-social.json +++ /dev/null @@ -1 +0,0 @@ -[{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addthis\\.com","load-type":["third-party"],"unless-domain":["*addthis.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addthiscdn\\.com","load-type":["third-party"],"unless-domain":["*addthis.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addthisedge\\.com","load-type":["third-party"],"unless-domain":["*addthis.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?clearspring\\.com","load-type":["third-party"],"unless-domain":["*addthis.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?connectedads\\.net","load-type":["third-party"],"unless-domain":["*addthis.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xgraph\\.com","load-type":["third-party"],"unless-domain":["*addthis.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?xgraph\\.net","load-type":["third-party"],"unless-domain":["*addthis.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?causes\\.com","load-type":["third-party"],"unless-domain":["*causes.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?digg\\.com","load-type":["third-party"],"unless-domain":["*digg.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?facebook\\.com","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?facebook\\.de","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?facebook\\.fr","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?facebook\\.net","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?fb\\.com","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?atlassolutions\\.com","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?friendfeed\\.com","load-type":["third-party"],"unless-domain":["*facebook.com","*facebook.de","*facebook.fr","*facebook.net","*fb.com","*fb.me","*friendfeed.com","*instagram.com","*fbcdn.net","*messenger.com","*atlassolutions.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?developers\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?gmail\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mail\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?inbox\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?orkut\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?plus\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?plusone\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?voice\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?wave\\.google\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?googlemail\\.com","load-type":["third-party"],"unless-domain":["*abc.xyz","*google.com","*ingress.com","*admeld.com","*blogger.com","*google-melange.com","*google.ad","*google.ae","*google.com.af","*google.com.ag","*google.com.ai","*google.al","*google.am","*google.co.ao","*google.com.ar","*google.as","*google.at","*google.com.au","*google.az","*google.ba","*google.com.bd","*google.be","*google.bf","*google.bg","*google.com.bh","*google.bi","*google.bj","*google.com.bn","*google.com.bo","*google.com.br","*google.bs","*google.bt","*google.co.bw","*google.by","*google.com.bz","*google.ca","*google.cd","*google.cf","*google.cg","*google.ch","*google.ci","*google.co.ck","*google.cl","*google.cm","*google.cn","*google.com.co","*google.co.cr","*google.com.cu","*google.cv","*google.com.cy","*google.cz","*google.de","*google.dj","*google.dk","*google.dm","*google.com.do","*google.dz","*google.com.ec","*google.ee","*google.com.eg","*google.es","*google.com.et","*google.fi","*google.com.fj","*google.fm","*google.fr","*google.ga","*google.ge","*google.gg","*google.com.gh","*google.com.gi","*google.gl","*google.gm","*google.gp","*google.gr","*google.com.gt","*google.gy","*google.com.hk","*google.hn","*google.hr","*google.ht","*google.hu","*google.co.id","*google.ie","*google.co.il","*google.im","*google.co.in","*google.iq","*google.is","*google.it","*google.je","*google.com.jm","*google.jo","*google.co.jp","*google.co.ke","*google.com.kh","*google.ki","*google.kg","*google.co.kr","*google.com.kw","*google.kz","*google.la","*google.com.lb","*google.li","*google.lk","*google.co.ls","*google.lt","*google.lu","*google.lv","*google.com.ly","*google.co.ma","*google.md","*google.me","*google.mg","*google.mk","*google.ml","*google.com.mm","*google.mn","*google.ms","*google.com.mt","*google.mu","*google.mv","*google.mw","*google.com.mx","*google.com.my","*google.co.mz","*google.com.na","*google.com.nf","*google.com.ng","*google.com.ni","*google.ne","*google.nl","*google.no","*google.com.np","*google.nr","*google.nu","*google.co.nz","*google.com.om","*google.com.pa","*google.com.pe","*google.com.pg","*google.com.ph","*google.com.pk","*google.pl","*google.pn","*google.com.pr","*google.ps","*google.pt","*google.com.py","*google.com.qa","*google.ro","*google.ru","*google.rw","*google.com.sa","*google.com.sb","*google.sc","*google.se","*google.com.sg","*google.sh","*google.si","*google.sk","*google.com.sl","*google.sn","*google.so","*google.sm","*google.st","*google.com.sv","*google.td","*google.tg","*google.co.th","*google.com.tj","*google.tk","*google.tl","*google.tm","*google.tn","*google.to","*google.com.tr","*google.tt","*google.com.tw","*google.co.tz","*google.com.ua","*google.co.ug","*google.co.uk","*google.com.uy","*google.co.uz","*google.com.vc","*google.co.ve","*google.vg","*google.co.vi","*google.com.vn","*google.vu","*google.ws","*google.rs","*google.co.za","*google.co.zm","*google.co.zw","*google.cat","*panoramio.com","*youtube.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?licdn\\.com","load-type":["third-party"],"unless-domain":["*linkedin.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?linkedin\\.com","load-type":["third-party"],"unless-domain":["*linkedin.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?addtoany\\.com","load-type":["third-party"],"unless-domain":["*addtoany.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?lockerz\\.com","load-type":["third-party"],"unless-domain":["*addtoany.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?list\\.ru","load-type":["third-party"],"unless-domain":["*mail.ru","*list.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mail\\.ru","load-type":["third-party"],"unless-domain":["*mail.ru","*list.ru"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?meebo\\.com","load-type":["third-party"],"unless-domain":["*meebo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?meebocdn\\.net","load-type":["third-party"],"unless-domain":["*meebo.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?papayamobile\\.com","load-type":["third-party"],"unless-domain":["*papayamobile.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?sharethis\\.com","load-type":["third-party"],"unless-domain":["*sharethis.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buzzster\\.com","load-type":["third-party"],"unless-domain":["*shareaholic.com","*buzzster.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?shareaholic\\.com","load-type":["third-party"],"unless-domain":["*shareaholic.com","*buzzster.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?stumble-upon\\.com","load-type":["third-party"],"unless-domain":["*stumbleupon.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?stumbleupon\\.com","load-type":["third-party"],"unless-domain":["*stumbleupon.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?backtype\\.com","load-type":["third-party"],"unless-domain":["*twitter.com","*crashlytics.com","*tweetdeck.com","*twitter.jp","*digits.com","*fabric.io"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?crashlytics\\.com","load-type":["third-party"],"unless-domain":["*twitter.com","*crashlytics.com","*tweetdeck.com","*twitter.jp","*digits.com","*fabric.io"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?tweetdeck\\.com","load-type":["third-party"],"unless-domain":["*twitter.com","*crashlytics.com","*tweetdeck.com","*twitter.jp","*digits.com","*fabric.io"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?twimg\\.com","load-type":["third-party"],"unless-domain":["*twitter.com","*crashlytics.com","*tweetdeck.com","*twitter.jp","*digits.com","*fabric.io"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?twitter\\.com","load-type":["third-party"],"unless-domain":["*twitter.com","*crashlytics.com","*tweetdeck.com","*twitter.jp","*digits.com","*fabric.io"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?twitter\\.jp","load-type":["third-party"],"unless-domain":["*twitter.com","*crashlytics.com","*tweetdeck.com","*twitter.jp","*digits.com","*fabric.io"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?userapi\\.com","load-type":["third-party"],"unless-domain":["*vk.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vk\\.com","load-type":["third-party"],"unless-domain":["*vk.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?vkontakte\\.ru","load-type":["third-party"],"unless-domain":["*vk.com"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mybloglog\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?rocketmail\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?address\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?alerts\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?avatars\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?buzz\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?calendar\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?edit\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?legalredirect\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?login\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?mail\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?my\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?notepad\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?pulse\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?webmessenger\\.yahoo\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?ymail\\.com","load-type":["third-party"],"unless-domain":["*flickr.com","*yuilibrary.com","*tumblr.com","*yahoo.com","*yahoostudios.com","*yahoo.co.jp"]}},{"action":{"type":"block"},"trigger":{"url-filter":"^https?://([^/]+\\.)?reddit\\.com","load-type":["third-party"],"unless-domain":["*reddit.com"]}}] \ No newline at end of file diff --git a/Client/Frontend/Home/ActivityStreamPanel.swift b/Client/Frontend/Home/ActivityStreamPanel.swift old mode 100644 new mode 100755 index b49d5afec..1bee40453 --- a/Client/Frontend/Home/ActivityStreamPanel.swift +++ b/Client/Frontend/Home/ActivityStreamPanel.swift @@ -92,11 +92,8 @@ class ActivityStreamPanel: UICollectionViewController, HomePanel { collectionView?.addGestureRecognizer(longPressRecognizer) - NotificationCenter.default.addObserver(self, - selector: #selector(didChangeFontSize), - name: .DynamicFontChanged, - object: nil) - + let refreshEvents: [Notification.Name] = [.DynamicFontChanged, .HomePanelPrefsChanged] + refreshEvents.forEach { NotificationCenter.default.addObserver(self, selector: #selector(reload), name: $0, object: nil) } } required init?(coder aDecoder: NSCoder) { @@ -144,8 +141,7 @@ class ActivityStreamPanel: UICollectionViewController, HomePanel { self.topSitesManager.currentTraits = self.traitCollection } - func didChangeFontSize(notification: Notification) { - // Don't need to invalidate the data for a font change. Just reload the UI. + func reload(notification: Notification) { reloadAll() } } @@ -431,6 +427,7 @@ extension ActivityStreamPanel { topSiteCell.delegate = self.topSitesManager topSiteCell.setNeedsLayout() topSiteCell.collectionView.reloadData() + topSiteCell.moveToInitialPage() return cell } diff --git a/Client/Frontend/Home/ActivityStreamTopSitesCell.swift b/Client/Frontend/Home/ActivityStreamTopSitesCell.swift old mode 100644 new mode 100755 index 19c34b73d..d8694cff3 --- a/Client/Frontend/Home/ActivityStreamTopSitesCell.swift +++ b/Client/Frontend/Home/ActivityStreamTopSitesCell.swift @@ -293,8 +293,25 @@ class ASHorizontalScrollCell: UICollectionViewCell { } else { pageControl.progress = CGFloat(pageControl.currentPage - 1) } - let swipeCoordinate = CGFloat(pageControl.currentPage) * self.collectionView.frame.size.width - self.collectionView.setContentOffset(CGPoint(x: swipeCoordinate, y: 0), animated: true) + + moveToPage(pageControl.currentPage, animated: true) + } + + func moveToPage(_ pageNumber: Int, animated: Bool = false) { + if (pageNumber < 0 || pageNumber >= pageControl.pageCount) { + return + } + pageControl.progress = CGFloat(pageNumber) + let swipeCoordinate = CGFloat(pageNumber) * self.collectionView.frame.size.width + self.collectionView.setContentOffset(CGPoint(x: swipeCoordinate, y: 0), animated: animated) + } + + func moveToInitialPage() { + if UIApplication.shared.userInterfaceLayoutDirection == .rightToLeft { + moveToPage(pageControl.pageCount-1) + } else { + moveToPage(0) + } } required init?(coder aDecoder: NSCoder) { @@ -455,11 +472,24 @@ class HorizontalFlowLayout: UICollectionViewLayout { let columnPosition = row % horizontalItemsCount let rowPosition = (row / horizontalItemsCount) % verticalItemsCount - let itemPage = Int(floor(Double(row)/Double(itemsPerPage))) + + let itemPage: Int + if UIApplication.shared.userInterfaceLayoutDirection == .leftToRight { + itemPage = Int(floor(Double(row)/Double(itemsPerPage))) + } else { + // For RTL we invert the page position + let pageCount = Int(ceil(Double(cellCount)/Double(itemsPerPage))) + itemPage = pageCount - Int(floor(Double(row)/Double(itemsPerPage))) - 1 + } let attr = UICollectionViewLayoutAttributes(forCellWith: indexPath) var frame = CGRect.zero - frame.origin.x = CGFloat(itemPage) * bounds.size.width + CGFloat(columnPosition) * (itemSize.width + insets.left) + insets.left + if UIApplication.shared.userInterfaceLayoutDirection == .leftToRight { + frame.origin.x = CGFloat(itemPage) * bounds.size.width + CGFloat(columnPosition) * (itemSize.width + insets.left) + insets.left + } else { + // For RTL all we have to do is invert the colum + frame.origin.x = CGFloat(itemPage) * bounds.size.width + CGFloat(horizontalItemsCount - 1 - columnPosition) * (itemSize.width + insets.left) + insets.left + } frame.origin.y = CGFloat(rowPosition) * (itemSize.height + insets.top) + insets.top frame.size = itemSize attr.frame = frame diff --git a/Client/Frontend/Home/BookmarksPanel.swift b/Client/Frontend/Home/BookmarksPanel.swift old mode 100644 new mode 100755 index 8ae6f3c10..5f7374b99 --- a/Client/Frontend/Home/BookmarksPanel.swift +++ b/Client/Frontend/Home/BookmarksPanel.swift @@ -555,14 +555,14 @@ fileprivate class BookmarkFolderTableViewHeader: UITableViewHeaderFooterView { contentView.addSubview(titleLabel) chevron.snp.makeConstraints { make in - make.left.equalTo(contentView).offset(BookmarksPanelUX.BookmarkFolderHeaderViewChevronInset) + make.leading.equalTo(contentView).offset(BookmarksPanelUX.BookmarkFolderHeaderViewChevronInset) make.centerY.equalTo(contentView) make.size.equalTo(BookmarksPanelUX.BookmarkFolderChevronSize) } titleLabel.snp.makeConstraints { make in - make.left.equalTo(chevron.snp.right).offset(BookmarksPanelUX.BookmarkFolderHeaderViewChevronInset) - make.right.greaterThanOrEqualTo(contentView).offset(-BookmarksPanelUX.BookmarkFolderHeaderViewChevronInset) + make.leading.equalTo(chevron.snp.trailing).offset(BookmarksPanelUX.BookmarkFolderHeaderViewChevronInset) + make.trailing.greaterThanOrEqualTo(contentView).offset(-BookmarksPanelUX.BookmarkFolderHeaderViewChevronInset) make.centerY.equalTo(contentView) } diff --git a/Client/Frontend/Home/HistoryPanel.swift b/Client/Frontend/Home/HistoryPanel.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/AddToReadingListCircle.imageset/Contents.json b/Client/Frontend/Home/Home.xcassets/AddToReadingListCircle.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/AddToReadingListCircle.imageset/reading list add circle.png b/Client/Frontend/Home/Home.xcassets/AddToReadingListCircle.imageset/reading list add circle.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/AddToReadingListCircle.imageset/reading list add circle@2x.png b/Client/Frontend/Home/Home.xcassets/AddToReadingListCircle.imageset/reading list add circle@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/AddToReadingListCircle.imageset/reading list add circle@3x.png b/Client/Frontend/Home/Home.xcassets/AddToReadingListCircle.imageset/reading list add circle@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/Contents.json b/Client/Frontend/Home/Home.xcassets/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/ReaderModeCircle.imageset/Contents.json b/Client/Frontend/Home/Home.xcassets/ReaderModeCircle.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/ReaderModeCircle.imageset/reader view circle.png b/Client/Frontend/Home/Home.xcassets/ReaderModeCircle.imageset/reader view circle.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/ReaderModeCircle.imageset/reader view circle@2x.png b/Client/Frontend/Home/Home.xcassets/ReaderModeCircle.imageset/reader view circle@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/ReaderModeCircle.imageset/reader view circle@3x.png b/Client/Frontend/Home/Home.xcassets/ReaderModeCircle.imageset/reader view circle@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/clear.imageset/Contents.json b/Client/Frontend/Home/Home.xcassets/clear.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/clear.imageset/clear.png b/Client/Frontend/Home/Home.xcassets/clear.imageset/clear.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/clear.imageset/clear@2x.png b/Client/Frontend/Home/Home.xcassets/clear.imageset/clear@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/clear.imageset/clear@3x.png b/Client/Frontend/Home/Home.xcassets/clear.imageset/clear@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/emptyBookmarks.imageset/BookmarksEmptyPanel.png b/Client/Frontend/Home/Home.xcassets/emptyBookmarks.imageset/BookmarksEmptyPanel.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/emptyBookmarks.imageset/BookmarksEmptyPanel@2x.png b/Client/Frontend/Home/Home.xcassets/emptyBookmarks.imageset/BookmarksEmptyPanel@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/emptyBookmarks.imageset/BookmarksEmptyPanel@3x.png b/Client/Frontend/Home/Home.xcassets/emptyBookmarks.imageset/BookmarksEmptyPanel@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/emptyBookmarks.imageset/Contents.json b/Client/Frontend/Home/Home.xcassets/emptyBookmarks.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/emptyHistory.imageset/Contents.json b/Client/Frontend/Home/Home.xcassets/emptyHistory.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/emptyHistory.imageset/historyEmptyPanel.png b/Client/Frontend/Home/Home.xcassets/emptyHistory.imageset/historyEmptyPanel.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/emptyHistory.imageset/historyEmptyPanel@2x.png b/Client/Frontend/Home/Home.xcassets/emptyHistory.imageset/historyEmptyPanel@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/emptyHistory.imageset/historyEmptyPanel@3x.png b/Client/Frontend/Home/Home.xcassets/emptyHistory.imageset/historyEmptyPanel@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/emptySync.imageset/Contents.json b/Client/Frontend/Home/Home.xcassets/emptySync.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/emptySync.imageset/sync-devices.png b/Client/Frontend/Home/Home.xcassets/emptySync.imageset/sync-devices.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/emptySync.imageset/sync-devices@2x.png b/Client/Frontend/Home/Home.xcassets/emptySync.imageset/sync-devices@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/emptySync.imageset/sync-devices@3x.png b/Client/Frontend/Home/Home.xcassets/emptySync.imageset/sync-devices@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/emptyTopSites.imageset/Contents.json b/Client/Frontend/Home/Home.xcassets/emptyTopSites.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/emptyTopSites.imageset/topSitesEmptyPanel.png b/Client/Frontend/Home/Home.xcassets/emptyTopSites.imageset/topSitesEmptyPanel.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/emptyTopSites.imageset/topSitesEmptyPanel@2x.png b/Client/Frontend/Home/Home.xcassets/emptyTopSites.imageset/topSitesEmptyPanel@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/emptyTopSites.imageset/topSitesEmptyPanel@3x.png b/Client/Frontend/Home/Home.xcassets/emptyTopSites.imageset/topSitesEmptyPanel@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconBookmarks.imageset/Contents.json b/Client/Frontend/Home/Home.xcassets/panelIconBookmarks.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconBookmarks.imageset/bookmark-Outline.png b/Client/Frontend/Home/Home.xcassets/panelIconBookmarks.imageset/bookmark-Outline.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconBookmarks.imageset/bookmark-Outline@2x.png b/Client/Frontend/Home/Home.xcassets/panelIconBookmarks.imageset/bookmark-Outline@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconBookmarks.imageset/bookmark-Outline@3x.png b/Client/Frontend/Home/Home.xcassets/panelIconBookmarks.imageset/bookmark-Outline@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconHistory.imageset/Contents.json b/Client/Frontend/Home/Home.xcassets/panelIconHistory.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconHistory.imageset/history.png b/Client/Frontend/Home/Home.xcassets/panelIconHistory.imageset/history.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconHistory.imageset/history@2x.png b/Client/Frontend/Home/Home.xcassets/panelIconHistory.imageset/history@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconHistory.imageset/history@3x.png b/Client/Frontend/Home/Home.xcassets/panelIconHistory.imageset/history@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconReadingList.imageset/Contents.json b/Client/Frontend/Home/Home.xcassets/panelIconReadingList.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconReadingList.imageset/reading-list.png b/Client/Frontend/Home/Home.xcassets/panelIconReadingList.imageset/reading-list.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconReadingList.imageset/reading-list@2x.png b/Client/Frontend/Home/Home.xcassets/panelIconReadingList.imageset/reading-list@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconReadingList.imageset/reading-list@3x.png b/Client/Frontend/Home/Home.xcassets/panelIconReadingList.imageset/reading-list@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconSyncedTabs.imageset/Contents.json b/Client/Frontend/Home/Home.xcassets/panelIconSyncedTabs.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconSyncedTabs.imageset/Synced Panel.png b/Client/Frontend/Home/Home.xcassets/panelIconSyncedTabs.imageset/Synced Panel.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconSyncedTabs.imageset/Synced Panel@2x.png b/Client/Frontend/Home/Home.xcassets/panelIconSyncedTabs.imageset/Synced Panel@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconSyncedTabs.imageset/Synced Panel@3x.png b/Client/Frontend/Home/Home.xcassets/panelIconSyncedTabs.imageset/Synced Panel@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconTopSites.imageset/Contents.json b/Client/Frontend/Home/Home.xcassets/panelIconTopSites.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconTopSites.imageset/topsites.png b/Client/Frontend/Home/Home.xcassets/panelIconTopSites.imageset/topsites.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconTopSites.imageset/topsites@2x.png b/Client/Frontend/Home/Home.xcassets/panelIconTopSites.imageset/topsites@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/Home.xcassets/panelIconTopSites.imageset/topsites@3x.png b/Client/Frontend/Home/Home.xcassets/panelIconTopSites.imageset/topsites@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/HomePanelViewController.swift b/Client/Frontend/Home/HomePanelViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/HomePanels.swift b/Client/Frontend/Home/HomePanels.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/PanelDataObservers.swift b/Client/Frontend/Home/PanelDataObservers.swift old mode 100644 new mode 100755 index 34a999b08..6974b461e --- a/Client/Frontend/Home/PanelDataObservers.swift +++ b/Client/Frontend/Home/PanelDataObservers.swift @@ -38,14 +38,15 @@ open class PanelDataObservers { class ActivityStreamDataObserver: DataObserver { let profile: Profile + let invalidationTime: UInt64 weak var delegate: DataObserverDelegate? - private var invalidationTime = OneMinuteInMilliseconds * 15 fileprivate let events: [Notification.Name] = [.FirefoxAccountChanged, .ProfileDidFinishSyncing, .PrivateDataClearedHistory] init(profile: Profile) { self.profile = profile self.profile.history.setTopSitesCacheSize(ActivityStreamTopSiteCacheSize) + self.invalidationTime = OneMinuteInMilliseconds * 15 events.forEach { NotificationCenter.default.addObserver(self, selector: #selector(self.notificationReceived), name: $0, object: nil) } } @@ -61,7 +62,7 @@ class ActivityStreamDataObserver: DataObserver { // Highlights are cached for 15 mins let userEnabledHighlights = profile.prefs.boolForKey(PrefsKeys.ASRecentHighlightsVisible) ?? true - let lastInvalidationTime = profile.prefs.unsignedLongForKey(PrefsKeys.ASLastInvalidation) ?? 0 + let lastInvalidationTime = UInt64(profile.prefs.unsignedLongForKey(PrefsKeys.ASLastInvalidation) ?? 0) let shouldInvalidateHighlights = (highlights || (Date.now() - lastInvalidationTime > invalidationTime)) && userEnabledHighlights // KeyTopSitesCacheIsValid is false when we want to invalidate. Thats why this logic is so backwards diff --git a/Client/Frontend/Home/ReaderPanel.swift b/Client/Frontend/Home/ReaderPanel.swift old mode 100644 new mode 100755 index bb446ffc5..4b2fa71c4 --- a/Client/Frontend/Home/ReaderPanel.swift +++ b/Client/Frontend/Home/ReaderPanel.swift @@ -215,6 +215,10 @@ class ReadingListPanel: UITableViewController, HomePanel { // Set an empty footer to prevent empty cells from appearing in the list. tableView.tableFooterView = UIView() + if #available(iOS 11.0, *) { + tableView.dragDelegate = self + } + view.backgroundColor = UIConstants.PanelBackgroundColor if let result = profile.readingList?.getAvailableRecords(), result.isSuccess { @@ -454,3 +458,22 @@ extension ReadingListPanel: HomePanelContextMenu { return actions } } + +@available(iOS 11.0, *) +extension ReadingListPanel: UITableViewDragDelegate { + func tableView(_ tableView: UITableView, itemsForBeginning session: UIDragSession, at indexPath: IndexPath) -> [UIDragItem] { + guard let site = getSiteDetails(for: indexPath), let url = URL(string: site.url), let itemProvider = NSItemProvider(contentsOf: url) else { + return [] + } + + UnifiedTelemetry.recordEvent(category: .action, method: .drag, object: .url, value: .readingListPanel) + + let dragItem = UIDragItem(itemProvider: itemProvider) + dragItem.localObject = site + return [dragItem] + } + + func tableView(_ tableView: UITableView, dragSessionWillBegin session: UIDragSession) { + presentedViewController?.dismiss(animated: true) + } +} diff --git a/Client/Frontend/Home/RecentlyClosedTabsPanel.swift b/Client/Frontend/Home/RecentlyClosedTabsPanel.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Home/RemoteTabsPanel.swift b/Client/Frontend/Home/RemoteTabsPanel.swift old mode 100644 new mode 100755 index 481064cf9..eb2b3062f --- a/Client/Frontend/Home/RemoteTabsPanel.swift +++ b/Client/Frontend/Home/RemoteTabsPanel.swift @@ -187,6 +187,7 @@ class RemoteTabsPanelClientAndTabsDataSource: NSObject, RemoteTabsPanelDataSourc image?.accessibilityLabel = NSLocalizedString("mobile device", comment: "Accessibility label for Mobile Device image in remote tabs list") } view.imageView.image = image + view.imageView.contentMode = .center view.mergeAccessibilityLabels() return view @@ -369,14 +370,14 @@ class RemoteTabsNotLoggedInCell: UITableViewCell { contentView.addSubview(titleLabel) instructionsLabel.font = DynamicFontHelper.defaultHelper.DeviceFontSmallLight - instructionsLabel.text = Strings.EmptySyncedTabsPanelStateDescription + instructionsLabel.text = Strings.EmptySyncedTabsPanelNotSignedInStateDescription instructionsLabel.textAlignment = .center instructionsLabel.textColor = RemoteTabsPanelUX.EmptyStateInstructionsTextColor instructionsLabel.numberOfLines = 0 contentView.addSubview(instructionsLabel) signInButton.backgroundColor = RemoteTabsPanelUX.EmptyStateSignInButtonColor - signInButton.setTitle(NSLocalizedString("Sign in", comment: "See http://mzl.la/1Qtkf0j"), for: []) + signInButton.setTitle(Strings.FxASignInToSync, for: []) signInButton.setTitleColor(RemoteTabsPanelUX.EmptyStateSignInButtonTitleColor, for: []) signInButton.titleLabel?.font = UIFont.preferredFont(forTextStyle: .subheadline) signInButton.layer.cornerRadius = RemoteTabsPanelUX.EmptyStateSignInButtonCornerRadius diff --git a/Client/Frontend/Intro/Intro.xcassets/Contents.json b/Client/Frontend/Intro/Intro.xcassets/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Mail.imageset/Contents.json b/Client/Frontend/Intro/Intro.xcassets/tour-Mail.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Mail.imageset/tour-Mail.png b/Client/Frontend/Intro/Intro.xcassets/tour-Mail.imageset/tour-Mail.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Mail.imageset/tour-Mail@2x.png b/Client/Frontend/Intro/Intro.xcassets/tour-Mail.imageset/tour-Mail@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Mail.imageset/tour-Mail@3x.png b/Client/Frontend/Intro/Intro.xcassets/tour-Mail.imageset/tour-Mail@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Private.imageset/Contents.json b/Client/Frontend/Intro/Intro.xcassets/tour-Private.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Private.imageset/tour-Private.png b/Client/Frontend/Intro/Intro.xcassets/tour-Private.imageset/tour-Private.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Private.imageset/tour-Private@2x.png b/Client/Frontend/Intro/Intro.xcassets/tour-Private.imageset/tour-Private@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Private.imageset/tour-Private@3x.png b/Client/Frontend/Intro/Intro.xcassets/tour-Private.imageset/tour-Private@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Search.imageset/Contents.json b/Client/Frontend/Intro/Intro.xcassets/tour-Search.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Search.imageset/tour-Search.png b/Client/Frontend/Intro/Intro.xcassets/tour-Search.imageset/tour-Search.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Search.imageset/tour-Search@2x.png b/Client/Frontend/Intro/Intro.xcassets/tour-Search.imageset/tour-Search@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Search.imageset/tour-Search@3x.png b/Client/Frontend/Intro/Intro.xcassets/tour-Search.imageset/tour-Search@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Sync.imageset/Contents.json b/Client/Frontend/Intro/Intro.xcassets/tour-Sync.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Sync.imageset/tour-Sync.png b/Client/Frontend/Intro/Intro.xcassets/tour-Sync.imageset/tour-Sync.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Sync.imageset/tour-Sync@2x.png b/Client/Frontend/Intro/Intro.xcassets/tour-Sync.imageset/tour-Sync@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Sync.imageset/tour-Sync@3x.png b/Client/Frontend/Intro/Intro.xcassets/tour-Sync.imageset/tour-Sync@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Welcome.imageset/Contents.json b/Client/Frontend/Intro/Intro.xcassets/tour-Welcome.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Welcome.imageset/tour-Welcome.png b/Client/Frontend/Intro/Intro.xcassets/tour-Welcome.imageset/tour-Welcome.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Welcome.imageset/tour-Welcome@2x.png b/Client/Frontend/Intro/Intro.xcassets/tour-Welcome.imageset/tour-Welcome@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/Intro.xcassets/tour-Welcome.imageset/tour-Welcome@3x.png b/Client/Frontend/Intro/Intro.xcassets/tour-Welcome.imageset/tour-Welcome@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Intro/IntroViewController.swift b/Client/Frontend/Intro/IntroViewController.swift old mode 100644 new mode 100755 index 99cb55a03..db913be90 --- a/Client/Frontend/Intro/IntroViewController.swift +++ b/Client/Frontend/Intro/IntroViewController.swift @@ -39,6 +39,7 @@ class IntroViewController: UIViewController { button.setTitleColor(IntroUX.StartBrowsingButtonColor, for: UIControlState()) button.addTarget(self, action: #selector(IntroViewController.startBrowsing), for: UIControlEvents.touchUpInside) button.accessibilityIdentifier = "IntroViewController.startBrowsingButton" + button.isHidden = true return button }() @@ -82,7 +83,11 @@ class IntroViewController: UIViewController { fileprivate var imagesBackgroundView = UIView() override func viewDidLoad() { - assert(cards.count > 0, "Intro is empty. At least 1 card is required") + if AppConstants.MOZ_LP_INTRO { + syncViaLP() + } + + assert(cards.count > 1, "Intro is empty. At least 2 cards are required") view.backgroundColor = UIColor.white // Add Views @@ -115,14 +120,47 @@ class IntroViewController: UIViewController { make.centerY.equalTo(self.startBrowsingButton.snp.top).offset(-IntroUX.PagerCenterOffsetFromScrollViewBottom) } - cardViews = cards.flatMap { addIntro(card: $0) } - pageControl.numberOfPages = cardViews.count + createSlides() pageControl.addTarget(self, action: #selector(changePage), for: .valueChanged) + } - if let firstCard = cardViews.first { - setActive(firstCard, forPage: 0) - } - setupDynamicFonts() + func syncViaLP() { + let startTime = Date.now() + LeanPlumClient.shared.introScreenVars?.onValueChanged({ [weak self] in + guard let newIntro = LeanPlumClient.shared.introScreenVars?.object(forKey: nil) as? [[String: Any]] else { + return + } + let decoder = JSONDecoder() + let newCards = newIntro.flatMap { (obj) -> IntroCard? in + guard let object = try? JSONSerialization.data(withJSONObject: obj, options: []) else { + return nil + } + let card = try? decoder.decode(IntroCard.self, from: object) + // Make sure the selector actually goes somewhere. Otherwise dont show that slide + if let selectorString = card?.buttonSelector, let wself = self { + return wself.responds(to: NSSelectorFromString(selectorString)) ? card : nil + } else { + return card + } + } + + guard newCards != IntroCard.defaultCards(), newCards.count > 1 else { + return + } + + // We need to still be on the first page otherwise the content will change underneath the user's finger + // We also need to let LP know this happened so we can track when a A/B test was not run + guard self?.pageControl.currentPage == 0 else { + let totalTime = Date.now() - startTime + LeanPlumClient.shared.track(event: .onboardingTestLoadedTooSlow, withParameters: ["Total time": "\(totalTime) ms" as AnyObject]) + return + } + + self?.cards = newCards + self?.createSlides() + self?.viewDidLayoutSubviews() + + }) } override func viewDidLayoutSubviews() { @@ -130,6 +168,28 @@ class IntroViewController: UIViewController { scrollView.contentSize = imageViewContainer.frame.size } + func createSlides() { + // Make sure the scrollView has been setup before setting up the slides + guard scrollView.superview != nil else { + return + } + // Wipe any existing slides + imageViewContainer.subviews.forEach { $0.removeFromSuperview() } + cardViews.forEach { $0.removeFromSuperview() } + cardViews = cards.flatMap { addIntro(card: $0) } + pageControl.numberOfPages = cardViews.count + setupDynamicFonts() + if let firstCard = cardViews.first { + setActive(firstCard, forPage: 0) + } + imageViewContainer.layoutSubviews() + scrollView.contentSize = imageViewContainer.frame.size + // This should never happen but just in case make sure there is a way out + if cardViews.count == 1 { + startBrowsingButton.isHidden = false + } + } + func addIntro(card: IntroCard) -> CardView? { guard let image = UIImage(named: card.imageName) else { return nil @@ -141,11 +201,10 @@ class IntroViewController: UIViewController { make.width.equalTo(imageViewContainer.snp.height) } - let cardView = CardView(verticleSpacing: verticalPadding) cardView.configureWith(card: card) - if let selector = card.buttonSelector { - cardView.button.addTarget(self, action: selector, for: .touchUpInside) + if let selectorString = card.buttonSelector, self.responds(to: NSSelectorFromString(selectorString)) { + cardView.button.addTarget(self, action: NSSelectorFromString(selectorString), for: .touchUpInside) cardView.button.snp.makeConstraints { make in make.width.equalTo(IntroUX.CardTextWidth) make.height.equalTo(IntroUX.SignInButtonHeight) @@ -162,10 +221,12 @@ class IntroViewController: UIViewController { func startBrowsing() { delegate?.introViewControllerDidFinish(self, requestToLogin: false) + LeanPlumClient.shared.track(event: .dismissedOnboarding, withParameters: ["dismissedOnSlide": pageControl.currentPage as AnyObject]) } func login() { delegate?.introViewControllerDidFinish(self, requestToLogin: true) + LeanPlumClient.shared.track(event: .dismissedOnboardingShowLogin, withParameters: ["dismissedOnSlide": pageControl.currentPage as AnyObject]) } func changePage() { @@ -249,6 +310,9 @@ extension IntroViewController: UIScrollViewDelegate { if let cardView = cardViews[safe: page] { setActive(cardView, forPage: page) } + if page != 0 { + startBrowsingButton.isHidden = false + } } func scrollViewDidScroll(_ scrollView: UIScrollView) { @@ -333,6 +397,8 @@ class CardView: UIView { button.snp.makeConstraints { make in make.bottom.centerX.equalTo(self) } + // When there is a button reduce the spacing to make more room for text + stackView.spacing = stackView.spacing / 2 } } @@ -349,14 +415,14 @@ class CardView: UIView { } } -struct IntroCard { +struct IntroCard: Codable { let title: String let text: String let buttonText: String? - let buttonSelector: Selector? + let buttonSelector: String? // Selector is a string that is synthisized into a Selector via NSSelectorFromString (for LeanPlum's sake) let imageName: String - init(title: String, text: String, imageName: String, buttonText: String? = nil, buttonSelector: Selector? = nil) { + init(title: String, text: String, imageName: String, buttonText: String? = nil, buttonSelector: String? = nil) { self.title = title self.text = text self.imageName = imageName @@ -369,9 +435,22 @@ struct IntroCard { let search = IntroCard(title: Strings.CardTitleSearch, text: Strings.CardTextSearch, imageName: "tour-Search") let privateBrowsing = IntroCard(title: Strings.CardTitlePrivate, text: Strings.CardTextPrivate, imageName: "tour-Private") let mailTo = IntroCard(title: Strings.CardTitleMail, text: Strings.CardTextMail, imageName: "tour-Mail") - let sync = IntroCard(title: Strings.CardTitleSync, text: Strings.CardTextSync, imageName: "tour-Sync", buttonText: Strings.SignInButtonTitle, buttonSelector: #selector(IntroViewController.login)) + let sync = IntroCard(title: Strings.CardTitleSync, text: Strings.CardTextSync, imageName: "tour-Sync", buttonText: Strings.SignInButtonTitle, buttonSelector: #selector(IntroViewController.login).description) return [welcome, search, privateBrowsing, mailTo, sync] } + + /* Codable doesnt allow quick conversion to a dictonary */ + func asDictonary() -> [String: Any]? { + guard let data = try? JSONEncoder().encode(self) else { return nil } + return (try? JSONSerialization.jsonObject(with: data, options: .allowFragments)).flatMap { $0 as? [String: Any] } + } +} + +extension IntroCard: Equatable {} + +func == (lhs: IntroCard, rhs: IntroCard) -> Bool { + return lhs.buttonText == rhs.buttonText && lhs.buttonSelector == rhs.buttonSelector + && lhs.imageName == rhs.imageName && lhs.text == rhs.text && lhs.title == rhs.title } extension UIColor { diff --git a/Client/Frontend/Login Management/LoginListViewController.swift b/Client/Frontend/Login Management/LoginListViewController.swift old mode 100644 new mode 100755 index 27813d46c..d50cd92c8 --- a/Client/Frontend/Login Management/LoginListViewController.swift +++ b/Client/Frontend/Login Management/LoginListViewController.swift @@ -107,18 +107,18 @@ class LoginListViewController: SensitiveViewController { searchView.snp.makeConstraints { make in make.top.equalTo(self.topLayoutGuide.snp.bottom) - make.left.right.equalTo(self.view) + make.leading.trailing.equalTo(self.view) make.height.equalTo(LoginListUX.SearchHeight) } tableView.snp.makeConstraints { make in make.top.equalTo(searchView.snp.bottom) - make.left.right.equalTo(self.view) + make.leading.trailing.equalTo(self.view) make.bottom.equalTo(self.selectionButton.snp.top) } selectionButton.snp.makeConstraints { make in - make.left.right.bottom.equalTo(self.view) + make.leading.trailing.bottom.equalTo(self.view) make.top.equalTo(self.tableView.snp.bottom) make.bottom.equalTo(self.view) selectionButtonHeightConstraint = make.height.equalTo(0).constraint diff --git a/Client/Frontend/Login/LoginViewController.swift b/Client/Frontend/Login/LoginViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/Contents.json b/Client/Frontend/Menu/Menu.xcassets/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Bookmark-Remove.imageset/Contents.json b/Client/Frontend/Menu/Menu.xcassets/menu-Bookmark-Remove.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Bookmark-Remove.imageset/bookmark-remove.png b/Client/Frontend/Menu/Menu.xcassets/menu-Bookmark-Remove.imageset/bookmark-remove.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Bookmark-Remove.imageset/bookmark-remove@2x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Bookmark-Remove.imageset/bookmark-remove@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Bookmark-Remove.imageset/bookmark-remove@3x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Bookmark-Remove.imageset/bookmark-remove@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Bookmark.imageset/Contents.json b/Client/Frontend/Menu/Menu.xcassets/menu-Bookmark.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Bookmark.imageset/menu-Bookmark.png b/Client/Frontend/Menu/Menu.xcassets/menu-Bookmark.imageset/menu-Bookmark.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Bookmark.imageset/menu-Bookmark@2x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Bookmark.imageset/menu-Bookmark@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Bookmark.imageset/menu-Bookmark@3x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Bookmark.imageset/menu-Bookmark@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-CloseTabs.imageset/Contents.json b/Client/Frontend/Menu/Menu.xcassets/menu-CloseTabs.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-CloseTabs.imageset/menu-CloseTabs.png b/Client/Frontend/Menu/Menu.xcassets/menu-CloseTabs.imageset/menu-CloseTabs.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-CloseTabs.imageset/menu-CloseTabs@2x.png b/Client/Frontend/Menu/Menu.xcassets/menu-CloseTabs.imageset/menu-CloseTabs@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-CloseTabs.imageset/menu-CloseTabs@3x.png b/Client/Frontend/Menu/Menu.xcassets/menu-CloseTabs.imageset/menu-CloseTabs@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Copy-Link.imageset/Contents.json b/Client/Frontend/Menu/Menu.xcassets/menu-Copy-Link.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Copy-Link.imageset/link.png b/Client/Frontend/Menu/Menu.xcassets/menu-Copy-Link.imageset/link.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Copy-Link.imageset/link@2x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Copy-Link.imageset/link@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Copy-Link.imageset/link@3x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Copy-Link.imageset/link@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Disclosure.imageset/Contents.json b/Client/Frontend/Menu/Menu.xcassets/menu-Disclosure.imageset/Contents.json new file mode 100755 index 000000000..35a18c402 --- /dev/null +++ b/Client/Frontend/Menu/Menu.xcassets/menu-Disclosure.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "menu-Disclosure.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "menu-Disclosure@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "menu-Disclosure@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Disclosure.imageset/menu-Disclosure.png b/Client/Frontend/Menu/Menu.xcassets/menu-Disclosure.imageset/menu-Disclosure.png new file mode 100755 index 0000000000000000000000000000000000000000..bdda1d93b62f112d9d88d3fb83d3ab0a86c7ff96 GIT binary patch literal 260 zcmV+f0sH=mP)Px#zDYzuR5%f>lEDqaFbqX2F$wBg2$iD3AdJw#x&arsFa#7o6iZHGOb$efZ2xcn z*jBo(I49zp1-CYM*jt6#$Hlf znVldgoGZovhm`bLslhXMY)N87ca=zmI|#`~szxO|S78|!wQ%G}g>^8*UxesHg~I(t z9kF{AqO(3qE;)Xe7Gn`>I%T2zJw2sCK>K2Ip^DAo+~w{S_+{UGg*Qmsda6|b0000< KMNUMnLSTYffn~w~ literal 0 HcmV?d00001 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Disclosure.imageset/menu-Disclosure@2x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Disclosure.imageset/menu-Disclosure@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..5b1f7304c952d2fa8cafcb73ce78aea4cd03b8c6 GIT binary patch literal 476 zcmV<20VDp2P)Px$mPtfGR9Fe+mN`xZF${*EXsI{`1s8Y)6=D_Z$q-kdpyU>a4vAyXA%WNm@CReb z35iDz^CAJ3EGM!3+i^1S%w}J7KgdM9C$nL4Y8RjF~T;gYUq z@+F&pPVp=%(5?t?FsRX76d)Ye3|QY1#^{JijkZNGYVSN42taP_JYcOWAh26s4@hgTKx>|HNvEX;!2b|3Z#|ZNjwEm{OvLKF$H=1# zQQmq6V>+$$+n8ZZ|0D_pq54hq$3VDwKdy-dX}TYWCJV9&(Sca&7LYp;?@66^Ba!#B zwEH=er7hTAByF`-fF@@JQK^rMg7S$s_X-7#$ZIjy;8yZXbW4OLXP=imk>;issRXt( z$zPF3bN8OQBHa?Y@^$UDN_|ETP^LNs_?! z$ItGVz@hFD2~3;%UxDY&j;X{X9nU+0M^W1IW!xpOCbcYsOW_CM8{u`~$>{?JFWXw- Sk^J!h0000Px%Zb?KzRA>e5S=&y-Fbpj`@dJPm5)zjW00f9T|H&H?LIVB>p1I#I@8Bch%JsY@ z&D<^71@8BHB+coBEUH3R8Kbi6{RQQ#6_@F#p+~G!*j{v6k<%wDhvFJaED2-vPVIbYF|UDo}w7 zW@>iP9(ln`0f&lWR~T=Etann4H$%wV0y$_5Fb;4lglx_8VvMyO6${MLJ(5zAG)5#} z2TWM&>9V}HbgdD|_f(@1Sw!bn=qWn62RRCib17hQjohyiIJkEuh$YLtErFwUqXo!1 zxwTz^K_CHHPI@JiPXX~B5p2@b3)>XHERAtt=q3;}5Z zcaqgEBnMtm0B3FFN%q@Fmn+G7mwVC*34SBoTDM5t2mpl2LT^Slf=>e+RfkKnz~5Yu z31kdzX7Yoy`e|{?xdr}ix{;u46#T+Si<{>NRu{Ie;2>D0&Nmiht+Z)kxued+JmQ_? zT5&WL&9&h?2Z0d>(X0c}#iVpz%2@}3QqMZe$^ckKAg(1K;kmVu2?TX<>>a^o&-RY| z+dy2aWw#ANKq!j!uOV-4J>t!HymG%494KzGn~Rqf*!LzCX~%W;A36$E}mI^;W@|G#kh9 z55-VAzC?~AlU9bc4t9bKO-sLxX$ aX!`~D_v=gEy-TtH0000 z5jUr*mTOPi(~M^Fuys#}HVwv+KL-zr*~U13?4o88yj^}ifAg-SkmWGaQR0XR~7=x6%R bq2HEYlr|9(E%*vX00000NkvXXu0mjfg}t1t literal 0 HcmV?d00001 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Info.imageset/info@2x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Info.imageset/info@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..4152807f205faa13fcf292731b9dc64430be94d7 GIT binary patch literal 720 zcmV;>0x$iEP)d^T;4>089m>C7%G8!vwe)9}ghz`(Vl0DX}FM?QAI1;Ewy=>k}tYrDF8V{ugxHONmP!V!_}5MK;L5hdhpY@SA}FPkeu z0^G~_p_F)F+#zC3{FyKxq=jB>f*=(|>`mSbuf+NQV=eM74R6lXg_tN}3<|*dgw;Zr zLOvA5IZ=eh#e@V*HF6$$0Z562wkD=u0$lEk)h02IZwl5e5z8uAEi97+2J|A4Tt)?~MT#h}zFdVG zuO)-lbd6(!wdRIw7Oua-BrcZ*E{_7Xx}EfHBFV&|5K+FU$^ivffMQW$a@z_f*! zL7wD({4r*x-032sr(rgsi)XU`Lcl%LKt$bhsmP{qxi{EZ;csF_xV|({YV0vwvP^td zX#zeEB9mhhml-(bWv<$@1v@Wu4X<0=UxLCuf6}U1FI@j(=H;PM`+Q5@g^;i^aI|mZ zftl-nQfdN_xP6X@Ps;7h)1KOAz6!FabLCQrmU5Ba=2 zJ?Am&M#Om!x;-HVXZ)*y5RsSv*@GOJB75cEZTIyjfWb>I>xA*tY80_lKM zaFjp^qypUsYnzj8w31dr&iTz~GUF`T-KRxb&raIk3ww03Co9K&!PL1N&Qs);dZ9P?Hlna%%z9(fkl5 zWdmRjU`RlW*#^?R$&w(7m~jPS%r;6!lmsyqrU`UyV$9Y9s8%Hiz*`1H*xFlif-o)9 zIY!M=G?hsR!j!w@FxR-Y5x~~fU#C1sDOCgb&A#9^J~8Doi^-pnR93i5CVlWrYkgo# zJ48;6un}wl>;x8t9m4agTJ#nRAZG;7!1MlR%!3X5Z+8|++&Ra`fHw#yZ8z-Oz<)Kh z&Pkk6avhRqb<5^N?jEmQbdgP3)8*w$+ibH(=Bbvke&2-A{! zm*fPHRJjo3a%%;XL(X*buovt%=vE8uG{^~>GrEQTI|R;Yq5fPmn7e8n1V)%M&jmef zlAZ(8r_me`v!gvX90f+UbQsxEAX2&0#(s&Qf!RrLo)a4S9{RWm?=Ziv0D&GvUtq_( zmf2Y-BgtL`+5FBBeIYIY;7kyvhd>*?Fg^cBU~rI?+PP>j`C!ADi`hNO3BM*Z)Yq7U z4809g=jJpAfj=LJ8A^JStYV%6Q_l(FykBW04V^`9x1h5_gl9V!e~%Y%a-ZOrT?+=+ z_;(rZ5OXtdnqzGKj#_IdOv~RNSfI65Hko^ZQc5$#eiYy>p`UhcPnawy~?6Ca&_X6G{P%ON%A}As_^IsX;h$XB|Q1)1x zpt$vg0x0l3lRznavLc9<;%^16PX%~kUItl{CrXCQSb&*PhS`!OSWggKf~qiEvP8v@ z=?m~u?lqIiSm5|H6qIsXUt}w#*34){!Sv-zYuz7Lv5s*;?QKzhs2MUHa849k#sxo> zQl*zU8G(HG$q;P;H-dog5k)mq?o1H9nEGH`w2$@rAqB|xJwx>4__A)ENpqs;8FD+T zYoGz|yxN%yV>@I3Z&OXANE5tW&PGU=SMh?`NwV@62csn_NyN%uk`_>r&ZX^Vk!@#4 z6;M%UHM27fq1{hho>CmlkqqcN$e&xCCN1KO)f~y;6>(C>l|#o_lH^E^hD#YRDR>l; zFA+qF9!C)@3QIf=v#=DqC_RO3ifF=`$Dw9MxZczA5o&CsKl+kShF%U%GL@D4(xDqJAB~St-Q3@p-9Z-Thh&z~k z!~x?Rwt=6ZWTlnPKF`d0R%>k2OCSIdaLx#XA?yJ8CX*hrP{`i~Ha)yD$<2^-04Cd^ z+FyWVd)p*fsdxgG!jAN92e1eBg>9)gx8y?F7FFZ{n2UcqU{|c?eC90Dv`Eqfd=$4+ z^ZFOunWVZ>Z)y|FKIdMI3BY9$FC_e$prjkAx Sq1&wh0000igP)<>VK<=XT6)!8ln~CP z5GY$w9d$?uH~Qsj1f-5#E81PTDjm`9yB_)uFLOIn0s!&>$NQY$x90Z~NHj!pjc=p7 z5E1PF900s@rrzb#GxH&^E(7o_!-AQ8Kqtq!qyXTnGkp>g$3X`b(RT<$Ntw9}${RIg z0|PtSlni)WM<2{gg9|5uh(eB>m^lkvzpPUb2r8^ZVARgDwZXOV6x)HNn4N*ON@xt5 z&p;v&8)gKE$Pp1M#aY?idcDmSn1|D}8l6KGpL{!XOyQGB5 z1#7$bn7wjlulj$wh6zU?Jx4XwkPVBTIBMsWp2YW#L?AX2f!Ig{Vj~fVjYJ?e9)iH< z&AnJ+Tlt%P?EQyZh=-!r&^8`r1OlbXw+Y=-4&B=*OQnYLKVoLaA5X?=8=L0)zW@LL M07*qoM6N<$g5X=$ZU6uP literal 0 HcmV?d00001 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Paste.imageset/paste@3x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Paste.imageset/paste@3x.png new file mode 100755 index 0000000000000000000000000000000000000000..02d5361f360022621d6fe95117a8c58d8e30f4a1 GIT binary patch literal 812 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!oCO|{#S9FJ<{->y95KI&fr06s zr;B4q#hkZuE>4_nAkg;z>=WB}3MB$w1y%)C3bH#`yms(8vG3$_;*4SUW8cwqmU)+C z8}qcO6Lcp3P5Y7%9ksS@{gI@T0>+O61p+x2Fcq+U$o=$DxNLbC`N7-plf6#|owo*`L129$2ltxB5NHgGZ;Pd;Xn& z=FXANMNWrKXnr)*ies1)c56<|+|1pd3W9kY%q5>Zd)bs2)pxtBT__{1VQYKut?&ow z0xM*B--snVH`{bs&Pic=-&6rAN`TK&~M|${&PP? zbP`rrh?ZFT?oLR5$7NoW-95G7yz$rb+DUo6*B)fPovI;pk@dj) zsap5d*H_2woUgR#5brNr%{|EipSN9FcEn)s@jsCtU$PtTUsq$-|9sYFtF<=Dn~qHI zHUHqla=oU=ZuNB)dG&Qo%5h9@16B4j#B4RQU+J6|Q9W;}*KLQrY=RSSG|cpTeM0WY zhqLNU|FrFn8|->IyGBf>iN!~uQ6pIAxocFn>x2eQl>{cv84gTp6C8pXJ65PHn%8k- z^Otw&eI<6w_lPSml5SYPiqHPj^qJkPzy0g=%MN}>o}pi!t}Iz*uAk7o1zG>P&ZJK* z1)Xz*j~)e5$}!Kjt96|eKBTG>DAFP1n77_mbK|cb)1zG;Ws|>4dN0tLboWcGn}vcv zjoR_U%d=L;Yxc;d{c$CJ19YlLr{bMlc^nTn4Bqp-&T79oR1p!11h zx-Zy%cdtkLt#bLsFaKrEv2T5Ew_8e`=lq2kcGuO*-$~5-b)nnTeTDLg(tzySsSayJ z*&QxS7MFTqCMX{%^}dkpUCuR0p13=Ad8Hon-QM5Ytu~*1`%$gEpI36o-nV~Uwg1~9 TV<#bP0l+XkKg*Rge literal 0 HcmV?d00001 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-PasteAndGo.imageset/Contents.json b/Client/Frontend/Menu/Menu.xcassets/menu-PasteAndGo.imageset/Contents.json new file mode 100755 index 000000000..51a0f8a63 --- /dev/null +++ b/Client/Frontend/Menu/Menu.xcassets/menu-PasteAndGo.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "paste.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "paste@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "paste@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-PasteAndGo.imageset/paste.png b/Client/Frontend/Menu/Menu.xcassets/menu-PasteAndGo.imageset/paste.png new file mode 100755 index 0000000000000000000000000000000000000000..cdcb4e8c6f4275f8f6955400b2cd9653bff5956b GIT binary patch literal 320 zcmV-G0l)rKl+kShF%U%GL@D4(xDqJAB~St-Q3@p-9Z-Thh&z~k z!~x?Rwt=6ZWTlnPKF`d0R%>k2OCSIdaLx#XA?yJ8CX*hrP{`i~Ha)yD$<2^-04Cd^ z+FyWVd)p*fsdxgG!jAN92e1eBg>9)gx8y?F7FFZ{n2UcqU{|c?eC90Dv`Eqfd=$4+ z^ZFOunWVZ>Z)y|FKIdMI3BY9$FC_e$prjkAx Sq1&wh0000igP)<>VK<=XT6)!8ln~CP z5GY$w9d$?uH~Qsj1f-5#E81PTDjm`9yB_)uFLOIn0s!&>$NQY$x90Z~NHj!pjc=p7 z5E1PF900s@rrzb#GxH&^E(7o_!-AQ8Kqtq!qyXTnGkp>g$3X`b(RT<$Ntw9}${RIg z0|PtSlni)WM<2{gg9|5uh(eB>m^lkvzpPUb2r8^ZVARgDwZXOV6x)HNn4N*ON@xt5 z&p;v&8)gKE$Pp1M#aY?idcDmSn1|D}8l6KGpL{!XOyQGB5 z1#7$bn7wjlulj$wh6zU?Jx4XwkPVBTIBMsWp2YW#L?AX2f!Ig{Vj~fVjYJ?e9)iH< z&AnJ+Tlt%P?EQyZh=-!r&^8`r1OlbXw+Y=-4&B=*OQnYLKVoLaA5X?=8=L0)zW@LL M07*qoM6N<$g5X=$ZU6uP literal 0 HcmV?d00001 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-PasteAndGo.imageset/paste@3x.png b/Client/Frontend/Menu/Menu.xcassets/menu-PasteAndGo.imageset/paste@3x.png new file mode 100755 index 0000000000000000000000000000000000000000..02d5361f360022621d6fe95117a8c58d8e30f4a1 GIT binary patch literal 812 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1|&n@ZgvM!oCO|{#S9FJ<{->y95KI&fr06s zr;B4q#hkZuE>4_nAkg;z>=WB}3MB$w1y%)C3bH#`yms(8vG3$_;*4SUW8cwqmU)+C z8}qcO6Lcp3P5Y7%9ksS@{gI@T0>+O61p+x2Fcq+U$o=$DxNLbC`N7-plf6#|owo*`L129$2ltxB5NHgGZ;Pd;Xn& z=FXANMNWrKXnr)*ies1)c56<|+|1pd3W9kY%q5>Zd)bs2)pxtBT__{1VQYKut?&ow z0xM*B--snVH`{bs&Pic=-&6rAN`TK&~M|${&PP? zbP`rrh?ZFT?oLR5$7NoW-95G7yz$rb+DUo6*B)fPovI;pk@dj) zsap5d*H_2woUgR#5brNr%{|EipSN9FcEn)s@jsCtU$PtTUsq$-|9sYFtF<=Dn~qHI zHUHqla=oU=ZuNB)dG&Qo%5h9@16B4j#B4RQU+J6|Q9W;}*KLQrY=RSSG|cpTeM0WY zhqLNU|FrFn8|->IyGBf>iN!~uQ6pIAxocFn>x2eQl>{cv84gTp6C8pXJ65PHn%8k- z^Otw&eI<6w_lPSml5SYPiqHPj^qJkPzy0g=%MN}>o}pi!t}Iz*uAk7o1zG>P&ZJK* z1)Xz*j~)e5$}!Kjt96|eKBTG>DAFP1n77_mbK|cb)1zG;Ws|>4dN0tLboWcGn}vcv zjoR_U%d=L;Yxc;d{c$CJ19YlLr{bMlc^nTn4Bqp-&T79oR1p!11h zx-Zy%cdtkLt#bLsFaKrEv2T5Ew_8e`=lq2kcGuO*-$~5-b)nnTeTDLg(tzySsSayJ z*&QxS7MFTqCMX{%^}dkpUCuR0p13=Ad8Hon-QM5Ytu~*1`%$gEpI36o-nV~Uwg1~9 TV<#bP0l+XkKg*Rge literal 0 HcmV?d00001 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-RequestDesktopSite.imageset/Contents.json b/Client/Frontend/Menu/Menu.xcassets/menu-RequestDesktopSite.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-RequestDesktopSite.imageset/menu-RequestDesktopSite.png b/Client/Frontend/Menu/Menu.xcassets/menu-RequestDesktopSite.imageset/menu-RequestDesktopSite.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-RequestDesktopSite.imageset/menu-RequestDesktopSite@2x.png b/Client/Frontend/Menu/Menu.xcassets/menu-RequestDesktopSite.imageset/menu-RequestDesktopSite@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-RequestDesktopSite.imageset/menu-RequestDesktopSite@3x.png b/Client/Frontend/Menu/Menu.xcassets/menu-RequestDesktopSite.imageset/menu-RequestDesktopSite@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-ScanQRCode.imageset/Contents.json b/Client/Frontend/Menu/Menu.xcassets/menu-ScanQRCode.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-ScanQRCode.imageset/qrscan.png b/Client/Frontend/Menu/Menu.xcassets/menu-ScanQRCode.imageset/qrscan.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-ScanQRCode.imageset/qrscan@2x.png b/Client/Frontend/Menu/Menu.xcassets/menu-ScanQRCode.imageset/qrscan@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-ScanQRCode.imageset/qrscan@3x.png b/Client/Frontend/Menu/Menu.xcassets/menu-ScanQRCode.imageset/qrscan@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Send-to-Device.imageset/Contents.json b/Client/Frontend/Menu/Menu.xcassets/menu-Send-to-Device.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Send-to-Device.imageset/sendtodevice.png b/Client/Frontend/Menu/Menu.xcassets/menu-Send-to-Device.imageset/sendtodevice.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Send-to-Device.imageset/sendtodevice@2x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Send-to-Device.imageset/sendtodevice@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Send-to-Device.imageset/sendtodevice@3x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Send-to-Device.imageset/sendtodevice@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Send.imageset/Contents.json b/Client/Frontend/Menu/Menu.xcassets/menu-Send.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Send.imageset/sendMenu.png b/Client/Frontend/Menu/Menu.xcassets/menu-Send.imageset/sendMenu.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Send.imageset/sendMenu@2x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Send.imageset/sendMenu@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Send.imageset/sendMenu@3x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Send.imageset/sendMenu@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Settings.imageset/Contents.json b/Client/Frontend/Menu/Menu.xcassets/menu-Settings.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Settings.imageset/menu-Settings.png b/Client/Frontend/Menu/Menu.xcassets/menu-Settings.imageset/menu-Settings.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Settings.imageset/menu-Settings@2x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Settings.imageset/menu-Settings@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Settings.imageset/menu-Settings@3x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Settings.imageset/menu-Settings@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Show-Tabs.imageset/Contents.json b/Client/Frontend/Menu/Menu.xcassets/menu-Show-Tabs.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Show-Tabs.imageset/showtabs.png b/Client/Frontend/Menu/Menu.xcassets/menu-Show-Tabs.imageset/showtabs.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Show-Tabs.imageset/showtabs@2x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Show-Tabs.imageset/showtabs@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Show-Tabs.imageset/showtabs@3x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Show-Tabs.imageset/showtabs@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Toggle-Off.imageset/ Switch-Off.png b/Client/Frontend/Menu/Menu.xcassets/menu-Toggle-Off.imageset/ Switch-Off.png new file mode 100755 index 0000000000000000000000000000000000000000..8c1a6f11850998c3abc3b5df911451528e6d39f3 GIT binary patch literal 924 zcmV;N17rM&P)Px&R!KxbR7efAR^MyVQ55(4Rg&p8*H9#i735YAi%jipFhQudpdciQHTF>KDSCF@8qq$rA0U^Fc)U~)Ua zq2q3f2zEu0Ag>t!Qq^kprz{OH_sKM^4}c&JGV&1vfY{DhQIM}~Hd~BtUsM`yxDJNT z=W{GCFW={&&CSgZ;yX~b?36bq;P)ti?{S(cxkfy7hpc?QZ@eH(8iNED?xmMEYbeUs%wuI^=zqhyd z9EwzAa*tPWA}yc<(V3>1B~db&yiFB+5)2GF;LiH``u3ll{y+J19?@Y6B9X|1r~o2j z&giQ!nR2<@B+GdK!r|~`BVa2!1>uOMB%jZJYXvsqQM8Jh61jgsNH6(hWn@W0)w&&V zQNn0QNcC7O_PB$(F|k$y%_Mw{;%<{qX}9N9YzB~e@jD{aNzvhUf(?F!`s#ctm10@j zl=c81`4Wl5samaenzny6p@x!PrwY06t=H>)Pw7(?m1u^bkoWiZFZSXZQDLWRG=RRo zz87eWkYR=l4Go^APw*$)%;GRsJ06$#g^09xQYr5}cHU<#Lw! z*mu~)^+aXb3e}G4m8lyW8+YZFAY-rx23S2_H#FFwQUTg!Asz;quD9<7t0xZ{Y=B3$ zWI#L~eo%rk4B?2Mj=9eOifMAwR;AP4j1SZs@SKjYS25@ z*48ex`iK$)|Jf3+XCM%GiJqeM5okv*DHe<8|F=Ofz;3rM@*aY-n+ySgkH*IrKC+Jz y?O-FR#qUuLZ8hTq1P$v4$$zDbei1)JM8V(blwRA_|9}1f000000001b5ch_0Itp) z=>Px+9!W$&RA>d=T3u{aMG*F${?lKmZGF&Uj3y?csZeWejL~8Q`+(74tcfH-W5pQp zfnfB-23~w1Jb+QLq(p)bY7-MNQBY&W7_8W0gJ^g#MyrXm73d%KmwWxblQSoK_w4z( z+#ic4Y4_~R?9A-!?Ck8E8@tANYHMrjW@cs{kv`hLrlzJoWlp_Y)uacyDf4c za&mI=ZT|K3^=(p#$-sh$CKb45&6<1FKHn{oJ2*J_4FMGu70UG= z9=V#W0f3kz+6(A#_>IU7Ofx>$nnYi$A<)!N$nl1>9K zEx!=@wMm8*B22FpZgR8qwRQn6a|YA?UWKQl$vm`phs->yqe_VIo&ci*7HqLWh`YMF z?%)c^pTGlJTZx!zP}35JEiVPQn__r)cvpbLK$Oem!i5WCfs_GAmq|lI!|MTbz9=mD zj8#%n@{v%e^G_raakVcrdJ8)qPHTzt^Yc$!ym;|U9y!m?&ksVQYDllrCHeIW3JTr> zgFlFOJys`n{O39yo^GG!8yy`T(fK4P0^uznSfvwXt1p3({9P|`oZqNKcX#*w^k=x^ z-l3tP7n+-!Bbz^H5|oL+^AKr#orK$Y`}Xb62QdPU-uPSyO(+_Eb(WFd6AEd8_V)HC zLpeAEQMN`HFAMQ_rB1YQFw=(A4{9Ik073W;%;Af@YB$tkc#B;VNkH1P>k1dhn<-H4WPTTMVU}-Sy|Z#?t+tq*{82_0(zE-1UzYZ;_~F>3Cwed@Ju}F<(xva}V!mj1=eJ|*biMnzJ|y0&iJdN?JK24bAd=a?$a z=(x3O*S@U7Onp{Fn9Z4RslX;CCI&3#2>PIbfq@C8fjV64$D7 zIy$~&y~ngnEdOQVK0{e@gSSIG>Sz@(bGs;!!`7|%*rzW}z`4@W(m8CS8*-=wi-J8O z&rJhnXJTNXn7^fFG=F$Bwt|Jz3|MaV>x z4B|x8$AHXvu|^ciaXXJY+lT5_at(4NRfxvM#>(BhcW+p|dUXqenK9#(2{NTQb?VfK z9Xoa$Va_G+rO>JsdD|d7HPowcn36p`J*|)90bQUG0{Fy{g!VH33!upZwkvSrJbhNh;b+mZFwNEw{L68D6$lP6F9c<|uC zp{0;(=oVyYK&@CM8HB`68vig}Jvg1&Ro+j)yFbN(C4K+)oiw&kPJdmLW8Xni~ z)Pa1*Q5CDJtEPx=p-DtRRCodHTx)EWR~@HsDf9*{mkw~DjFrnS)Cx80h&2XW3XTL4Ox-d~&}cft z2N{FtH)8mtiwO7uwaiSSF0e+TO&GAm5#0=u2&@Cj3N5tYq>Nizpth9u_4j+y^Ln1= zJw&&Ar*v({oVN<%kS`8$@20 z-o1ObF_!=`LSJ9suL}wa{&nowv2GRe1{s zfdF&n%&Cw8<$NqZKYu?fcJ12rOSwUpw~5!**7ifeVd~VWueu=y>b(RKse<~;@pycy ziUV}so0F3hXPXVFq@?79k&%%nok-C8?Hf04+!OUSokXQuO2e`(29cf@K}k)7eI_X-OO|8)KO_0Mc}5}o3t z&a&uk=50u?M?5)AWIR|(+5r)WI)2`=AzQl()G++ny9+y?Af!gmzS3>9z__2rW={}`?F>N7`O&p zt7K%inV_nw>b1+4FaJk|HOVK|I05X&K(q%Ln7)^{ojZ5d2!^JqZzdZyYGOtR{(&q)gO{aT3SqDh8p{KAD_N8P$3$17~9% zo{RUeHSVNr31v(aIePTyHR`Ouu3nq&87_5>P1tA@c z;^N{`U3*k*IH1MO>4-tuVO_gP+lmz{eqsU_7AEF))D(n+9*qP(w~QSf9sQ!5!t}f~ zo0XN76%PyyXwMAu=g%)_X=&MIDhxN)LH50-^c`>`SU}%QtTWZs)p-{#T=JUl#8)t2cxrxHS*B+G~fIfY_hfnt`wM6OR`egtR8raO1;^y+vTDI*i$WPtO_tk3SNQ<@Y679Cd_pXB25vk*{aZjiTb-8x@aR~L9z1MZt{w4l%<(>y+ObGjy=&lwlhcqDS8g zj&ar4TD%%0*2#;uOM6_z2qaFL5a3%}cw7){)fE*Lh5PpHdkI^W`M5|b>F)0C!VdZG zn>TMZ@^9IQg)GPcc?o4m)9a!(B;Qn^+X5VHQ!^dXsoh^V z?bN5He2kSbB}h0bK6B>G&*4()NeJ~g%342zAKKXf%Z`RlpJH=+>E_Lw|3*3TfTu_d z!(jzMtKdsqgpSMD(8{pUMliH5z(_4#SFa{=1~v@u3~;GX3xgQ#=1hbcPcSf0Kd!_+ z6fuf^b@OEyUO8i*Q-_g}m5~m9l}{Huw=7s=-V^5(6TU`DHk@ylTL|2RFdCPn6%gSbBo|}Y) z3l|=c-}R)NHp7gbCV4Y#s}HJBLqkKwmMvSp9`-(z4#gcicKnep;-Io*IbIwN*mvY@ zcESK$PY}}lG871P4q@Cwb8~aUym|AUNkwPS)xCD@+Qu|`eN&-^islI1mHWlc%`yz8 ztsHpBUO^f-ikT5Lr%#{$L8=Vm)Px3Fx^(F;(sjS!d)p8Xfc-g)s`J zEJg>V%P8y=@*+?2PDLkWf+lS+>cg9m%P9;`-O8YXFo15`wr#Hk#Se?eJ67FShQiX% z0Dc+$`<%kQ2-nK8AOdigb?VfqpJC`FT_6OZ7Ze9i+VHYv%eIb}T^w9Fr+B|y9<)Pv zlbLCwP*YX*DL~35S;DGEn{e?D{E}%=QIT~x3@b9}hdnVp%@scS_I}GzaLm1nU=?hATFZ$4z6%;=#9(kwxWuve%>+op{ z+Qd5fGlD}0?A69E!Scl=FSw}N$H%gcB34fTYjl`4xr^Onm3}M|^+D zFRmYWxMHs13miWkZ;niimc$#|3B#~sOkV#p=|DO(4;?yGANBiK93gAgtZ5ogj!V&> zhzs}xfg67lWt(AGiIEe<7kLGJE2Tee{rdGQ=gytG08fRH`-X0ot5>hKA3S*QefZ)& zvJo6-1@y_sSXXSH0Z1|obsnp)Gmk}kVWcEJ!zRmbE&g%^^NfY!cMlkL<7|6Wj;06L zx9nrLxHIL5ky*q0%ufujMct#&CAnjQ=lKEYX4SVbWRjkS5x_JM=KU9WnIq~RrRF_= zb>u$&?|KUqzqU#^y z5u+k98tPPyQN*`tLeWyuAER|~jEpk~NkT-@|2{wOSC>dTb2M`ESqQ-|iT+xIu#p=d>D^+LHsLshp5lgk8cbQLCzs8 p)B}){zQi7+JupCblm>89@V{*rnrz+EDpCLd002ovPDHLkV1hnB$BX~~ literal 0 HcmV?d00001 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Toggle-Off.imageset/Contents.json b/Client/Frontend/Menu/Menu.xcassets/menu-Toggle-Off.imageset/Contents.json new file mode 100755 index 000000000..23631a53d --- /dev/null +++ b/Client/Frontend/Menu/Menu.xcassets/menu-Toggle-Off.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : " Switch-Off.png", + "language-direction" : "left-to-right", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : " Switch-Off@2x.png", + "language-direction" : "left-to-right", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : " Switch-Off@3x.png", + "language-direction" : "left-to-right", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Toggle-On.imageset/ Switch-On.png b/Client/Frontend/Menu/Menu.xcassets/menu-Toggle-On.imageset/ Switch-On.png new file mode 100755 index 0000000000000000000000000000000000000000..7cbea052407d173459308679317319f24e6f6116 GIT binary patch literal 866 zcmV-o1D*VdP)Px&97#k$R7efAR?llwK@gsOreGSOsI*GbLq(|QsRxTEAqPEqNIiS7(Q8FKh_>mm zu@(>FAE1c`&zeI|^-%C6_25adAQowYTKrK+Td~@8zI|`<_Px9$FM$rcx4Sdn%+Bu4 z%&sD){-SGqddq5H2ug%@JCvbhB30BMT#LR4CPA1yTc#ajX{4kNeyh@sEAs#Fj@L48 zKm+so@a{kQ%;G}=VL+Y%WyOnK;nklNLAXtXh2jT*sUlHhiD69{Hvynk|Kn-{WSrzB z|KcSNh?cb5vxDU9GWA^0eoX+ssulwwnJw;Ux=;6l3LXA&g zlACFEaTMbSs`FXB>~rYa=Ct}L^4>jB^oG3{ham@%+|yDxc1>8Y5!EV)#8tG5SKJd3 z-pNNqU+V6t?*JWfqM}g1X!B!11K`<5zPm?HnqnRxo9Za()~$BU*ain_jpBsVM!A!`0l<_Rboi*&xuRsy?}j9c&2miW#_&ic zK<1*Zq6~l+2zxLPd>b{o#oardjvx4L2$M5@VK7Y(*YfJOt=n+KB(kE{y=;wbFm|5{ zKvL7Wz>aYCAo=gbHqr)&B)Q7p=|LBSP<_hxAMU^?LV%eI3ss1nC`Ey~;f2#YO4qLL zww#^Gqn6+fZdD3xe9QjwB++=xSoiMrfGu`p74;|`;Px<(V~C>~g@q3eihmpf?J#$j z+DU`5NUWkIbCdtwqfhKr(|aLkqWuWB{o`D7H5VtI@0Q zJ4wL%*7EH+l&15jDUCXU$-G+fV&5HN2e^hzNDaZ<0Y|_P!sCmNEXU8}9D~kyLEU(d s3a&$2=dG`?jdyIL!becCA0oEye;t+=3G?p5lK=n!07*qoM6N<$f@*WClmGw# literal 0 HcmV?d00001 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Toggle-On.imageset/ Switch-On@2x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Toggle-On.imageset/ Switch-On@2x.png new file mode 100755 index 0000000000000000000000000000000000000000..fa833e91d8a3fcdb6212910a82eb0afefb807ec6 GIT binary patch literal 1787 zcmV00001b5ch_0Itp) z=>Px*wMj%lRA>d=T3u)yRTMsVk|H#TMW32H_>gMon-(J~wt`|I)IX@C1wlc<`a|mv zG(x+p4>oJS3N^O)6G1`op$!%kEk%8hHloE8_08Wr_z>3@L(QfjW_LW_?4H>>ckay2 z?9Ps{7nb{T&OPVcGw0rW&bh0oQ7)f!Z(1e#O8ScEiisjyc2ZhY(~1o2KiivDyu;qJ^*~YxF??bu1Sk zNYNL#{5R3Ymj%L$g&vz-drKz(jDgEMef!8xjAYye>C z?6`(#c2^T1)<`b(U{obphWUvx(I>?1kj(=@FW)_;_w4PKL>89p6ZO%SM0Ot6(Zg;2 zGG(Wi=;kmeIHIq=S_|rf546FKKCz?d$x1;T^_JspX+z^r&%xo}?6%k1@<#G`I7DnEGaCW%<%4`$`{o~JxBpY3*S`sms~+0! zPh(s8leg{_VYKd!;8448KrQ%!2)p$qcU3Ml8S6$Z$Fk542_gX0{gdttf6_!+KzR7o>dSt*3c(( z(q_TVvPX5RjYde2Jd75*#Qa3w6)qCuzR6?fAd0~SD|}J=8p&(71ej}@@if9he2~?a z9pW4JhYfoa;3U`R5@W;0bq`!W$Ei2#BF z7t&Hja~A}DtfdU*E(o0IP;u#eCW1tHT_J`%0FT}*e1^=yp(>kzwEdBz$z~u^Vhbyl z3-r7LA0Zi;XsmLD2yS3pK`5aoigaA$*&Op0)DhCO;fo>LNZJW={9WVa7xEGYDXT_iQUvz}!2pDTdoRGQ z)b*g7O(R%58wn28dq@^jmEMD~+u&)(c*SpVI&n|byhuT!CScslXxC_*!_|AT5;Trq z8W_$+SJ6kxq1kp$ghUGQc6W^qvp2ajjc{uQm(6mWLlZb0TFDfvkp7apkNvkJS-I7% zgy}k*4-MWj&qyBA#?Pt{PZ2J?YMXGWjG3tjSyw4-yYZABZwJjamO`C)JCt&vtHY^BY|>~WMyi+AOu!JeZsXi?Rrfd~r43#1ze{Mbd!i(#{Cm`kV{#Iam`Q0v7r4yk zBPrzwc+K*fl@pJc_j6FM{J$^Um%Cv?oYNXLM7k^)_Leh5DUyvgxOWJsKZ zSXMYlj2|Cw-v<#n;EU{@jm-E9TC?W&cm6ZLqrRugFE?HJUq+K-x)v1k_PyzS68Ihu zf0#lMEEb;~{+ph!5Qy7&Fj{jVK75qBMu^6)CK~1^aY>uwu*5%>PX9vmF~6VMa<(l$ zL*s8Ef)`K-1{=wr)0a%hFDo@`P6cohY0OL_g%l$5@c5bMzl(%#9yM=~Y0l_AZQ~WG z5JC2Gnl(D{e@_Xp5|%iZz00%+S*O%36(WeJ8!3Xr+*}jxzAjrtdyYf}7s(p+M*G d=F~3de*w609ftoqhLQjP002ovPDHLkV1n-MUC{sl literal 0 HcmV?d00001 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Toggle-On.imageset/ Switch-On@3x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Toggle-On.imageset/ Switch-On@3x.png new file mode 100755 index 0000000000000000000000000000000000000000..0d167139be7a1099616c0d177bc7f0a496e4a552 GIT binary patch literal 2864 zcmV-03(xe4P)Px<>PbXFRCodHU0aM*R~i2I28NND0Ypt?1gVy>7kx0O#Z--2>ZL{v8jWpQt%+BJ z=mWOY84`J5hSEx+#<4c7Nl}}UXcVonUJ9mB8;cfw(3Uz?YoUXQc1oE6r!dU+`_?&Y zpSAbdm$ffvpEFa|%UXM_|GNIYZvXoCIgW(VlAYdjsOmDS9Y+qI8ggEz>l|GGu&2vO z`RVNrXdopaoEoZ;=oxO1avR0wl15;QS$69>G-D*xxZR87!i4t7rd&GZ>OH?B>RmY& zDGw@d9FhfuVY|`ZBfK9k-N@6y>>`KxXyoI7&t^pLZfbktP3_Uqo_QW=o4C#x`pJ5hNVpk6P= zE^p1C_BGeMCJ5USCSSd(0wzB`QUQ}s-y3FvK@+S>f9e~FhdJ<%<~B9r^G+q<*O)sj zb6Z1p3m3>hjmfb04UEvu%`z0PQA@HWgQfXtY}r=m=Q46V<@>MjsqM~-7P#_(GKgb| ze@ZhTJ%1K9iDRnSfSKTav(BpQ$nBVUKO2UPWD*AAbKW^FidLpNy#3wXa{0to=V%&U ztTJ3?@~#4DObfL;G776~iK5Y@OzDep6xR~!Aov8wg-I%)Ox}6MBv^HsgM4z(*-yT{ zGF2*a%R59iUuLH^Xa8BueMt#Qd>dB!q*A6TMY1Rn7CwB42)ASBe5Iqd+Me7KZY=xR z+#2Skou-hh&J1~}XTZ~Y+zcp9p!Z$ZR28Uj@t*YsYC8B~WpA=@E>CF5Amz03)KN6O z?XF}Bl}-TRtzxoh!Pcm4WdH(O9Hq>PJ>Kf+|H+eq#uhy+TO56oietyk_xsbPCr8d= zSJ0)DA)%LydcCKfk;yost*YnA?PISMS+`Q;IJo~|T;zsdikz@LPIE^)Q3w^K4I2XTE>`I z=*p!hzvMig#Meq0lfa7I-l{WaSOSDXVhI>GFO}}cKktN`iZwcs%5?hl?7H&msX^zFa91=b(+WROm}wc$Q40BfCNfZK zOUVwcG6avJL7zUIE@qprOy7vNu~QdGQ(&_k_8$4KSye}8Ee!9zzxP2*lYV#V7Lf;@ z5P8qtjpwA2Im;k4+6`|nt;P8?; zEz#Rb7=}Y^NCPgbJ?cg%jW%z~>D5U}80+e4%*7Vvwj{u^+74WwpOUSQ&BZG=ke`h` zrVc-`#|T2wRh5+JGK-i?l2G!sh3^6LP)T!D;Z@sMi84GEw>sfSvc3{!c)o9W@}$2K zW$37Ab;9B~S&1@-o@%u!ivGVUQO0H!Pg6I|BZ}kpPb*Qz+6R`P(RDveXhc)jBDsT+ zU$-ZNmD5W1YLUcX#-zm1Q1`|``CJlES#1nIh>CNtp`R2xq44YR814?onT2)E+7K-Y zL!WV0g&0PZb`8j@b;_p33>|Dm1+~SeLN>1)EyvFvb(1~TdP7}D3Q6ZS7d;w+HzQOqj9o5i2VCE z49c(7E~*H@2;5Q(!(jzK_BO;|T;I;26`@~sRoLEQW!Q_$iQQ>euQo#EHVp3!&UwPS zwMut$HcE8_3_>mNP0bb^qnK5uOori=^K;X(f398PWbKr);kjj5+$|gRImL#)m0_0d z^e#Imav#=;Qsdoi1e{MW=7hPRNnx!=g^N(7V@)T=5E#)yv=->aDql*jK!=I6ftE z^jVRE{}lN-Lfp#mFE`l%n}nX_a6UQ!je2O2_07 zj*8(g-3s*B48D@P#N1~4hN-V7f1hvX5XMh@7tt&mURj{q5>V+f|0r%*EWF1FRM3QT z5M1RK>YbZfV|Y@Zu0>w9&F_*db@o<9=KSQET1zH_9z|21HI(MPgbquxbKL{pz9#BUDlU@YG?T_4HXe8fu=ij|{}y_o4QR z&tIKMyLU~JkU!buGWtCUXfCyJm&NGFb|=a}S@I^@#I1jlke5bB;qgW^DrB{4At?i8 z$(v{sE;MWM66iEMUQ>5UDk#eu{zl52`N%Y_(_e}MVyC1cvd|_BVjAxhWs1u2r+*iv zP#%6ESzr@>$^1}x;VS!FW&Spw?&W#7Eb0%-+o|-Q*#rW{(T73C5C`-sb^OOVvndX6F4nVS_yJVai9CxK zMaf&Yg&Hxe;73i^4XAH{s#d5~{OG_u`0@B(4K0iBk^kcA;I871OiW?^7u&vJC}fqN z|CQA#HgxD*y!lG|-%hfjNf?fho9<5!u(qKG8SljJ1NdH;fMG}gBd3gCnT9gqx|kkk=y=Q%nuf&G)79(&j2(ThKMROX;yv|MdW;4xjhgUD;sGT zvgSwVxL$n_>(07zMLAE6J%CYi7+*PDp6RzG%&z0F8hW$x8*HannDyt&`Fa2&VZw3c zEm6OXVN#48F(wep>SrfC`2{Z2a1C`nW$polEMb9vSDHaIU2DT=1oh*lld=Z}YRRwa zYCiKO$2Up+eX=!f%8Ju7vtdj^40Sqvg2Dar1=P>W$Qn~$%km7?kFPCRE<3^@NtXBu ztdL>CjOww?o3S2U`@EU*Fh!vg??!C$sE%+6_e-AVQVkO)fcgQq8F@2|bqS1i5nMn6 z+)RLZAMYN3*A<7`rus8@>n9=OBxIa`++)ZegWQjHEtKDyf1%SV`Th?I?ocE~+PrE2 O0000Px$kV!;AR7efgRl7RQ2Xl~$d7#oS1ppk-Ha)06n2pSj&f`MS- zfo6i4pqPjz25QwZHCMat>>QkdHZ)z`UESL~w>wu919=)B;NnL3OF*_W7EsL0DK#Nr zj8EVTkCV+(>M;`v5GQ2|nSMRHhJdCx@Z?TNoEo9bll{>Yj60OH!1xhVvdO-NB0i!r zOcVLY$jY-w+b9;T4v7TUtH=nziLLVwO=RO|C?DI}k;I%#gK!CbgLZS|B@les$k!_v z0|AgMaZYzq(S+TzIGeniUx7Z(E;91DQ=>d0Dw5m!w^A1026DYPms@v}Mkk+KKCy5eW7yaD3?e(+n1UyxX zvGJkB77b_N0vNhrwL#8qXS)UhZy&wLxu(p&K$ltTcLDvnu<rfu=29%9v zpbt>~uaKXWrir-$<0HxcYs_`ep#H=C%2D_^Zo=Vz6(2P68GB>mZ)Aj-c_+AIeEPx&OG!jQRA>e5SvzYLQ4n4qQ7a1tNn>GQY{kaXPE%S~8ANRS0hT7ct@h%h5EM~C z1hEt>EEGu-9|(3LS}KWYxgOi+QtL^!w%$a{WQ6L3gxuaF1 zz)e;*gy8J3(uvngBDR5Dup^o0?sAJH>G5!st-%@hBbv`14lt|1#g-ymF7e6uB#RhL zUNQg#C^b&E`9x#KQ?4gY*$ES>$X*6}3lQA>q(Usg|3Y0taJ|OTNqkOzA?~~jQ3a*I zRY-la2RGNQUzV+37FM(_B9lp7rxcJYv@Xs>M0yttB|&TU3z(1sxzYR19luIz%;gk`CjMj221w+7rcjQ!G_jb; zZ#4A=*;2$a4iNtV%KJXImM4cXm!Yi)KOudGdWqDDd)Nx|5_AqDSG5i?PtLWr$hS@W z6^QR|gS>}0&j|k+;16=oDoYIi>^KWGrRq=P7=*;{LUTVl`NjDn^d2-8z9$`r9)j|^ z`3C(8{RI6DZB4u@&bWz^p7>Uuj()}a6?d*cXSWLbdkK|?hBfj5G;y~>5*K*~qm#s? n0gkg!Hp0&xJR|)4(FyqntRO~p;_^<(00000NkvXXu0mjfnggcs literal 0 HcmV?d00001 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-Tools.imageset/menu-Tools@3x.png b/Client/Frontend/Menu/Menu.xcassets/menu-Tools.imageset/menu-Tools@3x.png new file mode 100755 index 0000000000000000000000000000000000000000..ccb363ee0fcdb6f9a56fc6b3687346c7ee45c652 GIT binary patch literal 1463 zcmV;o1xWgdP)Px)aY;l$RCodHTTPEtMHHP85g`Uvx?tl@Vn`$*?lhUTM4}5=uyYn9EF_|k5Zl!( zSr`*HB=ZN{h#?^{ia$Uwun|}QfdmpHXiz|-5Y*wE=H1t~tLy7kRevy3mE5VXTj!oS zRj*#p>(}e%-03X3euG_hxvZdr=1itT&*mvkU!!vwW<@;Rbcpka(+_IoRg@3FhLRu* zHR?*xVG-UVaW#Uk{JV5MF9ns4pgyNM&EkC1u;O!~PajphHHsN-yY7^c;`FcCX*$^Y z`>_Qf&A~?8iiAd6q;`BrCW7`XAOvVZQ2q=SOk|=>5BOB|>2_=RL*=Xi&9Zf{G|HAX z2kH9z;%v)J0Gp4uZTbMDcM>LZ_R=lcxgTKnVc(^KeuRO-TJoq(r~|%b0pV`%oP>eo z+|6cMFdJ-j0bqXH;voH&u0hi)D2gNV-Gi=vsqNEOu;J5I>8z8C8EThC?P!*V2AG{q zeX$hKdb3*AJQE<=g6p;zBD}A0%-fmO1 zS0DhF&m0pN67Dtub^WemI91brZ8><_IskPu!Ahk^B?ysBDN^&k`&rDac?gyua}+pP z;s}v;?HgjOv+oyGxB0N`CM;KwelS-65}8;EDN>2(WvWY~)nIv|if}Xj2{TDdg$T(= z`VR#m#s7_0WqK8}Iu5%5dknhFSK@>@X1` z>Qo~pd1GeZ+!_YFC}NVA3;{|IT8hL8k|CieCpvmk%u>a~Ax`!Ov>hIz(iKaF{+rgx zsKlJ-%ZW7vD*&GD(dZ&D$AO@?u*f0M+a0Ten z9wNhjN!w8P3dUvSKH~$3Z(v(tMN$_sMFRRjDjAnLRhg=cO95AV-7_v_Hlo9K*QRn4 zOEX1=vz{4cWC>h^Cb~>Q#--5I$nd|;KVa`DhJ57qP}OVEp#U#Fe)u~Bb8RzMJHI+T z0b78rs`Msia}nm6c-MA**Zj;U{vY%Otn1``{=H{jm1Y8mt1$MZZ5{8Gk#N%CW>PZt4VqNm(LNnkcX^Z<_A^c>R z>keWzvS!;-a@4^XB6nZ&rpemiw#8UlQ_a%;v!;-%kzuP5~jvSx0@vP;E~@`26*g5PFaf6JH; zACJJDa~d|TOQb6<-${8lp8oheXHA&@G1ZxPPBd%6{0w2<7~ejKN6r!EdxYV5CO#55 z2ur!^ahLFHIRq0t6sMbVgyGrLbs`k-Wti`Ev*{|*M4z-UGcoBH5>*(7N>!LDj6(rO zbKNmj7>5Fm=DK65Fb)MA&2`5(gyARA)c>wiKKVLm%w98JSmw_Qx;`GD|Ed;7mg-D` zIBP-}5$M+r0<9@wM4-1(;L|kUB}QR*My=^Yp?DT?NAbteKf)GaJfqfZdICo(yx-=E RITru`002ovPDHLkV1glUvBv-a literal 0 HcmV?d00001 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-TrackingProtection-Off.imageset/Contents.json b/Client/Frontend/Menu/Menu.xcassets/menu-TrackingProtection-Off.imageset/Contents.json new file mode 100755 index 000000000..6c16dd236 --- /dev/null +++ b/Client/Frontend/Menu/Menu.xcassets/menu-TrackingProtection-Off.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "trackingprotection-off.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "trackingprotection-off@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "trackingprotection-off@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-TrackingProtection-Off.imageset/trackingprotection-off.png b/Client/Frontend/Menu/Menu.xcassets/menu-TrackingProtection-Off.imageset/trackingprotection-off.png new file mode 100755 index 0000000000000000000000000000000000000000..871c31d892bdd542d635306dfed3bdb48b44b822 GIT binary patch literal 434 zcmV;j0ZsmiP)A9Ys+%01iOSs{>F0c&Ez@UX?J@4E1rxIa+f}L-eyqd;bkNFeP|q<6+18G> zMNw(Yu3!cUhg|XDR`ysXDu+Q3CF8H2-mR-GYDu{$f7?8*Rf9~S4@L=rBsMl(6U2UcC_|w z^fGm3@`jD=zanro{%#SVL!Zbv7hd9V7zY1gnNv>n8Td+abxOcykqhrkO#f#-<7{bD zBK&SP^U3UMx%Pzzu^zych{jnfB6@NF zCjcV=`e8l-xB#f0@Cxvk9{@DvotFS?%IpnJ>(eUy#=}l1H#cwZSKv`ctJl+1#KsuC z92F`D$7^Aw*A)tlqTPt7oyJiR_{TsytfbvOW991*C-DiOeNrQ*215DPN~K!cVOOG$ zU?6^8$-Zt4l+IuaPf8GxN%YH}d1K6lhzn@Gq?84gQealqgn!4 zlD7r;-3gR}-<7}`;CCai7WiEVECk=C#{GpC*y2q}VVe`!5)Ix zCE#W3nYjdR%0Y(Ipi0xsyo`Of39DuWDsjJPsfB6NM#i3*OCWSiZp3}*aXKgGW$YOS zmw+}82SwnJB=#euBxKc_&8b+|)g_6P=C`Fts?C zZ3(`PjC+a^Xd)fYOHY*x2%I8gH$ej2c?fhId1kf-Um+|K!>qk$fLI!()Tao%V)joO z0-F5Z3Vba0pXxA3fCsv~8a&61rRT-lXF(or1^%2!-P!C12`F-LZSaRgoLTN`R$x=L z$pGI+`|k{1v&xN{z!LDV1>Ym%D>m$gnTkUI4#}~^z}*7y?(=Jm2&xSL`L=a|q;sFLgC|Z3?MB_pRW^Y$5Oz@fmjG82R^1ZJ;kgt@lW% zjfy~aXRF~kx$Uc!q|$6gKoH4Uk-il8-Lw9!k}_jV4g0$J0h?xj_|Z3mzQX=#V^}NZ Ye{vId(glNK<^TWy07*qoM6N<$g47m%v;Y7A literal 0 HcmV?d00001 diff --git a/Client/Frontend/Menu/Menu.xcassets/menu-TrackingProtection-Off.imageset/trackingprotection-off@3x.png b/Client/Frontend/Menu/Menu.xcassets/menu-TrackingProtection-Off.imageset/trackingprotection-off@3x.png new file mode 100755 index 0000000000000000000000000000000000000000..efbc1b2cb0e49a1ad450e6da7e32e9592eacea77 GIT binary patch literal 1277 zcmVzz>{;>8-Oc- zi!Hs@`clwL0D#H`NGVmpoP2FdYhQPXUB3h90d)4Y2XN6^UlaTFDjAScs>a}mMk!y!%b?h2;@KytJsz$ z?m1R&kS?adCbz{Pc4)1uh`z+&D5cI?>%;ARc0hLZx!w8@Uwx$E0Qe5zaH|soWI?zq z%1)~Pz?eDUj3pJMiEU@g5&;>`-ZQut+X|qZa5fJpH=IoaDgkG+fJ(vHB%qRTHU~%; zPRq4n)mx2R+Xs$T3up~+fRzGT3mhO05PLJpQD!)7+g(7v32mA{{Tp}ifI8&!oRIB9 zjTpFqvOEC5)Y8*x#9);%h^Q(5~N3R0d<5np&*(&z)N@zWdZ1hZ=zN)dwX@H%)v4lj?d%8EHpoOO^C$MFG^i6|sPx0`(oC zEk!w&@{r9#b#6s0pirRhksgP{;V=U9!s11rT7KX>^V0 zu>38Hp^o#100^D)gj-TSNvNbheGr^l715?^sE?`5s@LT_I#{Y&t{(vV-*-gHthV4hClqAPFxj z0*5)ZG=O6=AUkMEEGh|yb1{2TpTvPVb9yN_)K&LZT1vmvoAy_%X#3!5kcUzAs0XT;U`}V9cO2DxvLcVGQFcr)!V0Y)S6jpkTDhm3GsqmP*QVn58?$z!C)Oxl+Mh%>jN zAGP&()d?owYVF?=8|CB$BL$EYoLog@HI1EOYlm}z(5mUnq+c-o@$*!MyoN{ke!iDV9TnX}bsTjoJJaW&t5hb14-CG#c2z nYHexY|CzuG%=V%y31z51L{m1tPOk{{00000NkvXXu0mjf=3sO8Wqy1n{Yl0YC>JX|(_n$+RFN z2^Fbz6W^>3K>gxX^7|hU`?`~akc5aVa~j*zM9`}{Xk3Mf@P8|}nWR7gR`~{?nvQt1 zRP^S!$_vRPB38H~*^0>IE?B3NtBl)DL<%>ZE-TRhz++?WP$SuYyi2mz{sj&T3}&v> z{&|A0G~>YvbY>xFpH2t_Gw!T_C7WEdCj{&XMoztjSIlo3Zf~^^SOG@kFaqc^23Z`7}ZTvhu!B%C-R|Q<|d*so_a!9~seaCn+ gC(@*Ii*MuW2fsf#P7q9XU;qFB07*qoM6N<$g8t94E&u=k delta 376 zcmV-;0f+vw1E>R#Ie%J7L_t(Y$L&?YafC1oTxISbI*3c41WHH=SHhJ*36$Uxu7gkl zB{&_J3O0`uj3UedA^Al!8W^+MT?Dd)Bz%ZS01yB)dJO<-0Iv!e0So|=W)C2dObarS zP?1)Pcrph7?aZs>-7gUP>_|dLLPVB*dc>z`K~{Irc2%Z@Z-1p?k^%)-xad#5L7F!^09QAGRbj&UfUiz+<*-+~*?F>7*W&?!)?vde zpn%>y%<8Dp`*EiN1zi7ayH-%+9Nf(&mNx|MuC`eStN^2N7y;x0c`O-Q6IirFMMHr& z6bxkm)v7?LC8jU}c-M?8n0mqYjVTs(|bJ7J2k-*(Kn5-RWdbq)FGpR{a-t WxjIhbv#h)T0000-%KkPb)%n;$G#UVWfNaLy0E84XcprG0N#5|WG|BILptQvoOd)Bs8@zlGTwfSyYW zU?8F{+qXu5F~%lX@$)s4!#hS%9Y1>_YLhwn1Q=rq00$;H5r2KjB&x*+Zo)bMS0Wl5 zDY7RRHb;xU)IZ0Www&_E%$EdhLZGIe?Q&B z90-lKTF(6cRexB7m)B(TbHm8h@C=DLQaeE{fQibjL++$pjWrqgw>gUp{CG5hTs#Fl z8czX_##6wfks_cJ^^YBRr22MX3wTTHq+iEn6{PP8GuM<16r%2)OZS8H?Z6fg+9p?` zzUy{+!MDS~77&VTDeC=tK59tc6K1X{8F=AqmL)akFZXybV?`C^x?|TzB z0p-5{oPQLNT8k6=@}Y75XqG6ASo3rLI*ai*egJN2p+*BXaskH z+8Zz%C>tmfAU_JFHcV24B(wINamP!TP~>~~A_a<=8FPh*9DoYI8bB@Wry6zw&`CQ2 z=$YBiUfV)|h|U2z`S~^z!@H3313_j!<iW6@ZO^9DuG+R)0RuhG4n+O zumjKo;5%zQfZY{d1-`vQ;JURz0^&0KAZ;_?{*D16@(TpyhYH9c%QzMIbK~iqncYPY z6A_on9A_D=Qi&p4fy_*~1bz$9#d7xuu^~+lDf?H7z~KKb;csgl`K6kW2;v&Xyb7Ui z0nG(n;#*TUl7CmRLQg~%p!(=gdXu{(V3a?&BYDAt%ag#9z>~m}!2J`b11HW>Qd(b7iqWmt#tK zBm4Z1?sI|lMFES+TJ?_w2&@zD!#@%cLe*uGtC?V0QN}V z4b<5L&VMdCQs!(T#E(`2V{VAR#l|Rs%q-JHo^#?>{Q}^9^7)a;9mX#kb~B2%yNvnW zWCEEQVzHDn0CzciNX)_}0>-AyDuZ zvo&Fw5O~`gg5R3)Ow1m+L73Z2Nnkbsm7%&Bz&yL0Omi~=iikIAyjfyxTH;T+4hdl!r z0Gy2|B04uz696FQB1j0agI;`Rq&L4m3Wt6Lpa4kos{ovdXn!ai*Nb9;gb*FB)^PdV z1Gp&~I2~`WtPNMIQze7433A+`Gvd0%TJa3a+K}R|L=+Tg5{}TZfWDXvW^LUh2NUER zRwrf=s&ZZs3rMg&R2{#Tp8fRr0*ExfVSJSy)_Texec&f%5VeC z!Qs*{+UA823V-E^oDapxoe-kOHNChH__Lmh?|3Dm?tNZ|AoBG{K=aE3lb`Ky&D1*- zS{)II_wh3b^0`HE##$TJrH)Hr)I&-M`b9)CN!yjcxar^6aW+BU=2Yk_z}>}~!Me!p zVZ{z2+AXA#7qb&&%-W6z9p>46W;mnaJZdR)oP%5rd@<;iF;2*r*K9?c`14`y zK7v%iWRlT$DR2lcazcx!#iCR_%t@I>CMqer<8citd3`k5xCGrNEG~Q&bOP3lpaknD0QcDhnaQ|jswP}*$0ezfYjG_<7@SiGN_n|u%GFpT zHFPb)#A{G&g3P4cGZHu1NK7gu=RQGC#Tt`2ai1_TL6`H!#`BV1K+Zl<$G#dtMuAhp zx_?xDj+B2HLeqT>;xrJ@(MOd)_(#Yxn^HTPB3pPBFHF{n)nTf#H1227MS`1 z;9b%j8A|0`V?CyvHKsLZ>5)8Frh@Fm&k~h-_9m=YWz2uhny=st<|s+fw-u6!GQ`Nt zIaRI&mz>Ge;OJBOfQc9Tq3=!}3Qoo)4ze~2pA>z&!`!WtD1Yhp1v-t8=6?@uF@L3R z1-(J%JNeJ+D#V0ROPWiHEaxJ{1yttjbXeD8=ND+#Eq>BlrNWH#>)k!pakKsj+O6tT zo0OVhV7FPqB5h|W%sMO24*za(=+82k|3K$TCz|PlZYw@CC1^CUCaX8HhyOEyXXxZnwj{;IKOzXoLHBOw Qa{vGU07*qoM6N<$g6kkZ^#A|> delta 1064 zcmV+@1lRl93DO9VIe!F6L_t(|+U=a}ZKN;|hF?ebf9W7}aC8u^g4+^O0wr7tDPhyW zUIj-wU^{R+U@MsWk%>eQh8cgbkhLXiCB$O;;hpgSV;dsE+Qk@C0Vn}fTnhkCqto61 z^Z+`pmWaC5`3KLc_Z-`RW2WK;A;WEicJC{B5RCECF`L-NHzN;S5OQPYKM3?fF#au zkL4k|;S4AP%78MU3@8K2fHI(5VgV|4Jl-M{&_(c{%71bEZ3loV!8w;XKz%l_d_gPNlF zYUB1nib0l=7-D0kl$X0=#ZnLe9396`8&uCxcwRf@wWsnFEtb>O>`dygcN*MWO0I7W8ILQH zJ_~3+a`MuYnZ0hvyeh~(fuALjwARcT$MHWKGOxzlyj&*6vXo@I_5cdU|6guxV)%H2 zC>n?B8V_2@O+4Gospz@^^&EW7Ye_*hQ;P`b zBy7`qEoR|Ho)v?uXRgz&2}q%S0`Tk&Na3uB)mF^Ny;}niwSy3gt z<9{|35W~?d<2sA4ohYslLmCY5MJoG1IL^2&2#{ys*Dv{`2tKDzVOm~*0-mv6GNSgf=>ulQpzRXRp|JF6R7y^ zlpFi(d|}fK{?Z#I!;F`A*Bg0R|H@_+C)*@J@OHeB$@MY9h-kA|qCn2KMh!%h1De=> zDA|rJSlIt((|{6f)YPv5CQ2OS5jPd=qmBT6EC2qNW2JMd4c#XDe2Z-Y2e4|c6(Od# i3G6s{Y}bS`EdK$W{moQ93h2=Q0000 { - if let messageType = ReaderModeMessageType(rawValue: msg["Type"] ?? "") { + if let msg = message.body as? Dictionary { + if let messageType = ReaderModeMessageType(rawValue: msg["Type"] as? String ?? "") { switch messageType { case .pageEvent: - if let readerPageEvent = ReaderPageEvent(rawValue: msg["Value"] ?? "Invalid") { + if let readerPageEvent = ReaderPageEvent(rawValue: msg["Value"] as? String ?? "Invalid") { handleReaderPageEvent(readerPageEvent) } - break case .stateChange: - if let readerModeState = ReaderModeState(rawValue: msg["Value"] ?? "Invalid") { + if let readerModeState = ReaderModeState(rawValue: msg["Value"] as? String ?? "Invalid") { handleReaderModeStateChange(readerModeState) } - break + case .contentParsed: + if let readabilityResult = ReadabilityResult(object: msg["Value"] as AnyObject?) { + handleReaderContentParsed(readabilityResult) + } } } } diff --git a/Client/Frontend/Reader/ReaderModeCache.swift b/Client/Frontend/Reader/ReaderModeCache.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Reader/ReaderModeHandlers.swift b/Client/Frontend/Reader/ReaderModeHandlers.swift old mode 100644 new mode 100755 index f86f2d2a4..65ece71d8 --- a/Client/Frontend/Reader/ReaderModeHandlers.swift +++ b/Client/Frontend/Reader/ReaderModeHandlers.swift @@ -6,6 +6,8 @@ import Foundation import GCDWebServers struct ReaderModeHandlers { + static let ReaderModeStyleHash = "sha256-L2W8+0446ay9/L1oMrgucknQXag570zwgQrHwE68qbQ=" + static var readerModeCache: ReaderModeCache = DiskReaderModeCache.sharedInstance static func register(_ webServer: WebServer, profile: Profile) { @@ -43,7 +45,7 @@ struct ReaderModeHandlers { if let html = ReaderModeUtils.generateReaderContent(readabilityResult, initialStyle: readerModeStyle), let response = GCDWebServerDataResponse(html: html) { // Apply a Content Security Policy that disallows everything except images from anywhere and fonts and css from our internal server - response.setValue("default-src 'none'; img-src *; style-src http://localhost:*; font-src http://localhost:*", forAdditionalHeader: "Content-Security-Policy") + response.setValue("default-src 'none'; img-src *; style-src http://localhost:* '\(ReaderModeStyleHash)'; font-src http://localhost:*", forAdditionalHeader: "Content-Security-Policy") return response } } catch _ { diff --git a/Client/Frontend/Reader/ReaderModeStyleViewController.swift b/Client/Frontend/Reader/ReaderModeStyleViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Reader/ReaderModeUtils.swift b/Client/Frontend/Reader/ReaderModeUtils.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Reader/ReaderViewLoading.html b/Client/Frontend/Reader/ReaderViewLoading.html old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/AdvanceAccountSettingViewController.swift b/Client/Frontend/Settings/AdvanceAccountSettingViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/AppSettingsOptions.swift b/Client/Frontend/Settings/AppSettingsOptions.swift old mode 100644 new mode 100755 index 0bbc86bf1..8757538e0 --- a/Client/Frontend/Settings/AppSettingsOptions.swift +++ b/Client/Frontend/Settings/AppSettingsOptions.swift @@ -32,7 +32,7 @@ class ConnectSetting: WithoutAccountSetting { override var accessoryType: UITableViewCellAccessoryType { return .disclosureIndicator } override var title: NSAttributedString? { - return NSAttributedString(string: Strings.FxASignIntoSync, attributes: [NSForegroundColorAttributeName: SettingsUX.TableViewRowTextColor]) + return NSAttributedString(string: Strings.FxASignInToSync, attributes: [NSForegroundColorAttributeName: SettingsUX.TableViewRowTextColor]) } override var accessibilityIdentifier: String? { return "SignInToSync" } diff --git a/Client/Frontend/Settings/AppSettingsTableViewController.swift b/Client/Frontend/Settings/AppSettingsTableViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/ClearPrivateDataTableViewController.swift b/Client/Frontend/Settings/ClearPrivateDataTableViewController.swift old mode 100644 new mode 100755 index cde9b3747..9a4284bda --- a/Client/Frontend/Settings/ClearPrivateDataTableViewController.swift +++ b/Client/Frontend/Settings/ClearPrivateDataTableViewController.swift @@ -23,17 +23,27 @@ class ClearPrivateDataTableViewController: UITableViewController { fileprivate typealias DefaultCheckedState = Bool + // TODO: The next person to add a new clearable in the UI here needs to + // refactor how we store the saved values. We currently save an array of + // `Bool`s which is highly insufficient. + // Bug 1445687 -- https://bugzilla.mozilla.org/show_bug.cgi?id=1445687 fileprivate lazy var clearables: [(clearable: Clearable, checked: DefaultCheckedState)] = { - return [ + var items: [(clearable: Clearable, checked: DefaultCheckedState)] = [ (HistoryClearable(profile: self.profile), true), (CacheClearable(tabManager: self.tabManager), true), (CookiesClearable(tabManager: self.tabManager), true), - (SiteDataClearable(tabManager: self.tabManager), true), + (SiteDataClearable(tabManager: self.tabManager), true) ] + if #available(iOS 11, *) { + items.append((TrackingProtectionClearable(), true)) + } + return items }() fileprivate lazy var toggles: [Bool] = { - if let savedToggles = self.profile.prefs.arrayForKey(TogglesPrefKey) as? [Bool] { + // If the number of saved toggles doesn't match the number of clearables, just reset + // and return the default values for the clearables. + if let savedToggles = self.profile.prefs.arrayForKey(TogglesPrefKey) as? [Bool], savedToggles.count == self.clearables.count { return savedToggles } @@ -120,19 +130,17 @@ class ClearPrivateDataTableViewController: UITableViewController { return pair.clearable.clear() } .allSucceed() - .upon { result in + .uponQueue(.main) { result in assert(result.isSuccess, "Private data cleared successfully") LeanPlumClient.shared.track(event: .clearPrivateData) self.profile.prefs.setObject(self.toggles, forKey: TogglesPrefKey) - DispatchQueue.main.async { - // Disable the Clear Private Data button after it's clicked. - self.clearButtonEnabled = false - self.tableView.deselectRow(at: indexPath, animated: true) - } - } + // Disable the Clear Private Data button after it's clicked. + self.clearButtonEnabled = false + self.tableView.deselectRow(at: indexPath, animated: true) + } } // We have been asked to clear history and we have an account. diff --git a/Client/Frontend/Settings/Clearables.swift b/Client/Frontend/Settings/Clearables.swift old mode 100644 new mode 100755 index 7b9926811..bca554de8 --- a/Client/Frontend/Settings/Clearables.swift +++ b/Client/Frontend/Settings/Clearables.swift @@ -147,3 +147,20 @@ class CookiesClearable: Clearable { return succeed() } } + +@available(iOS 11, *) +class TrackingProtectionClearable: Clearable { + //@TODO: re-using string because we are too late in cycle to change strings + var label: String { + return Strings.SettingsTrackingProtectionSectionName + } + + func clear() -> Success { + let result = Success() + ContentBlockerHelper.clearWhitelist() { + result.fill(Maybe(success: ())) + } + return result + } +} + diff --git a/Client/Frontend/Settings/CustomSearchViewController.swift b/Client/Frontend/Settings/CustomSearchViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/FxAContentViewController.swift b/Client/Frontend/Settings/FxAContentViewController.swift old mode 100644 new mode 100755 index 93bcd5e32..3bcc9f3b1 --- a/Client/Frontend/Settings/FxAContentViewController.swift +++ b/Client/Frontend/Settings/FxAContentViewController.swift @@ -76,6 +76,14 @@ class FxAContentViewController: SettingsContentViewController, WKScriptMessageHa let contentController = WKUserContentController() contentController.add(LeakAvoider(delegate: self), name: "accountsCommandHandler") + // Inject our user script after the page loads. + if let path = Bundle.main.path(forResource: "FxASignIn", ofType: "js") { + if let source = try? String(contentsOfFile: path, encoding: .utf8) { + let userScript = WKUserScript(source: source, injectionTime: .atDocumentEnd, forMainFrameOnly: true) + contentController.addUserScript(userScript) + } + } + let config = WKWebViewConfiguration() config.userContentController = contentController diff --git a/Client/Frontend/Settings/HomePageSettingsViewController.swift b/Client/Frontend/Settings/HomePageSettingsViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/LoginDetailViewController.swift b/Client/Frontend/Settings/LoginDetailViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/NewTabChoiceViewController.swift b/Client/Frontend/Settings/NewTabChoiceViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/NewTabContentSettingsViewController.swift b/Client/Frontend/Settings/NewTabContentSettingsViewController.swift old mode 100644 new mode 100755 index b187ad01b..ff26e2754 --- a/Client/Frontend/Settings/NewTabContentSettingsViewController.swift +++ b/Client/Frontend/Settings/NewTabContentSettingsViewController.swift @@ -51,5 +51,10 @@ class NewTabContentSettingsViewController: SettingsTableViewController { return [firstSection, secondSection] } + + override func viewDidDisappear(_ animated: Bool) { + super.viewDidDisappear(animated) + NotificationCenter.default.post(name: .HomePanelPrefsChanged, object: nil) + } } diff --git a/Client/Frontend/Settings/SearchEnginePicker.swift b/Client/Frontend/Settings/SearchEnginePicker.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/SearchSettingsTableViewController.swift b/Client/Frontend/Settings/SearchSettingsTableViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/AmberCaution.imageset/AmberCaution.png b/Client/Frontend/Settings/Settings.xcassets/AmberCaution.imageset/AmberCaution.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/AmberCaution.imageset/AmberCaution@2x.png b/Client/Frontend/Settings/Settings.xcassets/AmberCaution.imageset/AmberCaution@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/AmberCaution.imageset/AmberCaution@3x.png b/Client/Frontend/Settings/Settings.xcassets/AmberCaution.imageset/AmberCaution@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/AmberCaution.imageset/Contents.json b/Client/Frontend/Settings/Settings.xcassets/AmberCaution.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/Contents.json b/Client/Frontend/Settings/Settings.xcassets/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/FxA-Default.imageset/Contents.json b/Client/Frontend/Settings/Settings.xcassets/FxA-Default.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/FxA-Default.imageset/FxA-Default.png b/Client/Frontend/Settings/Settings.xcassets/FxA-Default.imageset/FxA-Default.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/FxA-Default.imageset/FxA-Default@2x.png b/Client/Frontend/Settings/Settings.xcassets/FxA-Default.imageset/FxA-Default@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/FxA-Default.imageset/FxA-Default@3x.png b/Client/Frontend/Settings/Settings.xcassets/FxA-Default.imageset/FxA-Default@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/FxA-Sync-Blue.imageset/Contents.json b/Client/Frontend/Settings/Settings.xcassets/FxA-Sync-Blue.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/FxA-Sync-Blue.imageset/FxA-Sync-Blue.png b/Client/Frontend/Settings/Settings.xcassets/FxA-Sync-Blue.imageset/FxA-Sync-Blue.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/FxA-Sync-Blue.imageset/FxA-Sync-Blue@2x.png b/Client/Frontend/Settings/Settings.xcassets/FxA-Sync-Blue.imageset/FxA-Sync-Blue@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/FxA-Sync-Blue.imageset/FxA-Sync-Blue@3x.png b/Client/Frontend/Settings/Settings.xcassets/FxA-Sync-Blue.imageset/FxA-Sync-Blue@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/FxA-Sync.imageset/Contents.json b/Client/Frontend/Settings/Settings.xcassets/FxA-Sync.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/FxA-Sync.imageset/FxA-Sync.png b/Client/Frontend/Settings/Settings.xcassets/FxA-Sync.imageset/FxA-Sync.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/FxA-Sync.imageset/FxA-Sync@2x.png b/Client/Frontend/Settings/Settings.xcassets/FxA-Sync.imageset/FxA-Sync@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/FxA-Sync.imageset/FxA-Sync@3x.png b/Client/Frontend/Settings/Settings.xcassets/FxA-Sync.imageset/FxA-Sync@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/RedCaution.imageset/Contents.json b/Client/Frontend/Settings/Settings.xcassets/RedCaution.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/RedCaution.imageset/RedCaution.png b/Client/Frontend/Settings/Settings.xcassets/RedCaution.imageset/RedCaution.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/RedCaution.imageset/RedCaution@2x.png b/Client/Frontend/Settings/Settings.xcassets/RedCaution.imageset/RedCaution@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/RedCaution.imageset/RedCaution@3x.png b/Client/Frontend/Settings/Settings.xcassets/RedCaution.imageset/RedCaution@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/placeholder-avatar.imageset/Contents.json b/Client/Frontend/Settings/Settings.xcassets/placeholder-avatar.imageset/Contents.json old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/placeholder-avatar.imageset/placeholder-avatar.png b/Client/Frontend/Settings/Settings.xcassets/placeholder-avatar.imageset/placeholder-avatar.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/placeholder-avatar.imageset/placeholder-avatar@2x.png b/Client/Frontend/Settings/Settings.xcassets/placeholder-avatar.imageset/placeholder-avatar@2x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/Settings.xcassets/placeholder-avatar.imageset/placeholder-avatar@3x.png b/Client/Frontend/Settings/Settings.xcassets/placeholder-avatar.imageset/placeholder-avatar@3x.png old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/SettingsContentViewController.swift b/Client/Frontend/Settings/SettingsContentViewController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/SettingsNavigationController.swift b/Client/Frontend/Settings/SettingsNavigationController.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Settings/SettingsTableViewController.swift b/Client/Frontend/Settings/SettingsTableViewController.swift old mode 100644 new mode 100755 index 6768c5481..fd0e35f0f --- a/Client/Frontend/Settings/SettingsTableViewController.swift +++ b/Client/Frontend/Settings/SettingsTableViewController.swift @@ -515,6 +515,7 @@ class SettingsTableViewController: UITableViewController { settings = generateSettings() + // Because these are added in viewWillAppear, unhook in viewDidDisappear for symmetry. NotificationCenter.default.addObserver(self, selector: #selector(SELsyncDidChangeState), name: .ProfileDidStartSyncing, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(SELsyncDidChangeState), name: .ProfileDidFinishSyncing, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(SELfirefoxAccountDidChange), name: .FirefoxAccountChanged, object: nil) @@ -529,7 +530,11 @@ class SettingsTableViewController: UITableViewController { override func viewDidDisappear(_ animated: Bool) { super.viewDidDisappear(animated) - NotificationCenter.default.removeObserver(self) } + + [Notification.Name.ProfileDidStartSyncing, Notification.Name.ProfileDidFinishSyncing, Notification.Name.FirefoxAccountChanged].forEach { name in + NotificationCenter.default.removeObserver(self, name: name, object: nil) + } + } // Override to provide settings in subclasses func generateSettings() -> [SettingSection] { diff --git a/Client/Frontend/Settings/SyncContentSettingsViewController.swift b/Client/Frontend/Settings/SyncContentSettingsViewController.swift old mode 100644 new mode 100755 index e92a5a8c3..ed8748f81 --- a/Client/Frontend/Settings/SyncContentSettingsViewController.swift +++ b/Client/Frontend/Settings/SyncContentSettingsViewController.swift @@ -101,7 +101,7 @@ class DeviceNameSetting: StringSetting { override func onConfigureCell(_ cell: UITableViewCell) { super.onConfigureCell(cell) - textField.textAlignment = .left + textField.textAlignment = .natural } func settingIsValid(value: String?) -> Bool { diff --git a/Client/Frontend/Share/ShareExtensionHelper.swift b/Client/Frontend/Share/ShareExtensionHelper.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Share/TitleActivityItemProvider.swift b/Client/Frontend/Share/TitleActivityItemProvider.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/Strings.swift b/Client/Frontend/Strings.swift old mode 100644 new mode 100755 index 0801c22df..b8e6fd6f7 --- a/Client/Frontend/Strings.swift +++ b/Client/Frontend/Strings.swift @@ -70,7 +70,7 @@ extension Strings { // PhotonActionSheet Strings extension Strings { - public static let CancelButtonTitle = NSLocalizedString("PhotonMenu.cancel", value: "Cancel", comment: "Button for closing the menu action sheet") + public static let CloseButtonTitle = NSLocalizedString("PhotonMenu.close", value: "Close", comment: "Button for closing the menu action sheet") } @@ -114,7 +114,10 @@ extension Strings { public static let SyncedTabsTableViewCellTitle = NSLocalizedString("HistoryPanel.SyncedTabsCell.Title", value: "Synced Devices", comment: "Title for the Synced Tabs Cell in the History Panel") public static let HistoryBackButtonTitle = NSLocalizedString("HistoryPanel.HistoryBackButton.Title", value: "History", comment: "Title for the Back to History button in the History Panel") public static let EmptySyncedTabsPanelStateTitle = NSLocalizedString("HistoryPanel.EmptySyncedTabsState.Title", value: "Firefox Sync", comment: "Title for the empty synced tabs state in the History Panel") - public static let EmptySyncedTabsPanelStateDescription = NSLocalizedString("HistoryPanel.EmptySyncedTabsState.Description", value: "Sign in to view open tabs on your other devices.", comment: "Description for the empty synced tabs state in the History Panel") + public static let EmptySyncedTabsPanelNotSignedInStateDescription = NSLocalizedString("HistoryPanel.EmptySyncedTabsPanelNotSignedInState.Description", value: "Sign in to view a list of tabs from your other devices.", comment: "Description for the empty synced tabs 'not signed in' state in the History Panel") + public static let EmptySyncedTabsPanelNotYetVerifiedStateDescription = NSLocalizedString("HistoryPanel.EmptySyncedTabsPanelNotYetVerifiedState.Description", value: "Your account needs to be verified.", comment: "Description for the empty synced tabs 'not yet verified' state in the History Panel") + public static let EmptySyncedTabsPanelSingleDeviceSyncStateDescription = NSLocalizedString("HistoryPanel.EmptySyncedTabsPanelSingleDeviceSyncState.Description", value: "Want to see your tabs from other devices here?", comment: "Description for the empty synced tabs 'single device Sync' state in the History Panel") + public static let EmptySyncedTabsPanelTabSyncDisabledStateDescription = NSLocalizedString("HistoryPanel.EmptySyncedTabsPanelTabSyncDisabledState.Description", value: "Turn on tab syncing to view a list of tabs from your other devices.", comment: "Description for the empty synced tabs 'tab sync disabled' state in the History Panel") public static let EmptySyncedTabsPanelNullStateDescription = NSLocalizedString("HistoryPanel.EmptySyncedTabsNullState.Description", value: "Your tabs from other devices show up here.", comment: "Description for the empty synced tabs null state in the History Panel") public static let SyncedTabsTableViewCellDescription = NSLocalizedString("HistoryPanel.SyncedTabsCell.Description.Pluralized", value: "%d device(s) connected", comment: "Description that corresponds with a number of devices connected for the Synced Tabs Cell in the History Panel") public static let HistoryPanelEmptyStateTitle = NSLocalizedString("HistoryPanel.EmptyState.Title", value: "Websites you’ve visited recently will show up here.", comment: "Title for the History Panel empty state.") @@ -170,17 +173,19 @@ extension Strings { extension Strings { // Settings strings public static let FxAFirefoxAccount = NSLocalizedString("FxA.FirefoxAccount", value: "Firefox Account", comment: "Settings section title for Firefox Account") - public static let FxASignIntoSync = NSLocalizedString("FxA.SignIntoSync", value: "Sign in to Sync", comment: "Button label to sign into Sync") + public static let FxASignInToSync = NSLocalizedString("FxA.SignIntoSync", value: "Sign in to Sync", comment: "Button label to sign into Sync") public static let FxATakeYourWebWithYou = NSLocalizedString("FxA.TakeYourWebWithYou", value: "Take Your Web With You", comment: "Call to action for sign into sync button") public static let FxASyncUsageDetails = NSLocalizedString("FxA.SyncExplain", value: "Get your tabs, bookmarks, and passwords from your other devices.", comment: "Label explaining what sync does") public static let FxAAccountVerificationRequired = NSLocalizedString("FxA.AccountVerificationRequired", value: "Account Verification Required", comment: "Label stating your account is not verified") public static let FxAAccountVerificationDetails = NSLocalizedString("FxA.AccountVerificationDetails", value: "Wrong email? Disconnect below to start over.", comment: "Label stating how to disconnect account") - public static let FxAManageAccount = NSLocalizedString("FxA.ManageAccount", value: "Manage Account & Devices", comment: "Button label to goto Firefox Account settings") + public static let FxAManageAccount = NSLocalizedString("FxA.ManageAccount", value: "Manage Account & Devices", comment: "Button label to go to Firefox Account settings") public static let FxASyncNow = NSLocalizedString("FxA.SyncNow", value: "Sync Now", comment: "Button label to Sync your Firefox Account") public static let FxANoInternetConnection = NSLocalizedString("FxA.NoInternetConnection", value: "No Internet Connection", comment: "Label when no internet is present") public static let FxASettingsTitle = NSLocalizedString("Settings.FxA.Title", value: "Firefox Account", comment: "Title displayed in header of the FxA settings panel.") - public static let FxASettingsSyncSettings = NSLocalizedString("Settings.FxA.Sync.SectionName", value: "Sync Settings", comment: "Label used as an section title in the Firefox Accounts Settings screen.") + public static let FxASettingsSyncSettings = NSLocalizedString("Settings.FxA.Sync.SectionName", value: "Sync Settings", comment: "Label used as a section title in the Firefox Accounts Settings screen.") public static let FxASettingsDeviceName = NSLocalizedString("Settings.FxA.DeviceName", value: "Device Name", comment: "Label used for the device name settings section.") + public static let FxAOpenSyncPreferences = NSLocalizedString("FxA.OpenSyncPreferences", value: "Open Sync Preferences", comment: "Button label to open Sync preferences") + public static let FxAConnectAnotherDevice = NSLocalizedString("FxA.ConnectAnotherDevice", value: "Connect Another Device", comment: "Button label to connect another device to Sync") // Surface error strings public static let FxAAccountVerificationRequiredSurface = NSLocalizedString("FxA.AccountVerificationRequiredSurface", value: "You need to verify %@. Check your email for the verification link from Firefox.", comment: "Message explaining that user needs to check email for Firefox Account verfication link.") @@ -409,7 +414,7 @@ extension Strings { extension Strings { public static let ScanQRCodeViewTitle = NSLocalizedString("ScanQRCode.View.Title", value: "Scan QR Code", comment: "Title for the QR code scanner view.") public static let ScanQRCodeInstructionsLabel = NSLocalizedString("ScanQRCode.Instructions.Label", value: "Align QR code within frame to scan", comment: "Text for the instructions label, displayed in the QR scanner view") - public static let ScanQRCodeInvalidDataErrorMessage = NSLocalizedString("ScanQRCode.InvalidDataError.Message", value: "The data is invalid", comment: "Text of the prompt user the data is invalid") + public static let ScanQRCodeInvalidDataErrorMessage = NSLocalizedString("ScanQRCode.InvalidDataError.Message", value: "The data is invalid", comment: "Text of the prompt that is shown to the user when the data is invalid") public static let ScanQRCodePermissionErrorMessage = NSLocalizedString("ScanQRCode.PermissionError.Message", value: "Please allow Firefox to access your device’s camera in ‘Settings’ -> ‘Privacy’ -> ‘Camera’.", comment: "Text of the prompt user to setup the camera authorization.") public static let ScanQRCodeErrorOKButton = NSLocalizedString("ScanQRCode.Error.OK.Button", value: "OK", comment: "OK button to dismiss the error prompt.") } @@ -419,7 +424,7 @@ extension Strings { public static let AppMenuAddToReadingListTitleString = NSLocalizedString("Menu.AddToReadingList.Title", tableName: "Menu", value: "Add to Reading List", comment: "Label for the button, displayed in the menu, used to add a page to the reading list.") public static let AppMenuShowTabsTitleString = NSLocalizedString("Menu.ShowTabs.Title", tableName: "Menu", value: "Show Tabs", comment: "Label for the button, displayed in the menu, used to open the tabs tray") public static let AppMenuSharePageTitleString = NSLocalizedString("Menu.SharePageAction.Title", tableName: "Menu", value: "Share Page With…", comment: "Label for the button, displayed in the menu, used to open the share dialog.") - public static let AppMenuCopyURLTitleString = NSLocalizedString("Menu.CopyURL.Title", tableName: "Menu", value: "Copy URL", comment: "Label for the button, displayed in the menu, used to copy the page url to the clipboard.") + public static let AppMenuCopyURLTitleString = NSLocalizedString("Menu.CopyAddress.Title", tableName: "Menu", value: "Copy Address", comment: "Label for the button, displayed in the menu, used to copy the page url to the clipboard.") public static let AppMenuNewTabTitleString = NSLocalizedString("Menu.NewTabAction.Title", tableName: "Menu", value: "Open New Tab", comment: "Label for the button, displayed in the menu, used to open a new tab") public static let AppMenuNewPrivateTabTitleString = NSLocalizedString("Menu.NewPrivateTabAction.Title", tableName: "Menu", value: "Open New Private Tab", comment: "Label for the button, displayed in the menu, used to open a new private tab.") public static let AppMenuAddBookmarkTitleString = NSLocalizedString("Menu.AddBookmarkAction.Title", tableName: "Menu", value: "Bookmark This Page", comment: "Label for the button, displayed in the menu, used to create a bookmark for the current website.") @@ -437,10 +442,8 @@ extension Strings { public static let AppMenuReadingListTitleString = NSLocalizedString("Menu.OpenReadingListAction.AccessibilityLabel", tableName: "Menu", value: "Reading List", comment: "Accessibility label for the button, displayed in the menu, used to open the Reading list home panel.") public static let AppMenuButtonAccessibilityLabel = NSLocalizedString("Toolbar.Menu.AccessibilityLabel", value: "Menu", comment: "Accessibility label for the Menu button.") public static let TabTrayDeleteMenuButtonAccessibilityLabel = NSLocalizedString("Toolbar.Menu.CloseAllTabs", value: "Close All Tabs", comment: "Accessibility label for the Close All Tabs menu button.") - public static let AppMenuNightModeEnable = NSLocalizedString("Menu.NightModeTurnOn.Label", value: "Enable Night Mode", comment: "Label for the button, displayed in the menu, turns on night mode.") - public static let AppMenuNightModeDisable = NSLocalizedString("Menu.NightModeTurnOff.Label", value: "Disable Night Mode", comment: "Label for the button, displayed in the menu, turns off night mode") - public static let AppMenuNoImageModeEnable = NSLocalizedString("Menu.NoImageModeHideImages.Label", value: "Hide Images", comment: "Label for the button, displayed in the menu, hides images on the webpage when pressed.") - public static let AppMenuNoImageModeDisable = NSLocalizedString("Menu.NoImageModeShowImages.Label", value: "Show Images", comment: "Label for the button, displayed in the menu, shows images on the webpage when pressed") + public static let AppMenuNightMode = NSLocalizedString("Menu.NightModeTurnOn.Label", value: "Enable Night Mode", comment: "Label for the button, displayed in the menu, turns on night mode.") + public static let AppMenuNoImageMode = NSLocalizedString("Menu.NoImageModeHideImages.Label", value: "Hide Images", comment: "Label for the button, displayed in the menu, hides images on the webpage when pressed.") public static let AppMenuCopyURLConfirmMessage = NSLocalizedString("Menu.CopyURL.Confirm", value: "URL Copied To Clipboard", comment: "Toast displayed to user after copy url pressed.") public static let AppMenuAddBookmarkConfirmMessage = NSLocalizedString("Menu.AddBookmark.Confirm", value: "Bookmark Added", comment: "Toast displayed to the user after a bookmark has been added.") public static let AppMenuRemoveBookmarkConfirmMessage = NSLocalizedString("Menu.RemoveBookmark.Confirm", value: "Bookmark Removed", comment: "Toast displayed to the user after a bookmark has been removed.") @@ -456,25 +459,47 @@ extension Strings { // ContentBlocker/TrackingProtection strings extension Strings { public static let SettingsTrackingProtectionSectionName = NSLocalizedString("Settings.TrackingProtection.SectionName", value: "Tracking Protection", comment: "Row in top-level of settings that gets tapped to show the tracking protection settings detail view.") - - public static let TrackingProtectionOptionAlwaysOn = NSLocalizedString("Settings.TrackingProtectionOption.OnLabel", value: "Always On", comment: "Settings option to specify that Tracking Protection is always on.") - public static let TrackingProtectionOptionAlwaysOff = NSLocalizedString("Settings.TrackingProtectionOption.OffLabel", value: "Never", comment: "Settings option to specify that Tracking Protection is always off.") - public static let TrackingProtectionOptionOnInPrivateBrowsing = NSLocalizedString("Settings.TrackingProtectionOption.OnInPrivateBrowsingLabel", value: "Private Browsing Mode Only", comment: "Settings option to specify that Tracking Protection is on only in Private Browsing mode.") - - public static let TrackingProtectionOptionOnOffHeader = NSLocalizedString("Settings.TrackingProtectionOption.EnabledStateHeaderLabel", value: "Use Tracking Protection to Block Known Trackers", comment: "Description label shown at the top of tracking protection options screen.") - public static let TrackingProtectionOptionOnOffFooter = NSLocalizedString("Settings.TrackingProtectionOption.EnabledStateFooterLabel", value: "Tracking is the collection of your browsing data across multiple websites. Tracking can be used to build a profile and display content based on your browsing and personal information.", comment: "Description label shown on tracking protection options screen.") + public static let TrackingProtectionOptionOnInPrivateBrowsing = NSLocalizedString("Settings.TrackingProtectionOption.OnInPrivateBrowsingLabel", value: "Private Browsing Mode", comment: "Settings option to specify that Tracking Protection is on only in Private Browsing mode.") + public static let TrackingProtectionOptionOnInNormalBrowsing = NSLocalizedString("Settings.TrackingProtectionOption.OnInNormalBrowsingLabel", value: "Normal Browsing Mode", comment: "Settings option to specify that Tracking Protection is on only in Private Browsing mode.") + public static let TrackingProtectionOptionOnOffHeader = NSLocalizedString("Settings.TrackingProtectionOption.EnabledStateHeaderLabel", value: "Enable", comment: "Description label shown at the top of tracking protection options screen.") + public static let TrackingProtectionOptionOnOffFooter = NSLocalizedString("Settings.TrackingProtectionOption.EnabledStateFooterLabel", value: "Tracking is the collection of your browsing data across multiple websites.", comment: "Description label shown on tracking protection options screen.") public static let TrackingProtectionOptionBlockListsTitle = NSLocalizedString("Settings.TrackingProtection.BlockListsTitle", value: "Block Lists", comment: "Title for tracking protection options section where Basic/Strict block list can be selected") public static let TrackingProtectionOptionBlockListsHeader = NSLocalizedString("Settings.TrackingProtection.BlockListsHeader", value: "You can choose which list Firefox will use to block Web elements that may track your browsing activity.", comment: "Header description for tracking protection options section where Basic/Strict block list can be selected") - public static let TrackingProtectionOptionBlockListTypeBasic = NSLocalizedString("Settings.TrackingProtectionOption.BlockListBasic", value: "Basic (Recommended)", comment: "Tracking protection settings option for using the basic blocklist.") public static let TrackingProtectionOptionBlockListTypeBasicDescription = NSLocalizedString("Settings.TrackingProtectionOption.BlockListBasicDescription", value: "Allows some trackers so websites function properly.", comment: "Tracking protection settings option description for using the basic blocklist.") public static let TrackingProtectionOptionBlockListTypeStrict = NSLocalizedString("Settings.TrackingProtectionOption.BlockListStrict", value: "Strict", comment: "Tracking protection settings option for using the strict blocklist.") public static let TrackingProtectionOptionBlockListTypeStrictDescription = NSLocalizedString("Settings.TrackingProtectionOption.BlockListStrictDescription", value: "Blocks known trackers. Some websites may not function properly.", comment: "Tracking protection settings option description for using the strict blocklist.") - public static let TrackingProtectionReloadWithout = NSLocalizedString("Menu.ReloadWithoutTrackingProtection.Title", value: "Reload Without Tracking Protection", comment: "Label for the button, displayed in the menu, used to reload the current website without Tracking Protection") public static let TrackingProtectionReloadWith = NSLocalizedString("Menu.ReloadWithTrackingProtection.Title", value: "Reload With Tracking Protection", comment: "Label for the button, displayed in the menu, used to reload the current website with Tracking Protection enabled") } +// Tracking Protection menu +extension Strings { + public static let TPMenuTitle = NSLocalizedString("Menu.TrackingProtection.Title", value: "Tracking Protection", comment: "Label for the button, displayed in the menu, used to get more info about Tracking Protection") + public static let TPBlockingDescription = NSLocalizedString("Menu.TrackingProtectionBlocking.Description", value: "Firefox is blocking parts of the page that may track your browsing.", comment: "Description of the Tracking protection menu when TP is blocking parts of the page") + public static let TPNoBlockingDescription = NSLocalizedString("Menu.TrackingProtectionNoBlocking.Description", value: "No tracking elements detected on this page.", comment: "The description of the Tracking Protection menu item when no scripts are blocked but tracking protection is enabled.") + public static let TPBlockingDisabledDescription = NSLocalizedString("Menu.TrackingProtectionBlockingDisabled.Description", value: "Block online trackers", comment: "The description of the Tracking Protection menu item when tracking is enabled") + public static let TPBlockingMoreInfo = NSLocalizedString("Menu.TrackingProtectionMoreInfo.Description", value: "Learn more about how Tracking Protection blocks online trackers that collect your browsing data across multiple websites.", comment: "more info about what tracking protection is about") + public static let EnableTPBlocking = NSLocalizedString("Menu.TrackingProtectionEnable.Title", value: "Enable Tracking Protection", comment: "A button to enable tracking protection inside the menu.") + public static let TrackingProtectionEnabledConfirmed = NSLocalizedString("Menu.TrackingProtectionEnabled.Title", value: "Tracking Protection is now on for this site.", comment: "The confirmation toast once tracking protection has been enabled") + public static let TrackingProtectionDisabledConfirmed = NSLocalizedString("Menu.TrackingProtectionDisabled.Title", value: "Tracking Protection is now off for this site.", comment: "The confirmation toast once tracking protection has been disabled") + public static let TrackingProtectionDisableTitle = NSLocalizedString("Menu.TrackingProtectionDisable.Title", value: "Disable for this site", comment: "The button that disabled TP for a site.") + public static let TrackingProtectionTotalBlocked = NSLocalizedString("Menu.TrackingProtectionTotalBlocked.Title", value: "Total trackers blocked", comment: "The title that shows the total number of scripts blocked") + public static let TrackingProtectionAdsBlocked = NSLocalizedString("Menu.TrackingProtectionAdsBlocked.Title", value: "Ad trackers", comment: "The title that shows the number of Analytics scripts blocked") + public static let TrackingProtectionAnalyticsBlocked = NSLocalizedString("Menu.TrackingProtectionAnalyticsBlocked.Title", value: "Analytic trackers", comment: "The title that shows the number of Analytics scripts blocked") + public static let TrackingProtectionSocialBlocked = NSLocalizedString("Menu.TrackingProtectionSocialBlocked.Title", value: "Social trackers", comment: "The title that shows the number of social scripts blocked") + public static let TrackingProtectionContentBlocked = NSLocalizedString("Menu.TrackingProtectionContentBlocked.Title", value: "Content trackers", comment: "The title that shows the number of content scripts blocked") + public static let TrackingProtectionWhiteListOn = NSLocalizedString("Menu.TrackingProtectionOption.WhiteListOnDescription", value: "The site includes elements that may track your browsing. You have disabled protection.", comment: "label for the menu item to show when the website is whitelisted from blocking trackers.") + public static let TrackingProtectionWhiteListRemove = NSLocalizedString("Menu.TrackingProtectionWhitelistRemove.Title", value: "Enable for this site", comment: "label for the menu item that lets you remove a website from the tracking protection whitelist") +} + +// Location bar long press menu +extension Strings { + public static let PasteAndGoTitle = NSLocalizedString("Menu.PasteAndGo.Title", value: "Paste & Go", comment: "The title for the button that lets you paste and go to a URL") + public static let PasteTitle = NSLocalizedString("Menu.Paste.Title", value: "Paste", comment: "The title for the button that lets you paste into the location bar") + public static let CopyAddressTitle = NSLocalizedString("Menu.Copy.Title", value: "Copy Address", comment: "The title for the button that lets you copy the url from the location bar.") +} + // Settings Home extension Strings { public static let SendUsageSettingTitle = NSLocalizedString("Settings.SendUsage.Title", value: "Send Usage Data", comment: "The title for the setting to send usage data.") @@ -506,6 +531,18 @@ extension Strings { public static let StartBrowsingButtonTitle = NSLocalizedString("Start Browsing", tableName: "Intro", comment: "See http://mzl.la/1T8gxwo") } +// Keyboard short cuts +extension Strings { + public static let ShowTabTrayFromTabKeyCodeTitle = NSLocalizedString("Tab.ShowTabTray.KeyCodeTitle", value: "Show All Tabs", comment: "Hardware shortcut to open the tab tray from a tab. Shown in the Discoverability overlay when the hardware Command Key is held down.") + public static let CloseTabFromTabTrayKeyCodeTitle = NSLocalizedString("TabTray.CloseTab.KeyCodeTitle", value: "Close Selected Tab", comment: "Hardware shortcut to close the selected tab from the tab tray. Shown in the Discoverability overlay when the hardware Command Key is held down.") + public static let CloseAllTabsFromTabTrayKeyCodeTitle = NSLocalizedString("TabTray.CloseAllTabs.KeyCodeTitle", value: "Close All Tabs", comment: "Hardware shortcut to close all tabs from the tab tray. Shown in the Discoverability overlay when the hardware Command Key is held down.") + public static let OpenSelectedTabFromTabTrayKeyCodeTitle = NSLocalizedString("TabTray.OpenSelectedTab.KeyCodeTitle", value: "Open Selected Tab", comment: "Hardware shortcut open the selected tab from the tab tray. Shown in the Discoverability overlay when the hardware Command Key is held down.") + public static let OpenNewTabFromTabTrayKeyCodeTitle = NSLocalizedString("TabTray.OpenNewTab.KeyCodeTitle", value: "Open New Tab", comment: "Hardware shortcut to open a new tab from the tab tray. Shown in the Discoverability overlay when the hardware Command Key is held down.") + public static let ReopenClosedTabKeyCodeTitle = NSLocalizedString("ReopenClosedTab.KeyCodeTitle", value: "Reopen Closed Tab", comment: "Hardware shortcut to reopen the last closed tab, from the tab or the tab tray. Shown in the Discoverability overlay when the hardware Command Key is held down.") + public static let SwitchToPBMKeyCodeTitle = NSLocalizedString("SwitchToPBM.KeyCodeTitle", value: "Private Browsing Mode", comment: "Hardware shortcut switch to the private browsing tab or tab tray. Shown in the Discoverability overlay when the hardware Command Key is held down.") + public static let SwitchToNonPBMKeyCodeTitle = NSLocalizedString("SwitchToNonPBM.KeyCodeTitle", value: "Normal Browsing Mode", comment: "Hardware shortcut for non-private tab or tab. Shown in the Discoverability overlay when the hardware Command Key is held down.") +} + // MARK: Deprecated Strings (to be removed in next version) private let logOut = NSLocalizedString("Log Out", comment: "Button in settings screen to disconnect from your account") private let logOutQuestion = NSLocalizedString("Log Out?", comment: "Title of the 'log out firefox account' alert") diff --git a/Client/Frontend/UIConstants.swift b/Client/Frontend/UIConstants.swift old mode 100644 new mode 100755 diff --git a/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/ContextMenu.js b/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/ContextMenu.js old mode 100644 new mode 100755 index 23600334e..c53fa38ee --- a/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/ContextMenu.js +++ b/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/ContextMenu.js @@ -3,38 +3,33 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -(function() { "use strict"; // Ensure this module only gets included once. This is // required for user scripts injected into all frames. -if (window.__firefox__.includeOnce("ContextMenu")) { - return; -} +window.__firefox__.includeOnce("ContextMenu", function() { + window.addEventListener("touchstart", function(evt) { + var target = evt.target; -window.addEventListener("touchstart", function(evt) { - var target = evt.target; + var targetLink = target.closest("a"); + var targetImage = target.closest("img"); - var targetLink = target.closest("a"); - var targetImage = target.closest("img"); + if (!targetLink && !targetImage) { + return; + } - if (!targetLink && !targetImage) { - return; - } + var data = {}; - var data = {}; + if (targetLink) { + data.link = targetLink.href; + } - if (targetLink) { - data.link = targetLink.href; - } + if (targetImage) { + data.image = targetImage.src; + } - if (targetImage) { - data.image = targetImage.src; - } - - if (data.link || data.image) { - webkit.messageHandlers.contextMenuMessageHandler.postMessage(data); - } -}, true); - -})(); + if (data.link || data.image) { + webkit.messageHandlers.contextMenuMessageHandler.postMessage(data); + } + }, true); +}); diff --git a/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/FocusHelper.js b/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/FocusHelper.js new file mode 100755 index 000000000..f44ce39cc --- /dev/null +++ b/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/FocusHelper.js @@ -0,0 +1,44 @@ +/* vim: set ts=2 sts=2 sw=2 et tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +"use strict"; + +// Ensure this module only gets included once. This is +// required for user scripts injected into all frames. +window.__firefox__.includeOnce("FocusHelper", function() { + const isButton = (element) => { + if (element.nodeName !== "INPUT") { + return false; + } + + const type = element.type.toUpperCase(); + return (type == "BUTTON" || type == "SUBMIT" || type == "FILE"); + }; + + const handler = (event) => { + const eventType = event.type; + const elementType = event.target.nodeName; + // We can receive focus and blur events from `a` elements and anything with a `tabindex` attribute. + // We should also not fire for buttons.. + if (elementType === "INPUT" || elementType === "TEXTAREA" || event.target.isContentEditable) { + if (!isButton(event.target)) { + webkit.messageHandlers.focusHelper.postMessage({ + eventType, + elementType + }); + } + } + }; + + const options = { + capture: true, + passive: true, + }; + + const body = window.document.body; + ["focus", "blur"].forEach((eventType) => { + body.addEventListener(eventType, handler, options); + }); +}); diff --git a/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/LoginsHelper.js b/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/LoginsHelper.js old mode 100644 new mode 100755 index 6a8d6dff3..c671a7b42 --- a/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/LoginsHelper.js +++ b/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/LoginsHelper.js @@ -3,708 +3,703 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -(function() { "use strict"; // Ensure this module only gets included once. This is // required for user scripts injected into all frames. -if (window.__firefox__.includeOnce("LoginsHelper")) { - return; -} - -var gEnabled = true; -var gStoreWhenAutocompleteOff = true; -var gAutofillForms = true; -var gDebug = false; - -var KEYCODE_ARROW_DOWN = 40; - -function log(pieces) { - if (!gDebug) - return; - alert(pieces); -} - -var LoginManagerContent = { - _getRandomId: function() { - return Math.round(Math.random() * (Number.MAX_VALUE - Number.MIN_VALUE) + Number.MIN_VALUE).toString() - }, - - _messages: [ "RemoteLogins:loginsFound" ], - - // Map from form login requests to information about that request. - _requests: { }, - - _takeRequest: function(msg) { - var data = msg; - var request = this._requests[data.requestId]; - this._requests[data.requestId] = undefined; - return request; - }, - - _sendRequest: function(requestData, messageData) { - var requestId = this._getRandomId(); - messageData.requestId = requestId; - webkit.messageHandlers.loginsManagerMessageHandler.postMessage(messageData); - - var self = this; - return new Promise(function(resolve, reject) { - requestData.promise = { resolve: resolve, reject: reject }; - self._requests[requestId] = requestData; - }); - }, - - receiveMessage: function (msg) { - var request = this._takeRequest(msg); - switch (msg.name) { - case "RemoteLogins:loginsFound": { - request.promise.resolve({ form: request.form, - loginsFound: msg.logins }); - break; - } +window.__firefox__.includeOnce("LoginsHelper", function() { + var gEnabled = true; + var gStoreWhenAutocompleteOff = true; + var gAutofillForms = true; + var gDebug = false; - case "RemoteLogins:loginsAutoCompleted": { - request.promise.resolve(msg.logins); - break; - } - } - }, + var KEYCODE_ARROW_DOWN = 40; - _asyncFindLogins : function (form, options) { - // XXX - Unlike desktop, I want to avoid doing a lookup if there is no username/password in this form - var fields = this._getFormFields(form, false); - if (!fields[0] || !fields[1]) { - return Promise.reject("No logins found"); - } - - fields[0].addEventListener("blur", onBlur) - - var formOrigin = LoginUtils._getPasswordOrigin(); - var actionOrigin = LoginUtils._getActionOrigin(form); - if (actionOrigin == null) { - return Promise.reject("Action origin is null") - } - - // XXX - Allowing the page to set origin information in this message is a security problem. Right now its just ignored... - // TODO: We need to designate what type of message we're sending here... - var requestData = { form: form }; - var messageData = { type: "request", formOrigin: formOrigin, actionOrigin: actionOrigin }; - return this._sendRequest(requestData, messageData); - }, - - loginsFound : function (form, loginsFound) { - var autofillForm = gAutofillForms; // && !PrivateBrowsingUtils.isContentWindowPrivate(doc.defaultView); - this._fillForm(form, autofillForm, false, false, false, loginsFound); - }, - - /* - * onUsernameInput - * - * Listens for DOMAutoComplete and blur events on an input field. - */ - onUsernameInput : function(event) { - if (!gEnabled) + function log(pieces) { + if (!gDebug) return; + alert(pieces); + } - var acInputField = event.target; - - // This is probably a bit over-conservatative. - if (!(acInputField.ownerDocument instanceof HTMLDocument)) - return; + var LoginManagerContent = { + _getRandomId: function() { + return Math.round(Math.random() * (Number.MAX_VALUE - Number.MIN_VALUE) + Number.MIN_VALUE).toString() + }, - if (!this._isUsernameFieldType(acInputField)) - return; + _messages: [ "RemoteLogins:loginsFound" ], - var acForm = acInputField.form; - if (!acForm) - return; + // Map from form login requests to information about that request. + _requests: { }, - // If the username is blank, bail out now -- we don't want - // fillForm() to try filling in a login without a username - // to filter on (bug 471906). - if (!acInputField.value) - return; + _takeRequest: function(msg) { + var data = msg; + var request = this._requests[data.requestId]; + this._requests[data.requestId] = undefined; + return request; + }, - log("onUsernameInput from", event.type); + _sendRequest: function(requestData, messageData) { + var requestId = this._getRandomId(); + messageData.requestId = requestId; + webkit.messageHandlers.loginsManagerMessageHandler.postMessage(messageData); - // Make sure the username field fillForm will use is the - // same field as the autocomplete was activated on. - var [usernameField, passwordField, ignored] = - this._getFormFields(acForm, false); - if (usernameField == acInputField && passwordField) { var self = this; - this._asyncFindLogins(acForm, { showMasterPassword: false }) - .then(function(res) { - self._fillForm(res.form, true, true, true, true, res.loginsFound); - }).then(null, log); - } else { - // Ignore the event, it's for some input we don't care about. - } - }, - - /* - * _getPasswordFields - * - * Returns an array of password field elements for the specified form. - * If no pw fields are found, or if more than 3 are found, then null - * is returned. - * - * skipEmptyFields can be set to ignore password fields with no value. - */ - _getPasswordFields : function (form, skipEmptyFields) { - // Locate the password fields in the form. - var pwFields = []; - for (var i = 0; i < form.elements.length; i++) { - var element = form.elements[i]; - if (!(element instanceof HTMLInputElement) || - element.type != "password") - continue; - - if (skipEmptyFields && !element.value) - continue; - - pwFields[pwFields.length] = { index : i, - element : element }; - } + return new Promise(function(resolve, reject) { + requestData.promise = { resolve: resolve, reject: reject }; + self._requests[requestId] = requestData; + }); + }, + + receiveMessage: function (msg) { + var request = this._takeRequest(msg); + switch (msg.name) { + case "RemoteLogins:loginsFound": { + request.promise.resolve({ form: request.form, + loginsFound: msg.logins }); + break; + } - // If too few or too many fields, bail out. - if (pwFields.length == 0) { - log("(form ignored -- no password fields.)"); - return null; - } else if (pwFields.length > 3) { - log("(form ignored -- too many password fields. [ got ", - pwFields.length, "])"); - return null; - } - return pwFields; - }, + case "RemoteLogins:loginsAutoCompleted": { + request.promise.resolve(msg.logins); + break; + } + } + }, - _isUsernameFieldType: function(element) { - if (!(element instanceof HTMLInputElement)) - return false; + _asyncFindLogins : function (form, options) { + // XXX - Unlike desktop, I want to avoid doing a lookup if there is no username/password in this form + var fields = this._getFormFields(form, false); + if (!fields[0] || !fields[1]) { + return Promise.reject("No logins found"); + } - var fieldType = (element.hasAttribute("type") ? - element.getAttribute("type").toLowerCase() : - element.type); - if (fieldType == "text" || - fieldType == "email" || - fieldType == "url" || - fieldType == "tel" || - fieldType == "number") { - return true; - } - return false; - }, - - /* - * _getFormFields - * - * Returns the username and password fields found in the form. - * Can handle complex forms by trying to figure out what the - * relevant fields are. - * - * Returns: [usernameField, newPasswordField, oldPasswordField] - * - * usernameField may be null. - * newPasswordField will always be non-null. - * oldPasswordField may be null. If null, newPasswordField is just - * "theLoginField". If not null, the form is apparently a - * change-password field, with oldPasswordField containing the password - * that is being changed. - */ - _getFormFields : function (form, isSubmission) { - var usernameField = null; - - // Locate the password field(s) in the form. Up to 3 supported. - // If there's no password field, there's nothing for us to do. - var pwFields = this._getPasswordFields(form, isSubmission); - if (!pwFields) - return [null, null, null]; - - // Locate the username field in the form by searching backwards - // from the first passwordfield, assume the first text field is the - // username. We might not find a username field if the user is - // already logged in to the site. - for (var i = pwFields[0].index - 1; i >= 0; i--) { - var element = form.elements[i]; - if (this._isUsernameFieldType(element)) { - usernameField = element; - break; + fields[0].addEventListener("blur", onBlur) + + var formOrigin = LoginUtils._getPasswordOrigin(); + var actionOrigin = LoginUtils._getActionOrigin(form); + if (actionOrigin == null) { + return Promise.reject("Action origin is null") } - } - if (!usernameField) - log("(form -- no username field found)"); - - - // If we're not submitting a form (it's a page load), there are no - // password field values for us to use for identifying fields. So, - // just assume the first password field is the one to be filled in. - if (!isSubmission || pwFields.length == 1) - return [usernameField, pwFields[0].element, null]; - - - // Try to figure out WTF is in the form based on the password values. - var oldPasswordField, newPasswordField; - var pw1 = pwFields[0].element.value; - var pw2 = pwFields[1].element.value; - var pw3 = (pwFields[2] ? pwFields[2].element.value : null); - - if (pwFields.length == 3) { - // Look for two identical passwords, that's the new password - - if (pw1 == pw2 && pw2 == pw3) { - // All 3 passwords the same? Weird! Treat as if 1 pw field. - newPasswordField = pwFields[0].element; - oldPasswordField = null; - } else if (pw1 == pw2) { - newPasswordField = pwFields[0].element; - oldPasswordField = pwFields[2].element; - } else if (pw2 == pw3) { - oldPasswordField = pwFields[0].element; - newPasswordField = pwFields[2].element; - } else if (pw1 == pw3) { - // A bit odd, but could make sense with the right page layout. - newPasswordField = pwFields[0].element; - oldPasswordField = pwFields[1].element; + // XXX - Allowing the page to set origin information in this message is a security problem. Right now its just ignored... + // TODO: We need to designate what type of message we're sending here... + var requestData = { form: form }; + var messageData = { type: "request", formOrigin: formOrigin, actionOrigin: actionOrigin }; + return this._sendRequest(requestData, messageData); + }, + + loginsFound : function (form, loginsFound) { + var autofillForm = gAutofillForms; // && !PrivateBrowsingUtils.isContentWindowPrivate(doc.defaultView); + this._fillForm(form, autofillForm, false, false, false, loginsFound); + }, + + /* + * onUsernameInput + * + * Listens for DOMAutoComplete and blur events on an input field. + */ + onUsernameInput : function(event) { + if (!gEnabled) + return; + + var acInputField = event.target; + + // This is probably a bit over-conservatative. + if (!(acInputField.ownerDocument instanceof HTMLDocument)) + return; + + if (!this._isUsernameFieldType(acInputField)) + return; + + var acForm = acInputField.form; + if (!acForm) + return; + + // If the username is blank, bail out now -- we don't want + // fillForm() to try filling in a login without a username + // to filter on (bug 471906). + if (!acInputField.value) + return; + + log("onUsernameInput from", event.type); + + // Make sure the username field fillForm will use is the + // same field as the autocomplete was activated on. + var [usernameField, passwordField, ignored] = + this._getFormFields(acForm, false); + if (usernameField == acInputField && passwordField) { + var self = this; + this._asyncFindLogins(acForm, { showMasterPassword: false }) + .then(function(res) { + self._fillForm(res.form, true, true, true, true, res.loginsFound); + }).then(null, log); } else { - // We can't tell which of the 3 passwords should be saved. - log("(form ignored -- all 3 pw fields differ)"); - return [null, null, null]; + // Ignore the event, it's for some input we don't care about. } - } else { // pwFields.length == 2 - if (pw1 == pw2) { - // Treat as if 1 pw field - newPasswordField = pwFields[0].element; - oldPasswordField = null; - } else { - // Just assume that the 2nd password is the new password - oldPasswordField = pwFields[0].element; - newPasswordField = pwFields[1].element; + }, + + /* + * _getPasswordFields + * + * Returns an array of password field elements for the specified form. + * If no pw fields are found, or if more than 3 are found, then null + * is returned. + * + * skipEmptyFields can be set to ignore password fields with no value. + */ + _getPasswordFields : function (form, skipEmptyFields) { + // Locate the password fields in the form. + var pwFields = []; + for (var i = 0; i < form.elements.length; i++) { + var element = form.elements[i]; + if (!(element instanceof HTMLInputElement) || + element.type != "password") + continue; + + if (skipEmptyFields && !element.value) + continue; + + pwFields[pwFields.length] = { index : i, + element : element }; } - } - - return [usernameField, newPasswordField, oldPasswordField]; - }, - /* - * _isAutoCompleteDisabled - * - * Returns true if the page requests autocomplete be disabled for the - * specified form input. - */ - _isAutocompleteDisabled : function (element) { - if (element && element.hasAttribute("autocomplete") && - element.getAttribute("autocomplete").toLowerCase() == "off") - return true; + // If too few or too many fields, bail out. + if (pwFields.length == 0) { + log("(form ignored -- no password fields.)"); + return null; + } else if (pwFields.length > 3) { + log("(form ignored -- too many password fields. [ got ", + pwFields.length, "])"); + return null; + } + return pwFields; + }, + + _isUsernameFieldType: function(element) { + if (!(element instanceof HTMLInputElement)) + return false; + + var fieldType = (element.hasAttribute("type") ? + element.getAttribute("type").toLowerCase() : + element.type); + if (fieldType == "text" || + fieldType == "email" || + fieldType == "url" || + fieldType == "tel" || + fieldType == "number") { + return true; + } + return false; + }, + + /* + * _getFormFields + * + * Returns the username and password fields found in the form. + * Can handle complex forms by trying to figure out what the + * relevant fields are. + * + * Returns: [usernameField, newPasswordField, oldPasswordField] + * + * usernameField may be null. + * newPasswordField will always be non-null. + * oldPasswordField may be null. If null, newPasswordField is just + * "theLoginField". If not null, the form is apparently a + * change-password field, with oldPasswordField containing the password + * that is being changed. + */ + _getFormFields : function (form, isSubmission) { + var usernameField = null; + + // Locate the password field(s) in the form. Up to 3 supported. + // If there's no password field, there's nothing for us to do. + var pwFields = this._getPasswordFields(form, isSubmission); + if (!pwFields) + return [null, null, null]; - return false; - }, - - /* - * _onFormSubmit - * - * Called by the our observer when notified of a form submission. - * [Note that this happens before any DOM onsubmit handlers are invoked.] - * Looks for a password change in the submitted form, so we can update - * our stored password. - */ - _onFormSubmit : function (form) { - var doc = form.ownerDocument; - var win = doc.defaultView; - - // XXX - We'll handle private mode in Swift - // if (PrivateBrowsingUtils.isContentWindowPrivate(win)) { - // We won't do anything in private browsing mode anyway, - // so there's no need to perform further checks. - // log("(form submission ignored in private browsing mode)"); - // return; - // } - - // If password saving is disabled (globally or for host), bail out now. - if (!gEnabled) - return; + // Locate the username field in the form by searching backwards + // from the first passwordfield, assume the first text field is the + // username. We might not find a username field if the user is + // already logged in to the site. + for (var i = pwFields[0].index - 1; i >= 0; i--) { + var element = form.elements[i]; + if (this._isUsernameFieldType(element)) { + usernameField = element; + break; + } + } - var hostname = LoginUtils._getPasswordOrigin(doc.documentURI); - if (!hostname) { - log("(form submission ignored -- invalid hostname)"); - return; - } + if (!usernameField) + log("(form -- no username field found)"); + + + // If we're not submitting a form (it's a page load), there are no + // password field values for us to use for identifying fields. So, + // just assume the first password field is the one to be filled in. + if (!isSubmission || pwFields.length == 1) + return [usernameField, pwFields[0].element, null]; + + + // Try to figure out WTF is in the form based on the password values. + var oldPasswordField, newPasswordField; + var pw1 = pwFields[0].element.value; + var pw2 = pwFields[1].element.value; + var pw3 = (pwFields[2] ? pwFields[2].element.value : null); + + if (pwFields.length == 3) { + // Look for two identical passwords, that's the new password + + if (pw1 == pw2 && pw2 == pw3) { + // All 3 passwords the same? Weird! Treat as if 1 pw field. + newPasswordField = pwFields[0].element; + oldPasswordField = null; + } else if (pw1 == pw2) { + newPasswordField = pwFields[0].element; + oldPasswordField = pwFields[2].element; + } else if (pw2 == pw3) { + oldPasswordField = pwFields[0].element; + newPasswordField = pwFields[2].element; + } else if (pw1 == pw3) { + // A bit odd, but could make sense with the right page layout. + newPasswordField = pwFields[0].element; + oldPasswordField = pwFields[1].element; + } else { + // We can't tell which of the 3 passwords should be saved. + log("(form ignored -- all 3 pw fields differ)"); + return [null, null, null]; + } + } else { // pwFields.length == 2 + if (pw1 == pw2) { + // Treat as if 1 pw field + newPasswordField = pwFields[0].element; + oldPasswordField = null; + } else { + // Just assume that the 2nd password is the new password + oldPasswordField = pwFields[0].element; + newPasswordField = pwFields[1].element; + } + } - var formSubmitURL = LoginUtils._getActionOrigin(form); + return [usernameField, newPasswordField, oldPasswordField]; + }, - // Get the appropriate fields from the form. - // [usernameField, newPasswordField, oldPasswordField] - var fields = this._getFormFields(form, true); - var usernameField = fields[0]; - var newPasswordField = fields[1]; - var oldPasswordField = fields[2]; + /* + * _isAutoCompleteDisabled + * + * Returns true if the page requests autocomplete be disabled for the + * specified form input. + */ + _isAutocompleteDisabled : function (element) { + if (element && element.hasAttribute("autocomplete") && + element.getAttribute("autocomplete").toLowerCase() == "off") + return true; - // Need at least 1 valid password field to do anything. - if (newPasswordField == null) - return; + return false; + }, + + /* + * _onFormSubmit + * + * Called by the our observer when notified of a form submission. + * [Note that this happens before any DOM onsubmit handlers are invoked.] + * Looks for a password change in the submitted form, so we can update + * our stored password. + */ + _onFormSubmit : function (form) { + var doc = form.ownerDocument; + var win = doc.defaultView; + + // XXX - We'll handle private mode in Swift + // if (PrivateBrowsingUtils.isContentWindowPrivate(win)) { + // We won't do anything in private browsing mode anyway, + // so there's no need to perform further checks. + // log("(form submission ignored in private browsing mode)"); + // return; + // } + + // If password saving is disabled (globally or for host), bail out now. + if (!gEnabled) + return; + + var hostname = LoginUtils._getPasswordOrigin(doc.documentURI); + if (!hostname) { + log("(form submission ignored -- invalid hostname)"); + return; + } - // Check for autocomplete=off attribute. We don't use it to prevent - // autofilling (for existing logins), but won't save logins when it's - // present and the storeWhenAutocompleteOff pref is false. - // XXX spin out a bug that we don't update timeLastUsed in this case? - if ((this._isAutocompleteDisabled(form) || - this._isAutocompleteDisabled(usernameField) || - this._isAutocompleteDisabled(newPasswordField) || - this._isAutocompleteDisabled(oldPasswordField)) && !gStoreWhenAutocompleteOff) { - log("(form submission ignored -- autocomplete=off found)"); - return; - } + var formSubmitURL = LoginUtils._getActionOrigin(form); + + // Get the appropriate fields from the form. + // [usernameField, newPasswordField, oldPasswordField] + var fields = this._getFormFields(form, true); + var usernameField = fields[0]; + var newPasswordField = fields[1]; + var oldPasswordField = fields[2]; + + // Need at least 1 valid password field to do anything. + if (newPasswordField == null) + return; + + // Check for autocomplete=off attribute. We don't use it to prevent + // autofilling (for existing logins), but won't save logins when it's + // present and the storeWhenAutocompleteOff pref is false. + // XXX spin out a bug that we don't update timeLastUsed in this case? + if ((this._isAutocompleteDisabled(form) || + this._isAutocompleteDisabled(usernameField) || + this._isAutocompleteDisabled(newPasswordField) || + this._isAutocompleteDisabled(oldPasswordField)) && !gStoreWhenAutocompleteOff) { + log("(form submission ignored -- autocomplete=off found)"); + return; + } - // Don't try to send DOM nodes over IPC. - var mockUsername = usernameField ? { name: usernameField.name, - value: usernameField.value } : - null; - var mockPassword = { name: newPasswordField.name, - value: newPasswordField.value }; - var mockOldPassword = oldPasswordField ? - { name: oldPasswordField.name, - value: oldPasswordField.value } : - null; - - // Make sure to pass the opener's top in case it was in a frame. - var opener = win.opener ? win.opener.top : null; - - webkit.messageHandlers.loginsManagerMessageHandler.postMessage({ - type: "submit", - hostname: hostname, - username: mockUsername.value, - usernameField: mockUsername.name, - password: mockPassword.value, - passwordField: mockPassword.name, - formSubmitURL: formSubmitURL - }); - }, - - /* - * _fillform - * - * Fill the form with login information if we can find it. This will find - * an array of logins if not given any, otherwise it will use the logins - * passed in. The logins are returned so they can be reused for - * optimization. Success of action is also returned in format - * [success, foundLogins]. - * - * - autofillForm denotes if we should fill the form in automatically - * - ignoreAutocomplete denotes if we should ignore autocomplete=off - * attributes - * - userTriggered is an indication of whether this filling was triggered by - * the user - * - foundLogins is an array of nsILoginInfo for optimization - */ - _fillForm : function (form, autofillForm, ignoreAutocomplete, - clobberPassword, userTriggered, foundLogins) { - // Heuristically determine what the user/pass fields are - // We do this before checking to see if logins are stored, - // so that the user isn't prompted for a master password - // without need. - var fields = this._getFormFields(form, false); - var usernameField = fields[0]; - var passwordField = fields[1]; - - // Need a valid password field to do anything. - if (passwordField == null) - return [false, foundLogins]; - - // If the password field is disabled or read-only, there's nothing to do. - if (passwordField.disabled || passwordField.readOnly) { - log("not filling form, password field disabled or read-only"); - return [false, foundLogins]; - } + // Don't try to send DOM nodes over IPC. + var mockUsername = usernameField ? { name: usernameField.name, + value: usernameField.value } : + null; + var mockPassword = { name: newPasswordField.name, + value: newPasswordField.value }; + var mockOldPassword = oldPasswordField ? + { name: oldPasswordField.name, + value: oldPasswordField.value } : + null; + + // Make sure to pass the opener's top in case it was in a frame. + var opener = win.opener ? win.opener.top : null; + + webkit.messageHandlers.loginsManagerMessageHandler.postMessage({ + type: "submit", + hostname: hostname, + username: mockUsername.value, + usernameField: mockUsername.name, + password: mockPassword.value, + passwordField: mockPassword.name, + formSubmitURL: formSubmitURL + }); + }, + + /* + * _fillform + * + * Fill the form with login information if we can find it. This will find + * an array of logins if not given any, otherwise it will use the logins + * passed in. The logins are returned so they can be reused for + * optimization. Success of action is also returned in format + * [success, foundLogins]. + * + * - autofillForm denotes if we should fill the form in automatically + * - ignoreAutocomplete denotes if we should ignore autocomplete=off + * attributes + * - userTriggered is an indication of whether this filling was triggered by + * the user + * - foundLogins is an array of nsILoginInfo for optimization + */ + _fillForm : function (form, autofillForm, ignoreAutocomplete, + clobberPassword, userTriggered, foundLogins) { + // Heuristically determine what the user/pass fields are + // We do this before checking to see if logins are stored, + // so that the user isn't prompted for a master password + // without need. + var fields = this._getFormFields(form, false); + var usernameField = fields[0]; + var passwordField = fields[1]; + + // Need a valid password field to do anything. + if (passwordField == null) + return [false, foundLogins]; + + // If the password field is disabled or read-only, there's nothing to do. + if (passwordField.disabled || passwordField.readOnly) { + log("not filling form, password field disabled or read-only"); + return [false, foundLogins]; + } - // Discard logins which have username/password values that don't - // fit into the fields (as specified by the maxlength attribute). - // The user couldn't enter these values anyway, and it helps - // with sites that have an extra PIN to be entered (bug 391514) - var maxUsernameLen = Number.MAX_VALUE; - var maxPasswordLen = Number.MAX_VALUE; - - // If attribute wasn't set, default is -1. - if (usernameField && usernameField.maxLength >= 0) - maxUsernameLen = usernameField.maxLength; - if (passwordField.maxLength >= 0) - maxPasswordLen = passwordField.maxLength; - - var createLogin = function(login) { - return { - hostname: login.hostname, - formSubmitURL: login.formSubmitURL, - httpReal : login.httpRealm, - username: login.username, - password: login.password, - usernameField: login.usernameField, - passwordField: login.passwordField + // Discard logins which have username/password values that don't + // fit into the fields (as specified by the maxlength attribute). + // The user couldn't enter these values anyway, and it helps + // with sites that have an extra PIN to be entered (bug 391514) + var maxUsernameLen = Number.MAX_VALUE; + var maxPasswordLen = Number.MAX_VALUE; + + // If attribute wasn't set, default is -1. + if (usernameField && usernameField.maxLength >= 0) + maxUsernameLen = usernameField.maxLength; + if (passwordField.maxLength >= 0) + maxPasswordLen = passwordField.maxLength; + + var createLogin = function(login) { + return { + hostname: login.hostname, + formSubmitURL: login.formSubmitURL, + httpReal : login.httpRealm, + username: login.username, + password: login.password, + usernameField: login.usernameField, + passwordField: login.passwordField + } + } + foundLogins = map(foundLogins, createLogin); + var logins = foundLogins.filter(function (l) { + var fit = (l.username.length <= maxUsernameLen && + l.password.length <= maxPasswordLen); + if (!fit) + log("Ignored", l.username, "login: won't fit"); + + return fit; + }, this); + + + // Nothing to do if we have no matching logins available. + if (logins.length == 0) + return [false, foundLogins]; + + // The reason we didn't end up filling the form, if any. We include + // this in the formInfo object we send with the passwordmgr-found-logins + // notification. See the _notifyFoundLogins docs for possible values. + var didntFillReason = null; + + // Attach autocomplete stuff to the username field, if we have + // one. This is normally used to select from multiple accounts, + // but even with one account we should refill if the user edits. + // if (usernameField) + // formFillService.markAsLoginManagerField(usernameField); + + // Don't clobber an existing password. + if (passwordField.value && !clobberPassword) { + didntFillReason = "existingPassword"; + return [false, foundLogins]; } - } - foundLogins = map(foundLogins, createLogin); - var logins = foundLogins.filter(function (l) { - var fit = (l.username.length <= maxUsernameLen && - l.password.length <= maxPasswordLen); - if (!fit) - log("Ignored", l.username, "login: won't fit"); - - return fit; - }, this); - - - // Nothing to do if we have no matching logins available. - if (logins.length == 0) - return [false, foundLogins]; - - // The reason we didn't end up filling the form, if any. We include - // this in the formInfo object we send with the passwordmgr-found-logins - // notification. See the _notifyFoundLogins docs for possible values. - var didntFillReason = null; - - // Attach autocomplete stuff to the username field, if we have - // one. This is normally used to select from multiple accounts, - // but even with one account we should refill if the user edits. - // if (usernameField) - // formFillService.markAsLoginManagerField(usernameField); - - // Don't clobber an existing password. - if (passwordField.value && !clobberPassword) { - didntFillReason = "existingPassword"; - return [false, foundLogins]; - } - // If the form has an autocomplete=off attribute in play, don't - // fill in the login automatically. We check this after attaching - // the autocomplete stuff to the username field, so the user can - // still manually select a login to be filled in. - var isFormDisabled = false; - if (!ignoreAutocomplete && - (this._isAutocompleteDisabled(form) || - this._isAutocompleteDisabled(usernameField) || - this._isAutocompleteDisabled(passwordField))) { - - isFormDisabled = true; - log("form not filled, has autocomplete=off"); - } + // If the form has an autocomplete=off attribute in play, don't + // fill in the login automatically. We check this after attaching + // the autocomplete stuff to the username field, so the user can + // still manually select a login to be filled in. + var isFormDisabled = false; + if (!ignoreAutocomplete && + (this._isAutocompleteDisabled(form) || + this._isAutocompleteDisabled(usernameField) || + this._isAutocompleteDisabled(passwordField))) { + + isFormDisabled = true; + log("form not filled, has autocomplete=off"); + } - // Variable such that we reduce code duplication and can be sure we - // should be firing notifications if and only if we can fill the form. - var selectedLogin = null; - - if (usernameField && (usernameField.value || usernameField.disabled || usernameField.readOnly)) { - // If username was specified in the field, it's disabled or it's readOnly, only fill in the - // password if we find a matching login. - var username = usernameField.value.toLowerCase(); - - var matchingLogins = logins.filter(function(l) { return l.username.toLowerCase() == username }); - if (matchingLogins.length) { - // If there are multiple, and one matches case, use it - for (var i = 0; i < matchingLogins.length; i++) { - var l = matchingLogins[i]; - if (l.username == usernameField.value) { - selectedLogin = l; + // Variable such that we reduce code duplication and can be sure we + // should be firing notifications if and only if we can fill the form. + var selectedLogin = null; + + if (usernameField && (usernameField.value || usernameField.disabled || usernameField.readOnly)) { + // If username was specified in the field, it's disabled or it's readOnly, only fill in the + // password if we find a matching login. + var username = usernameField.value.toLowerCase(); + + var matchingLogins = logins.filter(function(l) { return l.username.toLowerCase() == username }); + if (matchingLogins.length) { + // If there are multiple, and one matches case, use it + for (var i = 0; i < matchingLogins.length; i++) { + var l = matchingLogins[i]; + if (l.username == usernameField.value) { + selectedLogin = l; + } } + // Otherwise just use the first + if (!selectedLogin) { + selectedLogin = matchingLogins[0]; + } + } else { + didntFillReason = "existingUsername"; + log("Password not filled. None of the stored logins match the username already present."); } - // Otherwise just use the first - if (!selectedLogin) { - selectedLogin = matchingLogins[0]; - } + } else if (logins.length == 1) { + selectedLogin = logins[0]; } else { - didntFillReason = "existingUsername"; - log("Password not filled. None of the stored logins match the username already present."); + // We have multiple logins. Handle a special case here, for sites + // which have a normal user+pass login *and* a password-only login + // (eg, a PIN). Prefer the login that matches the type of the form + // (user+pass or pass-only) when there's exactly one that matches. + var matchingLogins; + if (usernameField) + matchingLogins = logins.filter(function(l) { return l.username }); + else + matchingLogins = logins.filter(function(l) { return !l.username }); + + // We really don't want to type on phones, so we always autofill with something... + //if (matchingLogins.length == 1) { + selectedLogin = matchingLogins[0]; + //} else { + //didntFillReason = "multipleLogins"; + //log("Multiple logins for form, so not filling any."); + //} } - } else if (logins.length == 1) { - selectedLogin = logins[0]; - } else { - // We have multiple logins. Handle a special case here, for sites - // which have a normal user+pass login *and* a password-only login - // (eg, a PIN). Prefer the login that matches the type of the form - // (user+pass or pass-only) when there's exactly one that matches. - var matchingLogins; - if (usernameField) - matchingLogins = logins.filter(function(l) { return l.username }); - else - matchingLogins = logins.filter(function(l) { return !l.username }); - - // We really don't want to type on phones, so we always autofill with something... - //if (matchingLogins.length == 1) { - selectedLogin = matchingLogins[0]; - //} else { - //didntFillReason = "multipleLogins"; - //log("Multiple logins for form, so not filling any."); - //} - } - var didFillForm = false; - if (selectedLogin && autofillForm && !isFormDisabled) { - // Fill the form - if (usernameField) { - // Don't modify the username field if it's disabled or readOnly so we preserve its case. - var disabledOrReadOnly = usernameField.disabled || usernameField.readOnly; - - var userNameDiffers = selectedLogin.username != usernameField.value; - // Don't replace the username if it differs only in case, and the user triggered - // this autocomplete. We assume that if it was user-triggered the entered text - // is desired. - var userEnteredDifferentCase = userTriggered && userNameDiffers && usernameField.value.toLowerCase() == selectedLogin.username.toLowerCase(); - - if (!disabledOrReadOnly && !userEnteredDifferentCase && userNameDiffers) { - usernameField.value = selectedLogin.username; - dispatchKeyboardEvent(usernameField, "keydown", KEYCODE_ARROW_DOWN); - dispatchKeyboardEvent(usernameField, "keyup", KEYCODE_ARROW_DOWN); + var didFillForm = false; + if (selectedLogin && autofillForm && !isFormDisabled) { + // Fill the form + if (usernameField) { + // Don't modify the username field if it's disabled or readOnly so we preserve its case. + var disabledOrReadOnly = usernameField.disabled || usernameField.readOnly; + + var userNameDiffers = selectedLogin.username != usernameField.value; + // Don't replace the username if it differs only in case, and the user triggered + // this autocomplete. We assume that if it was user-triggered the entered text + // is desired. + var userEnteredDifferentCase = userTriggered && userNameDiffers && usernameField.value.toLowerCase() == selectedLogin.username.toLowerCase(); + + if (!disabledOrReadOnly && !userEnteredDifferentCase && userNameDiffers) { + usernameField.value = selectedLogin.username; + dispatchKeyboardEvent(usernameField, "keydown", KEYCODE_ARROW_DOWN); + dispatchKeyboardEvent(usernameField, "keyup", KEYCODE_ARROW_DOWN); + } } + if (passwordField.value != selectedLogin.password) { + passwordField.value = selectedLogin.password; + dispatchKeyboardEvent(passwordField, "keydown", KEYCODE_ARROW_DOWN); + dispatchKeyboardEvent(passwordField, "keyup", KEYCODE_ARROW_DOWN); + } + didFillForm = true; + } else if (selectedLogin && !autofillForm) { + // For when autofillForm is false, but we still have the information + // to fill a form, we notify observers. + didntFillReason = "noAutofillForms"; + // Services.obs.notifyObservers(form, "passwordmgr-found-form", didntFillReason); + log("autofillForms=false but form can be filled; notified observers"); + } else if (selectedLogin && isFormDisabled) { + // For when autocomplete is off, but we still have the information + // to fill a form, we notify observers. + didntFillReason = "autocompleteOff"; + // Services.obs.notifyObservers(form, "passwordmgr-found-form", didntFillReason); + log("autocomplete=off but form can be filled; notified observers"); } - if (passwordField.value != selectedLogin.password) { - passwordField.value = selectedLogin.password; - dispatchKeyboardEvent(passwordField, "keydown", KEYCODE_ARROW_DOWN); - dispatchKeyboardEvent(passwordField, "keyup", KEYCODE_ARROW_DOWN); - } - didFillForm = true; - } else if (selectedLogin && !autofillForm) { - // For when autofillForm is false, but we still have the information - // to fill a form, we notify observers. - didntFillReason = "noAutofillForms"; - // Services.obs.notifyObservers(form, "passwordmgr-found-form", didntFillReason); - log("autofillForms=false but form can be filled; notified observers"); - } else if (selectedLogin && isFormDisabled) { - // For when autocomplete is off, but we still have the information - // to fill a form, we notify observers. - didntFillReason = "autocompleteOff"; - // Services.obs.notifyObservers(form, "passwordmgr-found-form", didntFillReason); - log("autocomplete=off but form can be filled; notified observers"); - } - // this._notifyFoundLogins(didntFillReason, usernameField, passwordField, foundLogins, selectedLogin); - return [didFillForm, foundLogins]; - }, -} - -var LoginUtils = { - /* - * _getPasswordOrigin - * - * Get the parts of the URL we want for identification. - */ - _getPasswordOrigin : function (uriString, allowJS) { - // All of this logic is moved to swift (so that we don't need a uri parser here) - return uriString; - }, - - _getActionOrigin : function(form) { - var uriString = form.action; - - // A blank or missing action submits to where it came from. - if (uriString == "") - uriString = form.baseURI; // ala bug 297761 - - return this._getPasswordOrigin(uriString, true); - }, -} - -function onBlur(event) { - LoginManagerContent.onUsernameInput(event) -} - -var documentBody = document.body -var observer = new MutationObserver(function(mutations) { - for(var idx = 0; idx < mutations.length; ++idx){ - findForms(mutations[idx].addedNodes); + // this._notifyFoundLogins(didntFillReason, usernameField, passwordField, foundLogins, selectedLogin); + return [didFillForm, foundLogins]; + }, } -}); - -function findForms(nodes) { - for (var i = 0; i < nodes.length; i++) { - var node = nodes[i]; - if (node.nodeName === "FORM") { - findLogins(node); - } else if(node.hasChildNodes()) { - findForms(node.childNodes); - } + var LoginUtils = { + /* + * _getPasswordOrigin + * + * Get the parts of the URL we want for identification. + */ + _getPasswordOrigin : function (uriString, allowJS) { + // All of this logic is moved to swift (so that we don't need a uri parser here) + return uriString; + }, + + _getActionOrigin : function(form) { + var uriString = form.action; + + // A blank or missing action submits to where it came from. + if (uriString == "") + uriString = form.baseURI; // ala bug 297761 + + return this._getPasswordOrigin(uriString, true); + }, } - return false; -} - -observer.observe(documentBody, { attributes: false, childList: true, characterData: false, subtree: true }); - -function findLogins(form) { - try { - LoginManagerContent._asyncFindLogins(form, { }) - .then(function(res) { - LoginManagerContent.loginsFound(res.form, res.loginsFound); - }).then(null, log); - } catch(ex) { - // Eat errors to avoid leaking them to the page - log(ex); - } - } -window.addEventListener("load", function(event) { - for (var i = 0; i < document.forms.length; i++) { - findLogins(document.forms[i]); + function onBlur(event) { + LoginManagerContent.onUsernameInput(event) } -}); -window.addEventListener("submit", function(event) { - try { - LoginManagerContent._onFormSubmit(event.target); - } catch(ex) { - // Eat errors to avoid leaking them to the page - log(ex); + var documentBody = document.body + var observer = new MutationObserver(function(mutations) { + for(var idx = 0; idx < mutations.length; ++idx){ + findForms(mutations[idx].addedNodes); + } + }); + + function findForms(nodes) { + for (var i = 0; i < nodes.length; i++) { + var node = nodes[i]; + if (node.nodeName === "FORM") { + findLogins(node); + } else if(node.hasChildNodes()) { + findForms(node.childNodes); + } + + } + return false; } -}); -function LoginInjector() { - this.inject = function(msg) { + observer.observe(documentBody, { attributes: false, childList: true, characterData: false, subtree: true }); + + function findLogins(form) { try { - LoginManagerContent.receiveMessage(msg); + LoginManagerContent._asyncFindLogins(form, { }) + .then(function(res) { + LoginManagerContent.loginsFound(res.form, res.loginsFound); + }).then(null, log); + } catch(ex) { + // Eat errors to avoid leaking them to the page + log(ex); + } + } + + window.addEventListener("load", function(event) { + for (var i = 0; i < document.forms.length; i++) { + findLogins(document.forms[i]); + } + }); + + window.addEventListener("submit", function(event) { + try { + LoginManagerContent._onFormSubmit(event.target); } catch(ex) { // Eat errors to avoid leaking them to the page - // alert(ex); + log(ex); } - }; -} - -Object.defineProperty(window.__firefox__, "logins", { - enumerable: false, - configurable: false, - writable: false, - value: Object.freeze(new LoginInjector()) -}); + }); + + function LoginInjector() { + this.inject = function(msg) { + try { + LoginManagerContent.receiveMessage(msg); + } catch(ex) { + // Eat errors to avoid leaking them to the page + // alert(ex); + } + }; + } -function map(array, callback) { - var T, A, k; + Object.defineProperty(window.__firefox__, "logins", { + enumerable: false, + configurable: false, + writable: false, + value: Object.freeze(new LoginInjector()) + }); - if (array == null) { - throw new TypeError("Array is null or not defined"); - } + function map(array, callback) { + var T, A, k; - var O = Object(array); - var len = O.length >>> 0; - if (typeof callback !== "function") { - throw new TypeError(callback + " is not a function"); - } - if (arguments.length > 1) { - T = array; - } - A = new Array(len); - k = 0; - while (k < len) { - var kValue, mappedValue; - if (k in O) { - kValue = O[k]; - mappedValue = callback.call(T, kValue, k, O); - A[k] = mappedValue; + if (array == null) { + throw new TypeError("Array is null or not defined"); } - k++; - } - return A; -}; -function dispatchKeyboardEvent(element, eventName, keyCode) { - var event = document.createEvent("KeyboardEvent"); - event.initKeyboardEvent(eventName, true, true, window, 0, 0, 0, 0, 0, keyCode); - element.dispatchEvent(event); -} + var O = Object(array); + var len = O.length >>> 0; + if (typeof callback !== "function") { + throw new TypeError(callback + " is not a function"); + } + if (arguments.length > 1) { + T = array; + } + A = new Array(len); + k = 0; + while (k < len) { + var kValue, mappedValue; + if (k in O) { + kValue = O[k]; + mappedValue = callback.call(T, kValue, k, O); + A[k] = mappedValue; + } + k++; + } + return A; + }; -})(); + function dispatchKeyboardEvent(element, eventName, keyCode) { + var event = document.createEvent("KeyboardEvent"); + event.initKeyboardEvent(eventName, true, true, window, 0, 0, 0, 0, 0, keyCode); + element.dispatchEvent(event); + } +}); diff --git a/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/PrintHandler.js b/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/PrintHandler.js old mode 100644 new mode 100755 index e2bd7dc86..4162baada --- a/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/PrintHandler.js +++ b/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/PrintHandler.js @@ -3,17 +3,12 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -(function() { "use strict"; // Ensure this module only gets included once. This is // required for user scripts injected into all frames. -if (window.__firefox__.includeOnce("PrintHandler")) { - return; -} - -window.print = function() { - webkit.messageHandlers.printHandler.postMessage({}); -}; - -})(); +window.__firefox__.includeOnce("PrintHandler", function() { + window.print = function() { + webkit.messageHandlers.printHandler.postMessage({}); + }; +}); diff --git a/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/__firefox__.js b/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/__firefox__.js old mode 100644 new mode 100755 index 9791e8dc3..83ce5ca15 --- a/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/__firefox__.js +++ b/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentEnd/__firefox__.js @@ -3,28 +3,26 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -(function() { "use strict"; -if (window.__firefox__) { - return; -} +if (!window.__firefox__) { + Object.defineProperty(window, "__firefox__", { + enumerable: false, + configurable: false, + writable: false, + value: { + userScripts: {}, + includeOnce: function(userScript, initializer) { + if (!__firefox__.userScripts[userScript]) { + __firefox__.userScripts[userScript] = true; + if (typeof initializer === 'function') { + initializer(); + } + return false; + } -Object.defineProperty(window, "__firefox__", { - enumerable: false, - configurable: false, - writable: false, - value: { - userScripts: {}, - includeOnce: function(userScript) { - if (!__firefox__.userScripts[userScript]) { - __firefox__.userScripts[userScript] = true; - return false; + return true; } - - return true; } - } -}); - -})(); + }); +} diff --git a/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentStart/__firefox__.js b/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentStart/__firefox__.js old mode 100644 new mode 100755 index 9791e8dc3..83ce5ca15 --- a/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentStart/__firefox__.js +++ b/Client/Frontend/UserContent/UserScripts/AllFrames/AtDocumentStart/__firefox__.js @@ -3,28 +3,26 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -(function() { "use strict"; -if (window.__firefox__) { - return; -} +if (!window.__firefox__) { + Object.defineProperty(window, "__firefox__", { + enumerable: false, + configurable: false, + writable: false, + value: { + userScripts: {}, + includeOnce: function(userScript, initializer) { + if (!__firefox__.userScripts[userScript]) { + __firefox__.userScripts[userScript] = true; + if (typeof initializer === 'function') { + initializer(); + } + return false; + } -Object.defineProperty(window, "__firefox__", { - enumerable: false, - configurable: false, - writable: false, - value: { - userScripts: {}, - includeOnce: function(userScript) { - if (!__firefox__.userScripts[userScript]) { - __firefox__.userScripts[userScript] = true; - return false; + return true; } - - return true; } - } -}); - -})(); + }); +} diff --git a/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentEnd/CustomSearchHandler.js b/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentEnd/CustomSearchHandler.js old mode 100644 new mode 100755 index c96280a93..b98b151e5 --- a/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentEnd/CustomSearchHandler.js +++ b/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentEnd/CustomSearchHandler.js @@ -3,7 +3,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -(function() { "use strict"; Object.defineProperty(window.__firefox__, "searchQueryForField", { @@ -34,5 +33,3 @@ Object.defineProperty(window.__firefox__, "searchQueryForField", { return url; } }); - -})(); diff --git a/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentEnd/FindInPage.js b/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentEnd/FindInPage.js old mode 100644 new mode 100755 index 588a02312..937140689 --- a/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentEnd/FindInPage.js +++ b/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentEnd/FindInPage.js @@ -3,282 +3,374 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -(function() { "use strict"; -var DEBUG_ENABLED = false; -var MATCH_HIGHLIGHT_ACTIVE = "#f19750"; -var MATCH_HIGHLIGHT_INACTIVE = "#ffde49"; -var SCROLL_INTERVAL_INCREMENT = 5; -var SCROLL_INTERVAL_DURATION = 400; -var SCROLL_OFFSET = 60; - -var activeHighlightSpan = null; -var lastSearch; -var scrollInterval; -var activeIndex = 0; -var highlightSpans = []; - -function debug(str) { - if (DEBUG_ENABLED) { - console.log("FindInPage: " + str); - } +const MAXIMUM_HIGHLIGHT_COUNT = 500; +const SCROLL_OFFSET_Y = 40; +const SCROLL_DURATION = 100; + +const HIGHLIGHT_CLASS_NAME = "__firefox__find-highlight"; +const HIGHLIGHT_CLASS_NAME_ACTIVE = "__firefox__find-highlight-active"; + +const HIGHLIGHT_COLOR = "#ffde49"; +const HIGHLIGHT_COLOR_ACTIVE = "#f19750"; + +// IMPORTANT!!!: If this CSS is ever changed, the sha256-base64 +// hash in Client/Frontend/Reader/ReaderModeHandlers.swift will +// also need updated. The value of `ReaderModeStyleHash` in that +// file represents the sha256-base64 hash of the `HIGHLIGHT_CSS`. +const HIGHLIGHT_CSS = +`.${HIGHLIGHT_CLASS_NAME} { + color: #000; + background-color: ${HIGHLIGHT_COLOR}; + border-radius: 1px; + box-shadow: 0 0 0 2px ${HIGHLIGHT_COLOR}; + transition: all ${SCROLL_DURATION}ms ease ${SCROLL_DURATION}ms; } +.${HIGHLIGHT_CLASS_NAME}.${HIGHLIGHT_CLASS_NAME_ACTIVE} { + background-color: ${HIGHLIGHT_COLOR_ACTIVE}; + box-shadow: 0 0 0 4px ${HIGHLIGHT_COLOR_ACTIVE},0 1px 3px 3px rgba(0,0,0,.75); +}`; + +var lastEscapedQuery = ""; +var lastFindOperation = null; +var lastReplacements = null; +var lastHighlights = null; +var activeHighlightIndex = -1; + +var highlightSpan = document.createElement("span"); +highlightSpan.className = HIGHLIGHT_CLASS_NAME; + +var styleElement = document.createElement("style"); +styleElement.innerHTML = HIGHLIGHT_CSS; + +function find(query) { + let trimmedQuery = query.trim(); + + // If the trimmed query is empty, use it instead of the escaped + // query to prevent searching for nothing but whitepsace. + let escapedQuery = !trimmedQuery ? trimmedQuery : query.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1"); + if (escapedQuery === lastEscapedQuery) { + return; + } -function isElementVisible(elem) { - return getComputedStyle(elem).visibility !== "hidden"; -} + if (lastFindOperation) { + lastFindOperation.cancel(); + } -function isRectInViewport(rect) { - var left = rect.left + document.body.scrollLeft; - var right = rect.right + document.body.scrollLeft; - var top = rect.top + document.body.scrollTop; - var bottom = rect.bottom + document.body.scrollTop; - - return rect.width > 0 && - rect.height > 0 && - right >= 0 && - bottom >= 0 && - left <= document.body.scrollWidth && - top <= document.body.scrollHeight; -} + clear(); -function findMatches(text) { - // For case-insensitive matching. - var lowerText = text.toLocaleLowerCase(); - var upperText = text.toLocaleUpperCase(); - - var matches = []; - var range = document.createRange(); - var walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT, null, false); - var textLength = text.length; - var node; - while (node = walker.nextNode()) { - var textContent = node.textContent; - findString: for (var i = 0; i < textContent.length - textLength + 1; ++i) { - for (var j = 0; j < textLength; ++j) { - var nextChar = textContent[i + j]; - if (lowerText[j] !== nextChar && upperText[j] !== nextChar) { - continue findString; - } - } + lastEscapedQuery = escapedQuery; - // This node is a TextNode, not an Element. Its parent is the nearest Element. - var element = node.parentNode; - - // Find the rect of just the text for this match. - range.setStart(node, i); - range.setEnd(node, i + textLength); - var textRect = range.getBoundingClientRect(); - - // We have a match, but we need to make sure it's visible. The condition - // below checks the following cases: - // * If this element or any of its parents has style visibility hidden. - // The visibility style is inherited, so we need to check only this - // element and not all of its ancestors. - // * If the highlight will be outside of the page's bounds. We determine - // this by comparing the bounds of the text rect. - // * If the element style display is set to none. display:none collapses - // the element's space, so this will again be detected by looking at - // the text's rect: if the element is collapsed, the width and height - // will be zero. - if (isElementVisible(element) && isRectInViewport(textRect)) { - matches.push({ node: node, index: i }); - - // Resume searching after this match to prevent overlapping results. - i += textLength- 1; - } - } + if (!escapedQuery) { + webkit.messageHandlers.findInPageHandler.postMessage({ currentResult: 0, totalResults: 0 }); + return; } - return matches; -} + let queryRegExp = new RegExp("(" + escapedQuery + ")", "gi"); -function flattenNode(node) { - var parent = node.parentNode; - if (!parent) { - return; - } + lastFindOperation = getMatchingNodeReplacements(queryRegExp, function(replacements, highlights) { + let replacement; + for (let i = 0, length = replacements.length; i < length; i++) { + replacement = replacements[i]; - while (node.firstChild) { - parent.insertBefore(node.firstChild, node); - } + replacement.originalNode.replaceWith(replacement.replacementFragment); + } + + lastFindOperation = null; + lastReplacements = replacements; + lastHighlights = highlights; + activeHighlightIndex = -1; + + let totalResults = highlights.length; + webkit.messageHandlers.findInPageHandler.postMessage({ totalResults: totalResults }); - node.remove(); - parent.normalize(); + findNext(); + }); } -function clearHighlights() { - if (highlightSpans.length > 0) { - for (var span of highlightSpans) { - flattenNode(span); - } - highlightSpans = []; +function findNext() { + if (lastHighlights) { + activeHighlightIndex = (activeHighlightIndex + lastHighlights.length + 1) % lastHighlights.length; + updateActiveHighlight(); } +} - activeHighlightSpan = null; +function findPrevious() { + if (lastHighlights) { + activeHighlightIndex = (activeHighlightIndex + lastHighlights.length - 1) % lastHighlights.length; + updateActiveHighlight(); + } } -function highlightAllMatches(text) { - debug("Searching: " + text); +function findDone() { + styleElement.remove(); + clear(); - clearHighlights(); + lastEscapedQuery = ""; +} - if (!text.trim()) { - webkit.messageHandlers.findInPageHandler.postMessage({ totalResults: 0 }); +function clear() { + if (!lastHighlights) { return; } - var range = document.createRange(); - var matches = findMatches(text); - var highlightTemplate = document.createElement("span"); - highlightTemplate.style.backgroundColor = MATCH_HIGHLIGHT_INACTIVE; - - // If there are multiple matches in the same node, inserting a highlight span before other matches - // in that node will invalidate other matches since the node itself changes. By iterating through - // results in reverse, we highlight matches last in the node first so earlier matches are unaffected. - for (var i = matches.length - 1; i >= 0; --i) { - var match = matches[i]; - var highlight = highlightTemplate.cloneNode(); - - range.setStart(match.node, match.index); - range.setEnd(match.node, match.index + text.length); - range.surroundContents(highlight); - highlightSpans.unshift(highlight); - } + let replacements = lastReplacements; + let highlights = lastHighlights; - debug(matches.length + " highlighted rects created!"); - webkit.messageHandlers.findInPageHandler.postMessage({ totalResults: matches.length }); -} + let highlight; + for (let i = 0, length = highlights.length; i < length; i++) { + highlight = highlights[i]; + + removeHighlight(highlight); + } -function getIDForRect(rect) { - return rect.top + "," + rect.bottom + "," + rect.left + "," + rect.right; + lastReplacements = null; + lastHighlights = null; + activeHighlightIndex = -1; } function updateActiveHighlight() { - // Reset the color of the previous highlight. - if (activeHighlightSpan) { - activeHighlightSpan.style.backgroundColor = MATCH_HIGHLIGHT_INACTIVE; + if (!styleElement.parentNode) { + document.body.appendChild(styleElement); } - if (!highlightSpans.length) { + let lastActiveHighlight = document.querySelector("." + HIGHLIGHT_CLASS_NAME_ACTIVE); + if (lastActiveHighlight) { + lastActiveHighlight.className = HIGHLIGHT_CLASS_NAME; + } + + if (!lastHighlights) { return; } - activeHighlightSpan = highlightSpans[activeIndex]; - activeHighlightSpan.style.backgroundColor = MATCH_HIGHLIGHT_ACTIVE; - - // Find the position of the element centered on the screen, then scroll to it. - var rect = activeHighlightSpan.getBoundingClientRect(); - var top = SCROLL_OFFSET + rect.top + scrollY - window.innerHeight / 2; - var left = rect.left + scrollX - window.innerWidth / 2; - left = clamp(left, 0, document.body.scrollWidth); - top = clamp(top, 0, document.body.scrollHeight); - scrollToSelection(left, top, SCROLL_INTERVAL_DURATION); - debug("Scrolled to: " + left + ", " + top); + let activeHighlight = lastHighlights[activeHighlightIndex]; + if (activeHighlight) { + activeHighlight.className = HIGHLIGHT_CLASS_NAME + " " + HIGHLIGHT_CLASS_NAME_ACTIVE; + scrollToElement(activeHighlight, SCROLL_DURATION); + + webkit.messageHandlers.findInPageHandler.postMessage({ currentResult: activeHighlightIndex + 1 }); + } else { + webkit.messageHandlers.findInPageHandler.postMessage({ currentResult: 0 }); + } } -function scrollToSelection(left, top, duration) { - var time = 0; - var startX = scrollX; - var startY = scrollY; - clearInterval(scrollInterval); - scrollInterval = setInterval(function() { - var xStep = easeOutCubic(time, startX, left - startX, duration); - var yStep = easeOutCubic(time, startY, top - startY, duration); - window.scrollTo(xStep, yStep); - time += SCROLL_INTERVAL_INCREMENT; - if (time >= duration) { - clearInterval(scrollInterval); +function removeHighlight(highlight) { + let parent = highlight.parentNode; + if (parent) { + while (highlight.firstChild) { + parent.insertBefore(highlight.firstChild, highlight); } - }, SCROLL_INTERVAL_INCREMENT); -} -function easeOutCubic(currentTime, startValue, changeInValue, duration) { - return changeInValue * (Math.pow(currentTime / duration - 1, 3) + 1) + startValue; + highlight.remove(); + parent.normalize(); + } } -function clamp(number, min, max) { - return Math.max(min, Math.min(number, max)); +function asyncTextNodeWalker(iterator) { + let operation = new Operation(); + let walker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT, null, false); + + let timeout = setTimeout(function() { + chunkedLoop(function() { return walker.nextNode(); }, function(node) { + if (operation.cancelled) { + return false; + } + + iterator(node); + return true; + }, 100).then(function() { + operation.complete(); + }); + }, 50); + + operation.oncancelled = function() { + clearTimeout(timeout); + }; + + return operation; } -function updateSearch(text) { - if (lastSearch == text) { - // The text is the same, so we're either finding either the next or previous result. - var totalResults = highlightSpans.length; - activeIndex = (activeIndex + totalResults) % totalResults; - } else { - // Store the current active rect to decide which new match should be active. - var activeHighlightRect = null; - if (activeHighlightSpan) { - activeHighlightRect = activeHighlightSpan.getBoundingClientRect(); +function getMatchingNodeReplacements(regExp, callback) { + let replacements = []; + let highlights = []; + let isMaximumHighlightCount = false; + + let operation = asyncTextNodeWalker(function(originalNode) { + if (!isTextNodeVisible(originalNode)) { + return; } - // The search text changed, so scan the page for new results. - highlightAllMatches(text); - - // If we found a match at or after the last match, use that position - // instead of starting again from the top. - activeIndex = 0; - if (activeHighlightRect) { - for (var i = 0; i < highlightSpans.length; i++) { - var highlight = highlightSpans[i]; - var highlightRect = highlight.getBoundingClientRect(); - if ((highlightRect.top == activeHighlightRect.top && highlightRect.left >= activeHighlightRect.left) || - (highlightRect.top > activeHighlightRect.top)) { - activeIndex = i; - break; + let originalTextContent = originalNode.textContent; + let lastIndex = 0; + let replacementFragment = document.createDocumentFragment(); + let hasReplacement = false; + let match; + + while ((match = regExp.exec(originalTextContent))) { + let matchTextContent = match[0]; + + // Add any text before this match. + if (match.index > 0) { + let leadingSubstring = originalTextContent.substring(lastIndex, match.index); + replacementFragment.appendChild(document.createTextNode(leadingSubstring)); + } + + // Add element for this match. + let element = highlightSpan.cloneNode(false); + element.textContent = matchTextContent; + replacementFragment.appendChild(element); + highlights.push(element); + + lastIndex = regExp.lastIndex; + hasReplacement = true; + + if (highlights.length > MAXIMUM_HIGHLIGHT_COUNT) { + isMaximumHighlightCount = true; + break; + } + } + + if (hasReplacement) { + // Add any text after the matches. + if (lastIndex < originalTextContent.length) { + let trailingSubstring = originalTextContent.substring(lastIndex, originalTextContent.length); + replacementFragment.appendChild(document.createTextNode(trailingSubstring)); + } + + replacements.push({ + originalNode: originalNode, + replacementFragment: replacementFragment + }); + } + + if (isMaximumHighlightCount) { + operation.cancel(); + callback(replacements, highlights); + } + }); + + // Callback for if/when the text node loop completes (should + // happen unless the maximum highlight count is reached). + operation.oncompleted = function() { + callback(replacements, highlights); + }; + + return operation; +} + +function chunkedLoop(condition, iterator, chunkSize) { + return new Promise(function(resolve, reject) { + setTimeout(doChunk, 0); + + function doChunk() { + let argument; + for (let i = 0; i < chunkSize; i++) { + argument = condition(); + if (!argument || iterator(argument) === false) { + resolve(); + return; } } + + setTimeout(doChunk, 0); + } + }); +} + +function scrollToElement(element, duration) { + let rect = element.getBoundingClientRect(); + + let targetX = clamp(rect.left + window.scrollX - window.innerWidth / 2, 0, document.body.scrollWidth); + let targetY = clamp(SCROLL_OFFSET_Y + rect.top + window.scrollY - window.innerHeight / 2, 0, document.body.scrollHeight); + + let startX = window.scrollX; + let startY = window.scrollY; + + let deltaX = targetX - startX; + let deltaY = targetY - startY; + + let startTimestamp; + + function step(timestamp) { + if (!startTimestamp) { + startTimestamp = timestamp; } - lastSearch = text; + let time = timestamp - startTimestamp; + let percent = Math.min(time / duration, 1); + + let x = startX + deltaX * percent; + let y = startY + deltaY * percent; + + window.scrollTo(x, y); + + if (time < duration) { + requestAnimationFrame(step); + } } - // Update the UI with the current match index. - var currentResult = highlightSpans.length ? activeIndex + 1 : 0; - webkit.messageHandlers.findInPageHandler.postMessage({ currentResult: currentResult }); + requestAnimationFrame(step); +} - updateActiveHighlight(); +function isTextNodeVisible(textNode) { + let element = textNode.parentElement; + return !!(element.offsetWidth || element.offsetHeight || element.getClientRects().length); } +function clamp(value, min, max) { + return Math.max(min, Math.min(value, max)); +} + +function Operation() { + this.cancelled = false; + this.completed = false; +} + +Operation.prototype.constructor = Operation; + +Operation.prototype.cancel = function() { + this.cancelled = true; + + if (typeof this.oncancelled === "function") { + this.oncancelled(); + } +}; + +Operation.prototype.complete = function() { + this.completed = true; + + if (typeof this.oncompleted === "function") { + if (!this.cancelled) { + this.oncompleted(); + } + } +}; + Object.defineProperty(window.__firefox__, "find", { enumerable: false, configurable: false, writable: false, - value: function(text) { - updateSearch(text); - } + value: find }); Object.defineProperty(window.__firefox__, "findNext", { enumerable: false, configurable: false, writable: false, - value: function(text) { - activeIndex++; - updateSearch(text); - } + value: findNext }); Object.defineProperty(window.__firefox__, "findPrevious", { enumerable: false, configurable: false, writable: false, - value: function(text) { - activeIndex--; - updateSearch(text); - } + value: findPrevious }); Object.defineProperty(window.__firefox__, "findDone", { enumerable: false, configurable: false, writable: false, - value: function() { - clearHighlights(); - lastSearch = null; - } + value: findDone }); - -})(); diff --git a/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentEnd/MetadataHelper.js b/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentEnd/MetadataHelper.js old mode 100644 new mode 100755 index 9080e7e68..31ec3af7a --- a/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentEnd/MetadataHelper.js +++ b/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentEnd/MetadataHelper.js @@ -3,59 +3,13 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -(function() { "use strict"; -var metadataparser = require("page-metadata-parser/parser.js"); +const metadataparser = require("page-metadata-parser/parser.js"); -function MetadataWrapper(metadataparser) { - var dataURIRegex = /^\s*data:([a-z]+\/[a-z]+(;[a-z\-]+\=[a-z\-]+)?)?(;base64)?,[a-z0-9\!\$\&\'\,\(\)\*\+\,\;\=\-\.\_\~\:\@\/\?\%\s]*\s*$/i; - - function isDataURI(s) { - return !!s.match(dataURIRegex); - } - - function getDataUri(url, callback) { - var image = new Image(); - image.onload = function() { - try { - var canvas = document.createElement('canvas'); - canvas.width = this.naturalWidth; // or 'width' if you want a special/scaled size - canvas.height = this.naturalHeight; // or 'height' if you want a special/scaled size - canvas.getContext('2d').drawImage(this, 0, 0); - var dataURI = canvas.toDataURL(); - callback(dataURI); - } catch (exception) { - callback(false); - } - }; - - image.src = url; - } - - function metadataCallback(metadata) { - window.__firefox__.pageMetadata = metadata; - webkit.messageHandlers.metadataMessageHandler.postMessage(metadata); - } - - this.extractMetadata = function() { - var metadata = metadataparser.getMetadata(window.document, document.URL); - var imageURL = metadata["image"]; - if (imageURL) { - if (isDataURI(imageURL)) { - metadata["image_data_uri"] = imageURL; - metadataCallback(metadata); - } else { - getDataUri(imageURL, function(dataURI) { - if (dataURI) { - metadata["image_data_uri"] = dataURI; - } - metadataCallback(metadata); - }); - } - } else { - metadataCallback(metadata); - } +function MetadataWrapper() { + this.getMetadata = function() { + return metadataparser.getMetadata(window.document, document.URL); }; } @@ -65,7 +19,3 @@ Object.defineProperty(window.__firefox__, 'metadata', { writable: false, value: Object.freeze(new MetadataWrapper(metadataparser)) }); - -metadataparser = undefined; - -})(); diff --git a/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/FormPostHandler.js b/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/FormPostHandler.js deleted file mode 100644 index ffd25a57b..000000000 --- a/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/FormPostHandler.js +++ /dev/null @@ -1,122 +0,0 @@ -/* vim: set ts=2 sts=2 sw=2 et tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -(function() { -"use strict"; - -/** - * This is a workaround for an issue where `
` - * submits an empty HTTP request body. This seems to be a known WebKit issue that - * is tracked here: https://bugs.webkit.org/show_bug.cgi?id=140188 - */ - -// Get the native property descriptors for the `` element's prototype. We -// need to do this because properties on the `` element can be overridden if -// a form field uses the same `[name]` as an existing property. For example, if a -// `` contains ``, accessing -// the `.action` property on the `` would return the `` element instead -// of returning `"/foo"`. -const FORM_PROTO_PROPS = Object.getOwnPropertyDescriptors(HTMLFormElement.prototype); - -// Get the native `submit()` method for the `` element's prototype. We need -// to override it in order to hook our `beforeSubmit()` function before the native -// `submit()` implementation executes. -const FORM_PROTO_SUBMIT = HTMLFormElement.prototype.submit; - -// Override the native `submit()` method on the `` element's prototype to -// call `beforeSubmit()` to serialize the form data to send to our native helper -// before calling the native `submit()` implementation. -HTMLFormElement.prototype.submit = function() { - beforeSubmit(this); - return FORM_PROTO_SUBMIT.apply(this, arguments); -}; - -// Listen for all other `submit` events on the `document` and call `beforeSubmit()` -// to serialize the form data to send to our `WKScriptMessageHandler`. -document.addEventListener("submit", function(evt) { - var form = evt.target; - if (form.tagName !== "FORM") { - return; - } - - beforeSubmit(form); -}, true); - -function beforeSubmit(form) { - // Ensure the `submit` event was for `` - // elements only. Also ensure `[enctype="application/x-www-form-urlencoded"]` - // (which is the default for all `` elements unless otherwise specified). - // Bail out immediately if any of these conditions are not met. - var target = (FORM_PROTO_PROPS.target.get.apply(form) || "").toLowerCase(); - if (target !== "_blank") { - return; - } - - var method = (FORM_PROTO_PROPS.method.get.apply(form) || "GET").toUpperCase(); - if (method !== "POST") { - return; - } - - var enctype = (FORM_PROTO_PROPS.enctype.get.apply(form) || "").toLowerCase(); - if (enctype !== "application/x-www-form-urlencoded") { - return; - } - - // Notify our `WKScriptMessageHandler` that we are about to submit this form. - // This is where we actually serialize the form data for the HTTP request body. - webkit.messageHandlers.formPostHelper.postMessage({ - action: (FORM_PROTO_PROPS.action.get.apply(form) || window.location.href), - method: method, - target: target, - enctype: enctype, - requestBody: serializeFormWithURLEncoding(form) - }); -} - -// Helper function that serializes the form data for the specified `` element -// in the `application/x-www-form-urlencoded` format. The return value should be a -// string that matches exactly what the HTTP request body would be when submitting -// the specified `` element natively. -function serializeFormWithURLEncoding(form) { - var values = []; - - [].slice.apply(form.elements).forEach(function(field) { - // Do not include form fields that are disabled. Also, do not include - // form fields without a `[name]` or `` fields in - // the `application/x-www-form-urlencoded` format. - if (field.disabled || !field.name || field.type === "file") { - return; - } - - // URL-encode the field `[name]`. - var name = encodeURIComponent(field.name); - - // Aggregate all selected options for `` or ``, - // we can just get the URL-encoded `[value]` for the field. Otherwise, if it - // is an `` or ``, we must ensure - // it is `[checked]` before getting its URL-encoded `[value]`. Any unchecked - // `` or `` fields are not to be - // included in the `application/x-www-form-urlencoded` format. - else if ((field.type !== "checkbox" && field.type !== "radio") || field.checked) { - values.push(name + "=" + encodeURIComponent(field.value || "")); - } - }); - - // Join all URL-encoded `"name=value"` strings with an `"&"` as required by the - // `application/x-www-form-urlencoded` format. - return values.join("&"); -} - -})(); diff --git a/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/HistoryStateHelper.js b/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/HistoryStateHelper.js old mode 100644 new mode 100755 index 32afadbf9..1f11b14ad --- a/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/HistoryStateHelper.js +++ b/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/HistoryStateHelper.js @@ -3,11 +3,10 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -(function() { "use strict"; -var nativeHistoryPushState = window.history.pushState; -var nativeHistoryReplaceState = window.history.replaceState; +const nativeHistoryPushState = window.history.pushState; +const nativeHistoryReplaceState = window.history.replaceState; // We need to catch calls to `history.pushState()` in order to // notify the BrowserViewController so that history can be @@ -36,5 +35,3 @@ window.history.replaceState = function(state, title, url) { url: url }); }; - -})(); diff --git a/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/NightModeHelper.js b/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/NightModeHelper.js old mode 100644 new mode 100755 index edebf3872..47efa8769 --- a/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/NightModeHelper.js +++ b/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/NightModeHelper.js @@ -3,7 +3,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -(function() { "use strict"; Object.defineProperty(window.__firefox__, "NightMode", { @@ -129,5 +128,3 @@ Object.defineProperty(window.__firefox__.NightMode, "setEnabled", { } } }); - -})(); diff --git a/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/NoImageModeHelper.js b/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/NoImageModeHelper.js old mode 100644 new mode 100755 index 3208d3e9b..d03d2cea5 --- a/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/NoImageModeHelper.js +++ b/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/NoImageModeHelper.js @@ -3,7 +3,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -(function() { "use strict"; Object.defineProperty(window.__firefox__, "NoImageMode", { @@ -13,7 +12,7 @@ Object.defineProperty(window.__firefox__, "NoImageMode", { value: { enabled: false } }); -var className = "__firefox__NoImageMode"; +const className = "__firefox__NoImageMode"; function initializeStyleSheet () { var noImageCSS = "*{background-image:none !important;}img,iframe{visibility:hidden !important;}"; @@ -81,5 +80,3 @@ Object.defineProperty(window.__firefox__.NoImageMode, "setEnabled", { window.addEventListener("DOMContentLoaded", function (event) { window.__firefox__.NoImageMode.setEnabled(window.__firefox__.NoImageMode.enabled); }); - -})(); diff --git a/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/ReaderMode.js b/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/ReaderMode.js old mode 100644 new mode 100755 index 8d356e677..53a0cc736 --- a/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/ReaderMode.js +++ b/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/ReaderMode.js @@ -3,7 +3,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -(function() { "use strict"; const DEBUG = false; @@ -11,9 +10,9 @@ const DEBUG = false; var readabilityResult = null; var currentStyle = null; -var readerModeURL = /^http:\/\/localhost:\d+\/reader-mode\/page/; +const readerModeURL = /^http:\/\/localhost:\d+\/reader-mode\/page/; -var BLOCK_IMAGES_SELECTOR = +const BLOCK_IMAGES_SELECTOR = ".content p > img:only-child, " + ".content p > a:only-child > img:only-child, " + ".content .wp-caption img, " + @@ -27,46 +26,49 @@ function debug(s) { } function checkReadability() { - if (document.location.href.match(readerModeURL)) { - debug({Type: "ReaderModeStateChange", Value: "Active"}); - webkit.messageHandlers.readerModeMessageHandler.postMessage({Type: "ReaderModeStateChange", Value: "Active"}); - return; - } - - if ((document.location.protocol === "http:" || document.location.protocol === "https:") && document.location.pathname !== "/") { - // Short circuit in case we already ran Readability. This mostly happens when going - // back/forward: the page will be cached and the result will still be there. - if (readabilityResult && readabilityResult.content) { - debug({Type: "ReaderModeStateChange", Value: "Available"}); - webkit.messageHandlers.readerModeMessageHandler.postMessage({Type: "ReaderModeStateChange", Value: "Available"}); + setTimeout(function() { + if (document.location.href.match(readerModeURL)) { + debug({Type: "ReaderModeStateChange", Value: "Active"}); + webkit.messageHandlers.readerModeMessageHandler.postMessage({Type: "ReaderModeStateChange", Value: "Active"}); return; } - var Readability = require("readability/Readability.js"); + if ((document.location.protocol === "http:" || document.location.protocol === "https:") && document.location.pathname !== "/") { + // Short circuit in case we already ran Readability. This mostly happens when going + // back/forward: the page will be cached and the result will still be there. + if (readabilityResult && readabilityResult.content) { + debug({Type: "ReaderModeStateChange", Value: "Available"}); + webkit.messageHandlers.readerModeMessageHandler.postMessage({Type: "ReaderModeStateChange", Value: "Available"}); + webkit.messageHandlers.readerModeMessageHandler.postMessage({Type: "ReaderContentParsed", Value: readabilityResult}); + return; + } - var uri = { - spec: document.location.href, - host: document.location.host, - prePath: document.location.protocol + "//" + document.location.host, // TODO This is incomplete, needs username/password and port - scheme: document.location.protocol.substr(0, document.location.protocol.indexOf(":")), - pathBase: document.location.protocol + "//" + document.location.host + location.pathname.substr(0, location.pathname.lastIndexOf("/") + 1) - } + var Readability = require("readability/Readability.js"); - // document.cloneNode() can cause the webview to break (bug 1128774). - // Serialize and then parse the document instead. - var docStr = new XMLSerializer().serializeToString(document); - var doc = new DOMParser().parseFromString(docStr, "text/html"); - var readability = new Readability(uri, doc); - readabilityResult = readability.parse(); + var uri = { + spec: document.location.href, + host: document.location.host, + prePath: document.location.protocol + "//" + document.location.host, // TODO This is incomplete, needs username/password and port + scheme: document.location.protocol.substr(0, document.location.protocol.indexOf(":")), + pathBase: document.location.protocol + "//" + document.location.host + location.pathname.substr(0, location.pathname.lastIndexOf("/") + 1) + } - debug({Type: "ReaderModeStateChange", Value: readabilityResult !== null ? "Available" : "Unavailable"}); - webkit.messageHandlers.readerModeMessageHandler.postMessage({Type: "ReaderModeStateChange", Value: readabilityResult !== null ? "Available" : "Unavailable"}); + // document.cloneNode() can cause the webview to break (bug 1128774). + // Serialize and then parse the document instead. + var docStr = new XMLSerializer().serializeToString(document); + var doc = new DOMParser().parseFromString(docStr, "text/html"); + var readability = new Readability(uri, doc, { debug: DEBUG }); + readabilityResult = readability.parse(); - return; - } + debug({Type: "ReaderModeStateChange", Value: readabilityResult !== null ? "Available" : "Unavailable"}); + webkit.messageHandlers.readerModeMessageHandler.postMessage({Type: "ReaderModeStateChange", Value: readabilityResult !== null ? "Available" : "Unavailable"}); + webkit.messageHandlers.readerModeMessageHandler.postMessage({Type: "ReaderContentParsed", Value: readabilityResult}); + return; + } - debug({Type: "ReaderModeStateChange", Value: "Unavailable"}); - webkit.messageHandlers.readerModeMessageHandler.postMessage({Type: "ReaderModeStateChange", Value: "Unavailable"}); + debug({Type: "ReaderModeStateChange", Value: "Unavailable"}); + webkit.messageHandlers.readerModeMessageHandler.postMessage({Type: "ReaderModeStateChange", Value: "Unavailable"}); + }, 100); } // Readerize the document. Since we did the actual readerization already in checkReadability, we @@ -80,22 +82,28 @@ function readerize() { function setStyle(style) { // Configure the theme (light, dark) - if (currentStyle != null) { + if (currentStyle && currentStyle.theme) { document.body.classList.remove(currentStyle.theme); } - document.body.classList.add(style.theme); + if (style && style.theme) { + document.body.classList.add(style.theme); + } // Configure the font size (1-5) - if (currentStyle != null) { + if (currentStyle && currentStyle.fontSize) { document.body.classList.remove("font-size" + currentStyle.fontSize); } - document.body.classList.add("font-size" + style.fontSize); + if (style && style.fontSize) { + document.body.classList.add("font-size" + style.fontSize); + } // Configure the font type - if (currentStyle != null) { + if (currentStyle && currentStyle.fontType) { document.body.classList.remove(currentStyle.fontType); } - document.body.classList.add(style.fontType); + if (style && style.fontType) { + document.body.classList.add(style.fontType); + } // Remember the style currentStyle = style; @@ -103,6 +111,9 @@ function setStyle(style) { function updateImageMargins() { var contentElement = document.getElementById("reader-content"); + if (!contentElement) { + return; + } var windowWidth = window.innerWidth; var contentWidth = contentElement.offsetWidth; @@ -151,11 +162,17 @@ function updateImageMargins() { function showContent() { // Make the reader visible var messageElement = document.getElementById("reader-message"); - messageElement.style.display = "none"; + if (messageElement) { + messageElement.style.display = "none"; + } var headerElement = document.getElementById("reader-header"); - headerElement.style.display = "block" + if (headerElement) { + headerElement.style.display = "block" + } var contentElement = document.getElementById("reader-content"); - contentElement.style.display = "block"; + if (contentElement) { + contentElement.style.display = "block"; + } } function configureReader() { @@ -194,5 +211,3 @@ window.addEventListener("pageshow", function(event) { webkit.messageHandlers.readerModeMessageHandler.postMessage({Type: "ReaderPageEvent", Value: "PageShow"}); } }); - -})(); diff --git a/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/TrackingProtectionStats.js b/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/TrackingProtectionStats.js new file mode 100755 index 000000000..ebc26cc3b --- /dev/null +++ b/Client/Frontend/UserContent/UserScripts/MainFrame/AtDocumentStart/TrackingProtectionStats.js @@ -0,0 +1,166 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +"use strict"; + +if (webkit.messageHandlers.trackingProtectionStats) { + install(); +} + +function install() { + Object.defineProperty(window.__firefox__, "TrackingProtectionStats", { + enumerable: false, + configurable: false, + writable: false, + value: { enabled: false } + }); + + Object.defineProperty(window.__firefox__.TrackingProtectionStats, "setEnabled", { + enumerable: false, + configurable: false, + writable: false, + value: function(enabled, securityToken) { + if (securityToken !== SECURITY_TOKEN) { + return; + } + + if (enabled === window.__firefox__.TrackingProtectionStats.enabled) { + return; + } + + window.__firefox__.TrackingProtectionStats.enabled = enabled; + + injectStatsTracking(enabled); + } + }) + + function sendMessage(url) { + if (url) { + webkit.messageHandlers.trackingProtectionStats.postMessage({ url: url }); + } + } + + function onLoadNativeCallback() { + // Send back the sources of every script and image in the DOM back to the host application. + [].slice.apply(document.scripts).forEach(function(el) { sendMessage(el.src); }); + [].slice.apply(document.images).forEach(function(el) { + // If the image's natural width is zero, then it has not loaded so we + // can assume that it may have been blocked. + if (el.naturalWidth === 0) { + sendMessage(el.src); + } + }); + } + + let originalOpen = null; + let originalSend = null; + let originalImageSrc = null; + let mutationObserver = null; + + function injectStatsTracking(enabled) { + // This enable/disable section is a change from the original Focus iOS version. + if (enabled) { + if (originalOpen) { + return; + } + window.addEventListener("load", onLoadNativeCallback, false); + } else { + window.removeEventListener("load", onLoadNativeCallback, false); + + if (originalOpen) { // if one is set, then all the enable code has run + XMLHttpRequest.prototype.open = originalOpen; + XMLHttpRequest.prototype.send = originalSend; + Image.prototype.src = originalImageSrc; + mutationObserver.disconnect(); + + originalOpen = originalSend = originalImageSrc = mutationObserver = null; + } + return; + } + + // ------------------------------------------------- + // Send ajax requests URLs to the host application + // ------------------------------------------------- + var xhrProto = XMLHttpRequest.prototype; + if (!originalOpen) { + originalOpen = xhrProto.open; + originalSend = xhrProto.send; + } + + xhrProto.open = function(method, url) { + this._url = url; + return originalOpen.apply(this, arguments); + }; + + xhrProto.send = function(body) { + // Only attach the `error` event listener once for this + // `XMLHttpRequest` instance. + if (!this._tpErrorHandler) { + // If this `XMLHttpRequest` instance fails to load, we + // can assume it has been blocked. + this._tpErrorHandler = function() { + sendMessage(this._url); + }; + this.addEventListener("error", this._tpErrorHandler); + } + return originalSend.apply(this, arguments); + }; + + // ------------------------------------------------- + // Detect when new sources get set on Image and send them to the host application + // ------------------------------------------------- + if (!originalImageSrc) { + originalImageSrc = Object.getOwnPropertyDescriptor(Image.prototype, "src"); + } + delete Image.prototype.src; + Object.defineProperty(Image.prototype, "src", { + get: function() { + return originalImageSrc.get.call(this); + }, + set: function(value) { + // Only attach the `error` event listener once for this + // Image instance. + if (!this._tpErrorHandler) { + // If this `Image` instance fails to load, we can assume + // it has been blocked. + this._tpErrorHandler = function() { + sendMessage(this.src); + }; + this.addEventListener("error", this._tpErrorHandler); + } + + originalImageSrc.set.call(this, value); + } + }); + + // ------------------------------------------------- + // Listen to when new TEST IMAGE BLOCKING @@ -528,7 +531,8 @@ class SimplePageServer { // We use 127.0.0.1 explicitly here, rather than localhost, in order to avoid our // history exclusion code (Bug 1188626). - let webRoot = "http://127.0.0.1:\(webServer.port)" + + let webRoot = "http://\(useLocalhostInsteadOfIP ? "localhost" : "127.0.0.1"):\(webServer.port)" return webRoot } } diff --git a/UITests/HistoryTests.swift b/UITests/HistoryTests.swift old mode 100644 new mode 100755 diff --git a/UITests/Info.plist b/UITests/Info.plist old mode 100644 new mode 100755 index 6532c875c..98a71153b --- a/UITests/Info.plist +++ b/UITests/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 10.4 + 11.1 CFBundleSignature ???? CFBundleVersion diff --git a/UITests/JSPrompt.html b/UITests/JSPrompt.html old mode 100644 new mode 100755 diff --git a/UITests/KIFHelper.js b/UITests/KIFHelper.js old mode 100644 new mode 100755 diff --git a/UITests/LoginInputTests.swift b/UITests/LoginInputTests.swift old mode 100644 new mode 100755 diff --git a/UITests/LoginManagerTests.swift b/UITests/LoginManagerTests.swift old mode 100644 new mode 100755 index d0eafa176..9217cc3eb --- a/UITests/LoginManagerTests.swift +++ b/UITests/LoginManagerTests.swift @@ -31,7 +31,7 @@ class LoginManagerTests: KIFTestCase { // Wait until the dialog shows up let menuAppeared = GREYCondition(name: "Wait the Settings dialog to appear", block: { () -> Bool in var errorOrNil: NSError? - EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("Logins")).assert(grey_notNil(), error: &errorOrNil) + EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("Search")).assert(grey_notNil(), error: &errorOrNil) let success = errorOrNil == nil return success }) @@ -50,6 +50,12 @@ class LoginManagerTests: KIFTestCase { let success = menuAppeared?.wait(withTimeout: 20) GREYAssertTrue(success!, reason: "Failed to display settings dialog") + if BrowserUtils.iPad() { + EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("Logins")) + .using(searchAction: grey_scrollInDirection(.down, 200), + onElementWithMatcher: grey_accessibilityID("AppSettingsTableViewController.tableView")) + .assert(grey_notNil()) + } EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("Logins")).perform(grey_tap()) } @@ -281,6 +287,13 @@ class LoginManagerTests: KIFTestCase { } else { EarlGrey.select(elementWithMatcher: grey_text("Settings")).perform(grey_tap()) } + + if BrowserUtils.iPad() { + EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("Logins")) + .using(searchAction: grey_scrollInDirection(.down, 200), + onElementWithMatcher: grey_accessibilityID("AppSettingsTableViewController.tableView")) + .assert(grey_notNil()) + } EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("Logins")).perform(grey_tap()) tester().waitForView(withAccessibilityLabel: "a0@email.com, http://a0.com") diff --git a/UITests/MenuTests.swift b/UITests/MenuTests.swift old mode 100644 new mode 100755 diff --git a/UITests/NavigationDelegateTests.swift b/UITests/NavigationDelegateTests.swift old mode 100644 new mode 100755 diff --git a/UITests/NoImageModeTests.swift b/UITests/NoImageModeTests.swift old mode 100644 new mode 100755 index bf1a17893..c0fddfce9 --- a/UITests/NoImageModeTests.swift +++ b/UITests/NoImageModeTests.swift @@ -24,7 +24,7 @@ class NoImageModeTests: KIFTestCase { private func checkHiding(isOn: Bool) { let url = "\(webRoot!)/hide-images-test.html" - TrackingProtectionTests.checkIfImageLoaded(url: url, shouldBlockImage: isOn) + checkIfImageLoaded(url: url, shouldBlockImage: isOn) BrowserUtils.resetToAboutHome() } @@ -35,16 +35,16 @@ class NoImageModeTests: KIFTestCase { EarlGrey.select(elementWithMatcher: grey_allOf([grey_accessibilityID("menu-NoImageMode"), grey_accessibilityLabel("Hide Images")])) .perform(grey_tap()) - EarlGrey.select(elementWithMatcher: GREYMatchers.matcher(forText:"Hide Images")).assert(grey_enabled()) + //Need to tap out of the browser tab menu to dismiss it (there is close button in iphone but not ipad) + EarlGrey.select(elementWithMatcher: grey_accessibilityID("url")).perform(grey_tap()) checkHiding(isOn: true) EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("Menu")).perform(grey_tap()) EarlGrey.select(elementWithMatcher: grey_allOf([grey_accessibilityID("menu-NoImageMode"), - grey_accessibilityLabel("Show Images")])) + grey_accessibilityLabel("Hide Images")])) .perform(grey_tap()) - EarlGrey.select(elementWithMatcher: GREYMatchers.matcher(forText:"Show Images")).assert(grey_enabled()) + EarlGrey.select(elementWithMatcher: grey_accessibilityID("url")).perform(grey_tap()) } - } diff --git a/UITests/ReadingListTest.swift b/UITests/ReadingListTest.swift old mode 100644 new mode 100755 diff --git a/UITests/SecurityTests.swift b/UITests/SecurityTests.swift old mode 100644 new mode 100755 diff --git a/UITests/SessionRestoreTests.swift b/UITests/SessionRestoreTests.swift old mode 100644 new mode 100755 diff --git a/UITests/ToolbarTests.swift b/UITests/ToolbarTests.swift old mode 100644 new mode 100755 diff --git a/UITests/TrackingProtectionTests.swift b/UITests/TrackingProtectionTests.swift old mode 100644 new mode 100755 index 21b843582..4cc4ffa89 --- a/UITests/TrackingProtectionTests.swift +++ b/UITests/TrackingProtectionTests.swift @@ -7,68 +7,117 @@ import Storage import EarlGrey @testable import Client -class TrackingProtectionTests: KIFTestCase { +func checkIfImageLoaded(url: String, shouldBlockImage: Bool) { + EarlGrey.select(elementWithMatcher: grey_accessibilityID("url")).perform(grey_tap()) + EarlGrey.select(elementWithMatcher: grey_accessibilityID("address")).perform(grey_replaceText(url)) + EarlGrey.select(elementWithMatcher: grey_accessibilityID("address")).perform(grey_typeText("\n")) + + let dialogAppeared = GREYCondition(name: "Wait for JS dialog") { + var errorOrNil: NSError? + EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("OK")) + .inRoot(grey_kindOfClass(NSClassFromString("_UIAlertControllerActionView")!)) + .assert(grey_notNil(), error: &errorOrNil) + let success = errorOrNil == nil + return success + } + let success = dialogAppeared?.wait(withTimeout: 10) + GREYAssertTrue(success!, reason: "Failed to display JS dialog") + + if shouldBlockImage { + EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("image not loaded.")) + .assert(grey_notNil()) + } else { + EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("image loaded.")) + .assert(grey_notNil()) + } + + EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("OK")) + .inRoot(grey_kindOfClass(NSClassFromString("_UIAlertControllerActionView")!)) + .assert(grey_enabled()) + .perform((grey_tap())) +} + +@available(iOS 11.0, *) +class TrackingProtectionTests: KIFTestCase, TabEventHandler { private var webRoot: String! - + private var tabObservers: TabObservers! + var stats = TPPageStats() + var statsIncrement: XCTestExpectation? + var statsZero: XCTestExpectation? + override func setUp() { super.setUp() + + self.tabObservers = registerFor(.didChangeContentBlocking, queue: .main) + + // IP addresses can't be used for whitelisted domains + SimplePageServer.useLocalhostInsteadOfIP = true webRoot = SimplePageServer.start() BrowserUtils.configEarlGrey() BrowserUtils.dismissFirstRunUI() - } - - override func tearDown() { - super.tearDown() - BrowserUtils.resetToAboutHome() - BrowserUtils.clearPrivateData() + + // Check TP is ready manually as NSPredicate-based expectation on a primitive type doesn't work. + let setup = self.expectation(description: "setup") + func checkIsSetup() { + DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { + if ContentBlockerHelper.heavyInitHasRunOnce { + setup.fulfill() + return + } + checkIsSetup() + } + } + checkIsSetup() + wait(for: [setup], timeout: 5) + + let clear = self.expectation(description: "clearing") + ContentBlockerHelper.clearWhitelist() { clear.fulfill() } + waitForExpectations(timeout: 2, handler: nil) } - private func checkTrackingProtection(isBlocking: Bool) { - let url = "\(webRoot!)/tracking-protection-test.html" - TrackingProtectionTests.checkIfImageLoaded(url: url, shouldBlockImage: isBlocking) + func tabDidChangeContentBlockerStatus(_ tab: Tab) { + stats = (tab.contentBlocker as! ContentBlockerHelper).stats + + if (stats.total == 0) { + statsZero?.fulfill() + } else { + statsIncrement?.fulfill() + } } - public static func checkIfImageLoaded(url: String, shouldBlockImage: Bool) { - EarlGrey.select(elementWithMatcher: grey_accessibilityID("url")).perform(grey_tap()) - EarlGrey.select(elementWithMatcher: grey_accessibilityID("address")).perform(grey_replaceText(url)) - EarlGrey.select(elementWithMatcher: grey_accessibilityID("address")).perform(grey_typeText("\n")) - - let dialogAppeared = GREYCondition(name: "Wait for JS dialog") { - var errorOrNil: NSError? - EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("OK")) - .inRoot(grey_kindOfClass(NSClassFromString("_UIAlertControllerActionView")!)) - .assert(grey_notNil(), error: &errorOrNil) - let success = errorOrNil == nil - return success + private func checkTrackingProtection(isBlocking: Bool, isTPDisabled: Bool = false) { + if !isTPDisabled { + if isBlocking { + statsIncrement = expectation(description: "stats increment") + } else { + statsZero = expectation(description: "stats zero") + } } - let success = dialogAppeared?.wait(withTimeout: 10) - GREYAssertTrue(success!, reason: "Failed to display JS dialog") - - if shouldBlockImage { - EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("image not loaded.")) - .assert(grey_notNil()) - } else { - EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("image loaded.")) - .assert(grey_notNil()) + + let url = "\(webRoot!)/tracking-protection-test.html" + checkIfImageLoaded(url: url, shouldBlockImage: isBlocking) + + if !isTPDisabled { + waitForExpectations(timeout: 2, handler: nil) } - - EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("OK")) - .inRoot(grey_kindOfClass(NSClassFromString("_UIAlertControllerActionView")!)) - .assert(grey_enabled()) - .perform((grey_tap())) + + statsIncrement = nil + statsZero = nil } func openTPSetting() { // Check tracking protection is enabled on private tabs only in Settings let menuAppeared = GREYCondition(name: "Wait for the Settings dialog to appear") { var errorOrNil: NSError? - EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("Logins")).assert(grey_notNil(), error: &errorOrNil) + EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("Search")).assert(grey_notNil(), error: &errorOrNil) let success = errorOrNil == nil return success } + EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("Menu")).perform(grey_tap()) EarlGrey.select(elementWithMatcher: grey_text("Settings")).perform(grey_tap()) + let success = menuAppeared?.wait(withTimeout: 20) GREYAssertTrue(success!, reason: "Failed to display settings dialog") @@ -87,9 +136,8 @@ class TrackingProtectionTests: KIFTestCase { } func testNormalTrackingProtection() { - openTPSetting() - EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("Private Browsing Mode Only")).perform(grey_tap()) + EarlGrey.select(elementWithMatcher: grey_accessibilityID("prefkey.trackingprotection.normalbrowsing")).perform(grey_turnSwitchOn(false)) closeTPSetting() if BrowserUtils.iPad() { @@ -102,20 +150,52 @@ class TrackingProtectionTests: KIFTestCase { EarlGrey.select(elementWithMatcher:grey_accessibilityID("TabTrayController.addTabButton")) .perform(grey_tap()) - checkTrackingProtection(isBlocking: false) + checkTrackingProtection(isBlocking: false, isTPDisabled: true) openTPSetting() - EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("Always On")).perform(grey_tap()) + EarlGrey.select(elementWithMatcher: grey_accessibilityID("prefkey.trackingprotection.normalbrowsing")).perform(grey_turnSwitchOn(true)) closeTPSetting() // Now with the TP enabled, the image should be blocked checkTrackingProtection(isBlocking: true) openTPSetting() - EarlGrey.select(elementWithMatcher: grey_accessibilityLabel("Private Browsing Mode Only")).perform(grey_tap()) + EarlGrey.select(elementWithMatcher: grey_accessibilityID("prefkey.trackingprotection.normalbrowsing")).perform(grey_turnSwitchOn(false)) closeTPSetting() } + + func testWhitelist() { + let url = URL(string: "http://localhost")! + + let clear = self.expectation(description: "clearing") + ContentBlockerHelper.clearWhitelist() { clear.fulfill() } + waitForExpectations(timeout: 10, handler: nil) + checkTrackingProtection(isBlocking: true) + + let expWhitelist = self.expectation(description: "whitelisted") + ContentBlockerHelper.whitelist(enable: true, url: url) { expWhitelist.fulfill() } + waitForExpectations(timeout: 10, handler: nil) + // The image from ymail.com would normally be blocked, but in this case it is whitelisted + checkTrackingProtection(isBlocking: false) + + let expRemove = self.expectation(description: "whitelist removed") + ContentBlockerHelper.whitelist(enable: false, url: url) { expRemove.fulfill() } + waitForExpectations(timeout: 10, handler: nil) + checkTrackingProtection(isBlocking: true) + + let expWhitelistAgain = self.expectation(description: "whitelisted") + ContentBlockerHelper.whitelist(enable: true, url: url) { expWhitelistAgain.fulfill() } + waitForExpectations(timeout: 10, handler: nil) + // The image from ymail.com would normally be blocked, but in this case it is whitelisted + checkTrackingProtection(isBlocking: false) + + let clear1 = self.expectation(description: "clearing") + ContentBlockerHelper.clearWhitelist() { clear1.fulfill() } + waitForExpectations(timeout: 10, handler: nil) + checkTrackingProtection(isBlocking: true) + } func testPrivateTabPageTrackingProtection() { + if BrowserUtils.iPad() { EarlGrey.select(elementWithMatcher: grey_accessibilityID("TopTabsViewController.tabsButton")) diff --git a/UITests/UITests-Bridging-Header.h b/UITests/UITests-Bridging-Header.h old mode 100644 new mode 100755 diff --git a/UITests/ViewMemoryLeakTests.swift b/UITests/ViewMemoryLeakTests.swift old mode 100644 new mode 100755 diff --git a/UITests/findPage.html b/UITests/findPage.html old mode 100644 new mode 100755 diff --git a/UITests/localhostLoad.html b/UITests/localhostLoad.html old mode 100644 new mode 100755 diff --git a/UITests/loginForm.html b/UITests/loginForm.html old mode 100644 new mode 100755 diff --git a/UITests/navigationDelegate.html b/UITests/navigationDelegate.html old mode 100644 new mode 100755 diff --git a/UITests/noTitle.html b/UITests/noTitle.html old mode 100644 new mode 100755 diff --git a/UITests/numberedPage.html b/UITests/numberedPage.html old mode 100644 new mode 100755 diff --git a/UITests/readablePage.html b/UITests/readablePage.html old mode 100644 new mode 100755 diff --git a/UITests/readerContent.html b/UITests/readerContent.html old mode 100644 new mode 100755 diff --git a/UITests/scrollablePage.html b/UITests/scrollablePage.html old mode 100644 new mode 100755 diff --git a/UITests/youtube.ico b/UITests/youtube.ico old mode 100644 new mode 100755 diff --git a/XCUITests/ActivityStreamTest.swift b/XCUITests/ActivityStreamTest.swift old mode 100644 new mode 100755 index 876c7f91b..68d1d0ffb --- a/XCUITests/ActivityStreamTest.swift +++ b/XCUITests/ActivityStreamTest.swift @@ -105,8 +105,7 @@ class ActivityStreamTest: BaseTestCase { func testTopSitesRemoveAllExceptPinnedClearPrivateData() { navigator.goto(BrowserTab) - navigator.browserPerformAction(.pinToTopSitesOption) - navigator.nowAt(BrowserTab) + navigator.performAction(Action.PinToTopSitesPAM) navigator.goto(HomePanelsScreen) waitforExistence(app.collectionViews.cells[newTopSite["topSiteLabel"]!]) XCTAssertTrue(app.collectionViews.cells[newTopSite["topSiteLabel"]!].exists) diff --git a/XCUITests/AuthenticationTest.swift b/XCUITests/AuthenticationTest.swift old mode 100644 new mode 100755 diff --git a/XCUITests/BaseTestCase.swift b/XCUITests/BaseTestCase.swift old mode 100644 new mode 100755 index 02cc608c0..88fb050e5 --- a/XCUITests/BaseTestCase.swift +++ b/XCUITests/BaseTestCase.swift @@ -71,7 +71,7 @@ class BaseTestCase: XCTestCase { let app = XCUIApplication() UIPasteboard.general.string = url app.textFields["url"].press(forDuration: 2.0) - app.sheets.element(boundBy: 0).buttons.element(boundBy: 0).tap() + app.tables["Context Menu"].cells["menu-PasteAndGo"].firstMatch.tap() if waitForLoadToFinish { let finishLoadingTimeout: TimeInterval = 30 diff --git a/XCUITests/BookmarkingTests.swift b/XCUITests/BookmarkingTests.swift old mode 100644 new mode 100755 diff --git a/XCUITests/BrowsingPDFTests.swift b/XCUITests/BrowsingPDFTests.swift old mode 100644 new mode 100755 index be6c1a083..b0e4c6f87 --- a/XCUITests/BrowsingPDFTests.swift +++ b/XCUITests/BrowsingPDFTests.swift @@ -7,7 +7,7 @@ import XCTest let PDF_website = ["url": "http://www.pdf995.com/samples/pdf.pdf", "pdfValue": "www.pdf995.com/samples", "urlValue": "www.pdf995.com/", "bookmarkLabel": "http://www.pdf995.com/samples/pdf.pdf", "longUrlValue": "http://www.pdf995.com/"] class BrowsingPDFTests: BaseTestCase { - func testOpenPDFViwer() { + func testOpenPDFViewer() { navigator.openURL(PDF_website["url"]!) waitUntilPageLoad() waitForValueContains(app.textFields["url"], value: PDF_website["pdfValue"]!) @@ -16,8 +16,15 @@ class BrowsingPDFTests: BaseTestCase { let element = app/*@START_MENU_TOKEN@*/.webViews/*[[".otherElements[\"Web content\"].webViews",".otherElements[\"contentView\"].webViews",".webViews"],[[[-1,2],[-1,1],[-1,0]]],[0]]@END_MENU_TOKEN@*/.children(matching: .other).element.children(matching: .other).element(boundBy: 0) element.swipeUp() waitforExistence(app.staticTexts["2 of 5"]) - element.swipeDown() + + var i = 0 + repeat { + element.swipeDown() + i = i+1 + } while (app.staticTexts["1 of 5"].exists == false && i < 10) + waitforExistence(app.staticTexts["1 of 5"]) + XCTAssertTrue(app.staticTexts["1 of 5"].exists) } func testOpenLinkFromPDF() { @@ -84,8 +91,7 @@ class BrowsingPDFTests: BaseTestCase { func testPinPDFtoTopSites() { navigator.openURL(PDF_website["url"]!) waitUntilPageLoad() - navigator.browserPerformAction(.pinToTopSitesOption) - navigator.nowAt(BrowserTab) + navigator.performAction(Action.PinToTopSitesPAM) navigator.goto(NewTabScreen) waitforExistence(app.collectionViews.cells["TopSitesCell"].cells["pdf995"]) XCTAssertTrue(app.collectionViews.cells["TopSitesCell"].cells["pdf995"].exists) diff --git a/XCUITests/ClipBoardTests.swift b/XCUITests/ClipBoardTests.swift old mode 100644 new mode 100755 diff --git a/XCUITests/CopiedLinksTests.swift b/XCUITests/CopiedLinksTests.swift old mode 100644 new mode 100755 diff --git a/XCUITests/DomainAutocompleteTest.swift b/XCUITests/DomainAutocompleteTest.swift old mode 100644 new mode 100755 index bd88fc6f2..69fa8a399 --- a/XCUITests/DomainAutocompleteTest.swift +++ b/XCUITests/DomainAutocompleteTest.swift @@ -158,4 +158,39 @@ class DomainAutocompleteTest: BaseTestCase { // No autocompletion, just what user typed XCTAssertEqual(value3 as? String, " moz ", "Wrong autocompletion") } + + func testDeletingCharsUpdateTheResults() { + let url1 = ["url" : "git.es", "label" : "git.es - Dominio premium en venta"] + let url2 = ["url" : "github.com", "label" : "The world’s leading software development platform · GitHub"] + + navigator.openURL(url1["url"]!) + waitUntilPageLoad() + navigator.openURL(url2["url"]!) + waitUntilPageLoad() + navigator.goto(URLBarOpen) + app.typeText("gith") + + waitforExistence(app.tables["SiteTable"].cells.staticTexts[url2["label"]!]) + // There should be only one matching entry + XCTAssertTrue(app.tables["SiteTable"].staticTexts[url2["label"]!].exists) + XCTAssertFalse(app.tables["SiteTable"].staticTexts[url1["label"]!].exists) + + // Remove 2 chars ("th") to have two coincidences with git + app.typeText("\u{0008}") + app.typeText("\u{0008}") + + XCTAssertTrue(app.tables["SiteTable"].staticTexts[url2["label"]!].exists) + XCTAssertTrue(app.tables["SiteTable"].staticTexts[url1["label"]!].exists) + + // Remove All chars so that there is not any matches + let charsAddressBar: String = (app.textFields["address"].value! as? String)! + + for _ in 1...charsAddressBar.count { + app.typeText("\u{0008}") + } + + waitforNoExistence(app.tables["SiteTable"].staticTexts[url2["label"]!]) + XCTAssertFalse(app.tables["SiteTable"].staticTexts[url2["label"]!].exists) + XCTAssertFalse(app.tables["SiteTable"].staticTexts[url1["label"]!].exists) + } } diff --git a/XCUITests/DragAndDropTests.swift b/XCUITests/DragAndDropTests.swift new file mode 100755 index 000000000..58e99dd59 --- /dev/null +++ b/XCUITests/DragAndDropTests.swift @@ -0,0 +1,119 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import XCTest + +let firstWebsite = ["url": "www.youtube.com", "tabName": "Home - YouTube"] +let secondWebsite = ["url": "www.twitter.com", "tabName": "Twitter"] +let homeTab = ["tabName": "home"] +let websiteWithSearchField = ["url": "https://developer.mozilla.org/en-US/search", "urlSearchField": "Search the docs"] + +class DragAndDropTests: BaseTestCase { + + override func tearDown() { + XCUIDevice.shared().orientation = UIDeviceOrientation.portrait + super.tearDown() + } + + private func openTwoWebsites() { + // Open two tabs + navigator.openURL(firstWebsite["url"]!) + navigator.goto(TabTray) + navigator.openURL(secondWebsite["url"]!) + waitUntilPageLoad() + } + + private func dragAndDrop(dragElement: XCUIElement, dropOnElement: XCUIElement) { + dragElement.press(forDuration: 2, thenDragTo: dropOnElement) + } + + private func checkTabsOrder(dragAndDropTab: Bool, firstTab: String, secondTab: String) { + let firstTabCell = app.collectionViews.cells.element(boundBy: 0).label + let secondTabCell = app.collectionViews.cells.element(boundBy: 1).label + + if (dragAndDropTab) { + XCTAssertEqual(firstTabCell, firstTab, "first tab after is not correct") + XCTAssertEqual(secondTabCell, secondTab, "second tab after is not correct") + } else { + XCTAssertEqual(firstTabCell, firstTab, "first tab before is not correct") + XCTAssertEqual(secondTabCell, secondTab, "second tab before is not correct") + } + } + + // This feature is working only on iPad so far and so tests enabled only on that schema + func testRearrangeTabs() { + openTwoWebsites() + checkTabsOrder(dragAndDropTab: false, firstTab: firstWebsite["tabName"]!, secondTab: secondWebsite["tabName"]!) + // Drag first tab on the second one + dragAndDrop(dragElement: app.collectionViews.cells[firstWebsite["tabName"]!], dropOnElement: app.collectionViews.cells[secondWebsite["tabName"]!]) + checkTabsOrder(dragAndDropTab: true, firstTab: secondWebsite["tabName"]!, secondTab: firstWebsite["tabName"]!) + // Check that focus is kept on last website open + XCTAssertEqual(app.textFields["url"].value! as? String, "mobile.twitter.com/", "The tab has not been dropped correctly") + } + + func testRearrangeTabsLandscape() { + // Set the device in landscape mode + XCUIDevice.shared().orientation = UIDeviceOrientation.landscapeLeft + openTwoWebsites() + checkTabsOrder(dragAndDropTab: false, firstTab: firstWebsite["tabName"]!, secondTab: secondWebsite["tabName"]!) + + // Rearrange the tabs via drag home tab and drop it on twitter tab + dragAndDrop(dragElement: app.collectionViews.cells[firstWebsite["tabName"]!], dropOnElement: app.collectionViews.cells[secondWebsite["tabName"]!]) + + checkTabsOrder(dragAndDropTab: true, firstTab: secondWebsite["tabName"]!, secondTab: firstWebsite["tabName"]!) + // Check that focus is kept on last website open + XCTAssertEqual(app.textFields["url"].value! as? String, "mobile.twitter.com/", "The tab has not been dropped correctly") + } + + func testDragDropToInvalidArea() { + openTwoWebsites() + checkTabsOrder(dragAndDropTab: false, firstTab: firstWebsite["tabName"]!, secondTab: secondWebsite["tabName"]!) + // Rearrange the tabs via drag home tab and drop it to the tabs button + dragAndDrop(dragElement: app.collectionViews.cells[firstWebsite["tabName"]!], dropOnElement: app.buttons["TopTabsViewController.tabsButton"]) + + // Check that the order of the tabs have not changed + checkTabsOrder(dragAndDropTab: false, firstTab: firstWebsite["tabName"]!, secondTab: secondWebsite["tabName"]!) + // Check that focus on the website does not change either + XCTAssertEqual(app.textFields["url"].value! as? String, "mobile.twitter.com/", "The tab has not been dropped correctly") + } + + func testDragAndDropHomeTab() { + // Home tab is open and then a new website + navigator.openNewURL(urlString: secondWebsite["url"]!) + waitUntilPageLoad() + waitforExistence(app.collectionViews.cells.element(boundBy: 1)) + checkTabsOrder(dragAndDropTab: false, firstTab: homeTab["tabName"]!, secondTab: secondWebsite["tabName"]!) + + // Drag and drop home tab from the second position to the first one + dragAndDrop(dragElement: app.collectionViews.cells["home"], dropOnElement: app.collectionViews.cells[secondWebsite["tabName"]!]) + + checkTabsOrder(dragAndDropTab: true, firstTab: secondWebsite["tabName"]! , secondTab: homeTab["tabName"]!) + // Check that focus is kept on last website open + XCTAssertEqual(app.textFields["url"].value! as? String, "mobile.twitter.com/", "The tab has not been dropped correctly") + } + + func testRearrangeTabsPrivateMode() { + navigator.toggleOn(userState.isPrivate, withAction: Action.TogglePrivateMode) + openTwoWebsites() + checkTabsOrder(dragAndDropTab: false, firstTab: firstWebsite["tabName"]!, secondTab: secondWebsite["tabName"]!) + // Drag first tab on the second one + dragAndDrop(dragElement: app.collectionViews.cells[firstWebsite["tabName"]!], dropOnElement: app.collectionViews.cells[secondWebsite["tabName"]!]) + + checkTabsOrder(dragAndDropTab: true, firstTab: secondWebsite["tabName"]!, secondTab: firstWebsite["tabName"]!) + // Check that focus is kept on last website open + XCTAssertEqual(app.textFields["url"].value! as? String, "mobile.twitter.com/", "The tab has not been dropped correctly") + } + + // This test drags the address bar and since it is not possible to drop it on another app, lets do it in a search box + func testDragAddressBarIntoSearchBox() { + navigator.openURL("developer.mozilla.org/en-US/search") + waitUntilPageLoad() + // Check the text in the search field before dragging and dropping the url text field + XCTAssertEqual(app.webViews.searchFields[websiteWithSearchField["urlSearchField"]!].placeholderValue, "Search the docs") + // DragAndDrop the url for only one second so that the TP menu is not shown and the search box is not covered + app.textFields["url"].press(forDuration: 1, thenDragTo: app.webViews.searchFields[websiteWithSearchField["urlSearchField"]!]) + // Verify that the text in the search field is the same as the text in the url text field + XCTAssertEqual(app.webViews.searchFields[websiteWithSearchField["urlSearchField"]!].value as? String, websiteWithSearchField["url"]!) + } +} diff --git a/XCUITests/FindInPageTest.swift b/XCUITests/FindInPageTest.swift old mode 100644 new mode 100755 diff --git a/XCUITests/FirstRunTourTests.swift b/XCUITests/FirstRunTourTests.swift new file mode 100755 index 000000000..f6c3692f3 --- /dev/null +++ b/XCUITests/FirstRunTourTests.swift @@ -0,0 +1,97 @@ +import XCTest + + +class FirstRunTourTests: BaseTestCase { + + override func setUp() { + app = XCUIApplication() + restart(app, args: [LaunchArguments.ClearProfile]) + navigator = createScreenGraph(for: self, with: app).navigator() + } + + func testFirstRunTour() { + // Complet the First run from first screen to the latest one + // Check that the first's tour screen is shown as well as all the elements in there + waitforExistence(app.scrollViews["IntroViewController.scrollView"]) + waitforExistence(app.staticTexts["Thanks for choosing Firefox!"]) + XCTAssertFalse(app.buttons["IntroViewController.startBrowsingButton"].exists) + XCTAssertTrue(app.images["tour-Welcome"].exists) + XCTAssertTrue(app.pageIndicators["IntroViewController.pageControl"].exists) + XCTAssertEqual(app.pageIndicators["IntroViewController.pageControl"].value as? String, "page 1 of 5") + + // Swipe to the second screen + app.scrollViews["IntroViewController.scrollView"].swipeLeft() + waitforExistence(app.staticTexts["Your search, your way"]) + XCTAssertTrue(app.buttons["IntroViewController.startBrowsingButton"].exists) + XCTAssertTrue(app.images["tour-Search"].exists) + XCTAssertEqual(app.pageIndicators["IntroViewController.pageControl"].value as? String, "page 2 of 5") + + // Swipe to the third screen + app.scrollViews["IntroViewController.scrollView"].swipeLeft() + waitforExistence(app.staticTexts["Browse like no one’s watching"]) + XCTAssertTrue(app.buttons["IntroViewController.startBrowsingButton"].exists) + XCTAssertTrue(app.images["tour-Private"].exists) + XCTAssertEqual(app.pageIndicators["IntroViewController.pageControl"].value as? String, "page 3 of 5") + + // Swipe to the fourth screen + app.scrollViews["IntroViewController.scrollView"].swipeLeft() + waitforExistence(app.staticTexts["You’ve got mail… options"]) + XCTAssertTrue(app.buttons["IntroViewController.startBrowsingButton"].exists) + XCTAssertTrue(app.images["tour-Mail"].exists) + XCTAssertEqual(app.pageIndicators["IntroViewController.pageControl"].value as? String, "page 4 of 5") + + // Swipe to the fifth screen + app.scrollViews["IntroViewController.scrollView"].swipeLeft() + waitforExistence(app.staticTexts["Pick up where you left off"]) + XCTAssertTrue(app.buttons["IntroViewController.startBrowsingButton"].exists) + XCTAssertTrue(app.images["tour-Sync"].exists) + XCTAssertTrue(app.buttons["Sign in to Firefox"].exists) + XCTAssertEqual(app.pageIndicators["IntroViewController.pageControl"].value as? String, "page 5 of 5") + } + + private func goToNextScreen(swipe: Int) { + for _ in 1...swipe { + app.scrollViews["IntroViewController.scrollView"].swipeLeft() + } + } + + private func tapStartBrowsingButton() { + waitforExistence(app.buttons["IntroViewController.startBrowsingButton"]) + app.buttons["IntroViewController.startBrowsingButton"].tap() + // User starts in HomePanelScreen with the default Top Sites + let topSites = app.collectionViews.cells["TopSitesCell"] + waitforExistence(topSites) + } + + func testStartBrowsingFromSecondScreen() { + navigator.goto(FirstRun) + goToNextScreen(swipe: 1) + tapStartBrowsingButton() + } + + func testStartBrowsingFromThirdScreen() { + navigator.goto(FirstRun) + goToNextScreen(swipe:2) + tapStartBrowsingButton() + } + + func testStartBrowsingFromFourthScreen() { + navigator.goto(FirstRun) + goToNextScreen(swipe:3) + tapStartBrowsingButton() + } + + func testStartBrowsingFromFifthScreen() { + navigator.goto(FirstRun) + goToNextScreen(swipe:4) + tapStartBrowsingButton() + } + + func testShowTourFromSettings() { + goToNextScreen(swipe: 1) + tapStartBrowsingButton() + navigator.goto(ShowTourInSettings) + waitforExistence(app.scrollViews["IntroViewController.scrollView"]) + waitforExistence(app.staticTexts["Thanks for choosing Firefox!"]) + } +} diff --git a/XCUITests/FxScreenGraph.swift b/XCUITests/FxScreenGraph.swift old mode 100644 new mode 100755 index 2c4bdf1c3..d52054538 --- a/XCUITests/FxScreenGraph.swift +++ b/XCUITests/FxScreenGraph.swift @@ -18,9 +18,12 @@ let BrowserTab = "BrowserTab" let PrivateBrowserTab = "PrivateBrowserTab" let BrowserTabMenu = "BrowserTabMenu" let PageOptionsMenu = "PageOptionsMenu" +let ToolsMenu = "ToolsMenu" let FindInPage = "FindInPage" let SettingsScreen = "SettingsScreen" let SyncSettings = "SyncSettings" +let FxASigninScreen = "FxASigninScreen" +let FxCreateAccount = "FxCreateAccount" let HomePageSettings = "HomePageSettings" let PasscodeSettings = "PasscodeSettings" let PasscodeIntervalSettings = "PasscodeIntervalSettings" @@ -41,6 +44,8 @@ let DisablePasscodeSettings = "DisablePasscodeSettings" let ChangePasscodeSettings = "ChangePasscodeSettings" let LockedLoginsSettings = "LockedLoginsSettings" let TabTrayLongPressMenu = "TabTrayLongPressMenu" +let HistoryRecentlyClosed = "HistoryRecentlyClosed" +let TrackingProtectionContextMenuDetails = "TrackingProtectionContextMenuDetails" // These are in the exact order they appear in the settings // screen. XCUIApplication loses them on small screens. @@ -104,6 +109,10 @@ class Action { static let SetURLByTyping = "SetURLByTyping" static let SetURLByPasting = "SetURLByPasting" + static let TrackingProtectionContextMenu = "TrackingProtectionContextMenu" + static let EnableTrackingProtectionperSite = "EnableTrackingProtectionperSite" + static let DisableTrackingProtectionperSite = "DisableTrackingProtectionperSite" + static let ReloadURL = "ReloadURL" static let OpenNewTabFromTabTray = "OpenNewTabFromTabTray" @@ -115,6 +124,7 @@ class Action { static let ToggleRequestDesktopSite = "ToggleRequestDesktopSite" static let ToggleNightMode = "ToggleNightMode" + static let ToggleTrackingProtection = "ToggleTrackingProtection" static let ToggleNoImageMode = "ToggleNoImageMode" static let Bookmark = "Bookmark" @@ -144,13 +154,20 @@ class Action { static let AcceptClearPrivateData = "AcceptClearPrivateData" static let ToggleTrackingProtectionPerTabEnabled = "ToggleTrackingProtectionPerTabEnabled" - static let ToggleTrackingProtectionSettingAlwaysOn = "ToggleTrackingProtectionSettingAlwaysOn" - static let ToggleTrackingProtectionSettingPrivateOnly = "ToggleTrackingProtectionSettingPrivateOnly" - static let ToggleTrackingProtectionSettingOff = "ToggleTrackingProtectionSettingOff" + static let ToggleTrackingProtectionSettingOnNormalMode = "ToggleTrackingProtectionSettingAlwaysOn" + static let ToggleTrackingProtectionSettingOnPrivateMode = "ToggleTrackingProtectionSettingPrivateOnly" + + static let ToggleShowToolbarWhenScrolling = "ToggleShowToolbarWhenScrolling" static let CloseTab = "CloseTab" static let CloseTabFromPageOptions = "CloseTabFromPageOptions" static let CloseTabFromTabTrayLongPressMenu = "CloseTabFromTabTrayLongPressMenu" + + static let FxATypeEmail = "FxATypeEmail" + static let FxATypePassword = "FxATypePassword" + static let FxATapOnSignInButton = "FxATapOnSignInButton" + + static let PinToTopSitesPAM = "PinToTopSitesPAM" } private var isTablet: Bool { @@ -160,9 +177,6 @@ private var isTablet: Bool { return UIDevice.current.userInterfaceIdiom == .pad } -// Matches the available options in app settings for enabling Tracking Protection -enum TrackingProtectionSetting : Int { case alwaysOn; case privateOnly; case off } - class FxUserState: MMUserState { required init() { super.init() @@ -193,9 +207,8 @@ class FxUserState: MMUserState { var numTabs: Int = 0 var trackingProtectionPerTabEnabled = true // TP can be shut off on a per-tab basis - var trackingProtectionSetting = TrackingProtectionSetting.privateOnly.rawValue // NSPredicate doesn't work with enum - // Construct an NSPredicate with this condition to use it. - static let trackingProtectionIsOnCondition = "trackingProtectionSetting == \(TrackingProtectionSetting.alwaysOn.rawValue) || (trackingProtectionSetting == \(TrackingProtectionSetting.privateOnly.rawValue) && isPrivate == YES)" + var trackingProtectionSettingOnNormalMode = true + var trackingProtectionSettingOnPrivateMode = true } fileprivate let defaultURL = "https://www.mozilla.org/en-US/book/" @@ -210,9 +223,9 @@ func createScreenGraph(for test: XCTestCase, with app: XCUIApplication) -> MMScr let cancelBackAction = { if isTablet { // There is no Cancel option in iPad. - app/*@START_MENU_TOKEN@*/.otherElements["PopoverDismissRegion"]/*[[".otherElements[\"dismiss popup\"]",".otherElements[\"PopoverDismissRegion\"]"],[[[-1,1],[-1,0]]],[0]]@END_MENU_TOKEN@*/.tap() + app.otherElements["PopoverDismissRegion"].tap() } else { - app.buttons["PhotonMenu.cancel"].tap() + app.buttons["PhotonMenu.close"].tap() } } @@ -291,27 +304,59 @@ func createScreenGraph(for test: XCTestCase, with app: XCUIApplication) -> MMScr } map.addScreenState(URLBarLongPressMenu) { screenState in - let menu = app.sheets.element(boundBy: 0) + let menu = app.tables["Context Menu"].firstMatch screenState.onEnterWaitFor(element: menu) screenState.gesture(forAction: Action.LoadURLByPasting, Action.LoadURL) { userState in UIPasteboard.general.string = userState.url ?? defaultURL - menu.buttons.element(boundBy: 0).tap() + menu.cells["menu-PasteAndGo"].firstMatch.tap() } screenState.gesture(forAction: Action.SetURLByPasting) { userState in UIPasteboard.general.string = userState.url ?? defaultURL - menu.buttons.element(boundBy: 1).tap() + menu.cells["menu-Paste"].firstMatch.tap() } - screenState.backAction = { - let buttons = menu.buttons - buttons.element(boundBy: buttons.count - 1).tap() + // Different possition for iphone and ipad + screenState.gesture(forAction: Action.TrackingProtectionContextMenu, transitionTo: TrackingProtectionContextMenuDetails) { userState in + if isTablet { + app.tables["Context Menu"].cells.element(boundBy: 0).tap() + } else { + app.tables["Context Menu"].cells.element(boundBy: 3).tap() + } } + screenState.backAction = { + if isTablet { + // There is no Cancel option in iPad. + app.otherElements["PopoverDismissRegion"].tap() + } else { + app.buttons["PhotonMenu.close"].tap() + } + } screenState.dismissOnUse = true } + map.addScreenState(TrackingProtectionContextMenuDetails) { screenState in + screenState.gesture(forAction: Action.EnableTrackingProtectionperSite) { userState in + app.tables.cells["menu-TrackingProtection"].tap() + userState.trackingProtectionPerTabEnabled = !userState.trackingProtectionPerTabEnabled + } + screenState.gesture(forAction: Action.DisableTrackingProtectionperSite) { userState in + app.tables.cells["menu-TrackingProtection-Off"].tap() + userState.trackingProtectionPerTabEnabled = !userState.trackingProtectionPerTabEnabled + } + + screenState.backAction = { + if isTablet { + // There is no Cancel option in iPad. + app.otherElements["PopoverDismissRegion"].tap() + } else { + app.buttons["PhotonMenu.close"].tap() + } + } + } + // URLBarOpen is dismissOnUse, which ScreenGraph interprets as "now we've done this action, then go back to the one before it" // but SetURL is an action than keeps us in URLBarOpen. So let's put it here. map.addScreenAction(Action.SetURL, transitionTo: URLBarOpen) @@ -402,6 +447,7 @@ func createScreenGraph(for test: XCTestCase, with app: XCUIApplication) -> MMScr map.addScreenState(HomePanel_History) { screenState in screenState.press(app.tables["History List"].cells.element(boundBy: 2), to: HistoryPanelContextMenu) + screenState.tap(app.cells["HistoryPanel.recentlyClosedCell"], to: HistoryRecentlyClosed) screenState.noop(to: HomePanelsScreen) } @@ -409,6 +455,11 @@ func createScreenGraph(for test: XCTestCase, with app: XCUIApplication) -> MMScr screenState.noop(to: HomePanelsScreen) } + map.addScreenState(HistoryRecentlyClosed) { screenState in + screenState.dismissOnUse = true + screenState.backAction = dismissContextMenuAction + } + map.addScreenState(HistoryPanelContextMenu) { screenState in screenState.dismissOnUse = true screenState.backAction = dismissContextMenuAction @@ -428,6 +479,7 @@ func createScreenGraph(for test: XCTestCase, with app: XCUIApplication) -> MMScr let table = app.tables.element(boundBy: 0) screenState.tap(table.cells["Sync"], to: SyncSettings, if: "fxaUsername != nil") + screenState.tap(table.cells["SignInToSync"], to: FxASigninScreen, if: "fxaUsername == nil") screenState.tap(table.cells["Search"], to: SearchSettings) screenState.tap(table.cells["NewTab"], to: NewTabSettings) screenState.tap(table.cells["Homepage"], to: HomePageSettings) @@ -439,6 +491,10 @@ func createScreenGraph(for test: XCTestCase, with app: XCUIApplication) -> MMScr screenState.tap(table.cells["TrackingProtection"], to: TrackingProtectionSettings) screenState.tap(table.cells["ShowTour"], to: ShowTourInSettings) + screenState.gesture(forAction: Action.ToggleShowToolbarWhenScrolling, if: "tablet == true") { UserState in + app.cells.switches["AlwaysShowToolbar"].tap() + app.buttons["Done"].tap() + } screenState.backAction = navigationControllerBackAction } @@ -452,6 +508,27 @@ func createScreenGraph(for test: XCTestCase, with app: XCUIApplication) -> MMScr screenState.backAction = navigationControllerBackAction } + map.addScreenState(FxASigninScreen) { screenState in + screenState.backAction = navigationControllerBackAction + + screenState.gesture(forAction: Action.FxATypeEmail) { userState in + app.webViews.textFields["Email"].tap() + type(text: userState.fxaUsername!) + } + screenState.gesture(forAction: Action.FxATypePassword) { userState in + app.webViews.secureTextFields["Password"].tap() + type(text: userState.fxaPassword!) + } + screenState.gesture(forAction: Action.FxATapOnSignInButton) { userState in + app.webViews.buttons["Sign in"].tap() + } + screenState.tap(app.webViews.links["Create an account"], to: FxCreateAccount) + } + + map.addScreenState(FxCreateAccount) { screenState in + screenState.backAction = navigationControllerBackAction + } + map.addScreenState(AddCustomSearchSettings) { screenState in screenState.backAction = navigationControllerBackAction } @@ -501,21 +578,21 @@ func createScreenGraph(for test: XCTestCase, with app: XCUIApplication) -> MMScr screenState.tap(table.cells["ChangePasscode"], to: ChangePasscodeSettings, if: "passcode != nil") } - func typePasscode(_ passCode: String) { - passCode.forEach { char in + func type(text: String) { + text.forEach { char in app.keys["\(char)"].tap() } } map.addScreenState(SetPasscodeScreen) { screenState in screenState.gesture(forAction: Action.SetPasscode, transitionTo: PasscodeSettings) { userState in - typePasscode(userState.newPasscode) - typePasscode(userState.newPasscode) + type(text: userState.newPasscode) + type(text: userState.newPasscode) userState.passcode = userState.newPasscode } screenState.gesture(forAction: Action.SetPasscodeTypeOnce) { userState in - typePasscode(userState.newPasscode) + type(text: userState.newPasscode) } screenState.backAction = navigationControllerBackAction } @@ -523,12 +600,12 @@ func createScreenGraph(for test: XCTestCase, with app: XCUIApplication) -> MMScr map.addScreenState(DisablePasscodeSettings) { screenState in screenState.gesture(forAction: Action.DisablePasscode, transitionTo: PasscodeSettings) { userState in if let passcode = userState.passcode { - typePasscode(passcode) + type(text: passcode) } } screenState.gesture(forAction: Action.DisablePasscodeTypeIncorrectPasscode) { userState in - typePasscode(userState.wrongPasscode) + type(text: userState.wrongPasscode) } screenState.backAction = navigationControllerBackAction } @@ -536,7 +613,7 @@ func createScreenGraph(for test: XCTestCase, with app: XCUIApplication) -> MMScr map.addScreenState(PasscodeIntervalSettings) { screenState in screenState.onEnter { userState in if let passcode = userState.passcode { - typePasscode(passcode) + type(text: passcode) } } screenState.backAction = navigationControllerBackAction @@ -545,20 +622,20 @@ func createScreenGraph(for test: XCTestCase, with app: XCUIApplication) -> MMScr map.addScreenState(ChangePasscodeSettings) { screenState in screenState.gesture(forAction: Action.ChangePasscode, transitionTo: PasscodeSettings) { userState in if let passcode = userState.passcode { - typePasscode(passcode) - typePasscode(userState.newPasscode) - typePasscode(userState.newPasscode) + type(text: passcode) + type(text: userState.newPasscode) + type(text: userState.newPasscode) userState.passcode = userState.newPasscode } } screenState.gesture(forAction: Action.ConfirmPasscodeToChangePasscode) { userState in if let passcode = userState.passcode { - typePasscode(passcode) + type(text: passcode) } } screenState.gesture(forAction: Action.ChangePasscodeTypeOnce) { userState in - typePasscode(userState.newPasscode) + type(text: userState.newPasscode) } screenState.backAction = navigationControllerBackAction } @@ -572,13 +649,13 @@ func createScreenGraph(for test: XCTestCase, with app: XCUIApplication) -> MMScr screenState.dismissOnUse = true screenState.gesture(forAction: Action.LoginPasscodeTypeIncorrectOne) { userState in - typePasscode(userState.wrongPasscode) + type(text: userState.wrongPasscode) } // Gesture to get to the protected screen. screenState.gesture(forAction: Action.UnlockLoginsSettings, transitionTo: LoginsSettings) { userState in if let passcode = userState.passcode { - typePasscode(passcode) + type(text: passcode) } } } @@ -613,16 +690,12 @@ func createScreenGraph(for test: XCTestCase, with app: XCUIApplication) -> MMScr map.addScreenState(TrackingProtectionSettings) { screenState in screenState.backAction = navigationControllerBackAction - screenState.tap(app.cells["Settings.TrackingProtectionOption.OnLabel"], forAction: Action.ToggleTrackingProtectionSettingAlwaysOn) { userState in - userState.trackingProtectionSetting = TrackingProtectionSetting.alwaysOn.rawValue + screenState.tap(app.toggles["Normal Browsing Mode"], forAction: Action.ToggleTrackingProtectionSettingOnNormalMode) { userState in + userState.trackingProtectionSettingOnNormalMode = !userState.trackingProtectionSettingOnNormalMode } - screenState.tap(app.cells["Settings.TrackingProtectionOption.OnInPrivateBrowsingLabel"], forAction: Action.ToggleTrackingProtectionSettingPrivateOnly) { userState in - userState.trackingProtectionSetting = TrackingProtectionSetting.privateOnly.rawValue - } - - screenState.tap(app.cells["Settings.TrackingProtectionOption.OffLabel"], forAction: Action.ToggleTrackingProtectionSettingOff) { userState in - userState.trackingProtectionSetting = TrackingProtectionSetting.off.rawValue + screenState.tap(app.toggles["Private Browsing Mode"], forAction: Action.ToggleTrackingProtectionSettingOnPrivateMode) { userState in + userState.trackingProtectionSettingOnPrivateMode = !userState.trackingProtectionSettingOnPrivateMode } } @@ -713,17 +786,17 @@ func createScreenGraph(for test: XCTestCase, with app: XCUIApplication) -> MMScr } map.addScreenState(ReloadLongPressMenu) { screenState in - screenState.backAction = lastButtonIsCancel + screenState.backAction = cancelBackAction screenState.dismissOnUse = true - let rdsButton = app.sheets.element(boundBy: 0).buttons.element(boundBy: 0) + let rdsButton = app.tables["Context Menu"].cells.element(boundBy: 0) screenState.tap(rdsButton, forAction: Action.ToggleRequestDesktopSite) { userState in userState.requestDesktopSite = !userState.requestDesktopSite } - let trackingProtectionButton = app.sheets.element(boundBy: 0).buttons.element(boundBy: 1) + let trackingProtectionButton = app.tables["Context Menu"].cells.element(boundBy: 1) - screenState.tap(trackingProtectionButton, forAction: Action.ToggleTrackingProtectionPerTabEnabled, if: FxUserState.trackingProtectionIsOnCondition) { userState in + screenState.tap(trackingProtectionButton, forAction: Action.ToggleTrackingProtectionPerTabEnabled) { userState in userState.trackingProtectionPerTabEnabled = !userState.trackingProtectionPerTabEnabled } } @@ -743,6 +816,7 @@ func createScreenGraph(for test: XCTestCase, with app: XCUIApplication) -> MMScr screenState.tap(app.tables["Context Menu"].cells["menu-FindInPage"], to: FindInPage) screenState.tap(app.tables["Context Menu"].cells["menu-Bookmark"], forAction: Action.BookmarkThreeDots, Action.Bookmark) screenState.tap(app.tables["Context Menu"].cells["action_remove"], forAction: Action.CloseTabFromPageOptions, Action.CloseTab, transitionTo: HomePanelsScreen, if: "tablet != true") + screenState.tap(app.tables.cells["action_pin"], forAction: Action.PinToTopSitesPAM) screenState.backAction = cancelBackAction screenState.dismissOnUse = true } @@ -759,13 +833,21 @@ func createScreenGraph(for test: XCTestCase, with app: XCUIApplication) -> MMScr screenState.tap(app.tables.cells["menu-panel-History"], to: HomePanel_History) screenState.tap(app.tables.cells["menu-panel-ReadingList"], to: HomePanel_ReadingList) - screenState.tap(app.tables.cells["menu-NoImageMode"], forAction: Action.ToggleNoImageMode) { userState in + screenState.tap(app.tables.cells["menu-NoImageMode"], forAction: Action.ToggleNoImageMode, transitionTo: BrowserTabMenu) { userState in userState.noImageMode = !userState.noImageMode } - - screenState.tap(app.tables.cells["menu-NightMode"], forAction: Action.ToggleNightMode) { userState in + + screenState.tap(app.tables.cells["menu-NightMode"], forAction: Action.ToggleNightMode, transitionTo: BrowserTabMenu) { userState in userState.nightMode = !userState.nightMode } + + screenState.tap(app.tables.cells["menu-TrackingProtection"], forAction: Action.ToggleTrackingProtection, transitionTo: BrowserTabMenu) { userState in + if userState.isPrivate { + userState.trackingProtectionSettingOnPrivateMode = !userState.trackingProtectionSettingOnPrivateMode + } else { + userState.trackingProtectionSettingOnNormalMode = !userState.trackingProtectionSettingOnNormalMode + } + } screenState.dismissOnUse = true screenState.backAction = cancelBackAction @@ -816,8 +898,8 @@ extension MMNavigator where T == FxUserState { } func browserPerformAction(_ view: BrowserPerformAction) { - let PageMenuOptions = [.toggleBookmarkOption, .addReadingListOption, .copyURLOption, .findInPageOption, .toggleDesktopOption, .pinToTopSitesOption, .sendToDeviceOption, BrowserPerformAction.shareOption] - let BrowserMenuOptions = [.openTopSitesOption, .openBookMarksOption, .openHistoryOption, .openReadingListOption, .toggleHideImages, .toggleNightMode, BrowserPerformAction.openSettingsOption] + let PageMenuOptions = [.shareOption, .toggleBookmarkOption, .addReadingListOption, .findInPageOption, .sendToDeviceOption, .toggleDesktopOption, BrowserPerformAction.copyURLOption] + let BrowserMenuOptions = [.openTopSitesOption, .openBookMarksOption, .openReadingListOption, .openHistoryOption, .toggleHideImages, .toggleNightMode, BrowserPerformAction.openSettingsOption] let app = XCUIApplication() diff --git a/XCUITests/FxScreenGraphTests.swift b/XCUITests/FxScreenGraphTests.swift old mode 100644 new mode 100755 diff --git a/XCUITests/HistoryTests.swift b/XCUITests/HistoryTests.swift old mode 100644 new mode 100755 index b5120d639..9dd836cde --- a/XCUITests/HistoryTests.swift +++ b/XCUITests/HistoryTests.swift @@ -5,6 +5,8 @@ import XCTest let webpage = ["url": "www.mozilla.org", "label": "Internet for people, not profit — Mozilla", "value": "mozilla.org"] +// This is part of the info the user will see in recent closed tabs once the default visited website (https://www.mozilla.org/en-US/book/) is closed +let closedWebPageLabel = "The Book of Mozilla" class HistoryTests: BaseTestCase { func testEmptyHistoryListFirstTime() { @@ -30,12 +32,14 @@ class HistoryTests: BaseTestCase { navigator.goto(HomePanel_History) app.tables.cells["HistoryPanel.syncedDevicesCell"].tap() waitforExistence(app.tables.cells.staticTexts["Firefox Sync"]) - XCTAssertTrue(app.tables/*@START_MENU_TOKEN@*/.buttons["Sign in"]/*[[".cells.buttons[\"Sign in\"]",".buttons[\"Sign in\"]"],[[[-1,1],[-1,0]]],[0]]@END_MENU_TOKEN@*/.exists) + XCTAssertTrue(app.tables.buttons["Sign in to Sync"].exists, "Sing in button does not appear") } func testClearHistoryFromSettings() { // Browse to have an item in history list navigator.openURL(webpage["url"]!) + waitUntilPageLoad() + navigator.goto(BrowserTabMenu) navigator.goto(HomePanel_History) waitforExistence(app.tables.cells["HistoryPanel.recentlyClosedCell"]) XCTAssertTrue(app.tables.cells.staticTexts[webpage["label"]!].exists) @@ -48,4 +52,130 @@ class HistoryTests: BaseTestCase { waitforExistence(app.tables.cells["HistoryPanel.recentlyClosedCell"]) XCTAssertFalse(app.tables.cells.staticTexts[webpage["label"]!].exists) } + + func testRecentlyClosedOptionAvailable() { + navigator.goto(HistoryRecentlyClosed) + waitforNoExistence(app.tables["Recently Closed Tabs List"]) + + // Go to the default web site and check whether the option is enabled + navigator.goto(BrowserTab) + waitUntilPageLoad() + navigator.goto(BrowserTabMenu) + navigator.goto(HistoryRecentlyClosed) + waitforNoExistence(app.tables["Recently Closed Tabs List"]) + + // Now go back to default website close it and check whether the option is enabled + navigator.goto(BrowserTab) + navigator.goto(TabTray) + navigator.closeAllTabs() + navigator.goto(HistoryRecentlyClosed) + + // The Closed Tabs list should contain the info of the website just closed + waitforExistence(app.tables["Recently Closed Tabs List"]) + XCTAssertTrue(app.tables.cells.staticTexts[closedWebPageLabel].exists) + + // This option should be enabled on private mode too + navigator.toggleOn(userState.isPrivate, withAction: Action.TogglePrivateMode) + navigator.goto(HistoryRecentlyClosed) + waitforExistence(app.tables["Recently Closed Tabs List"]) + } + + func testClearRecentlyClosedHistory() { + // Open the default website + navigator.goto(BrowserTab) + navigator.goto(TabTray) + navigator.closeAllTabs() + navigator.goto(HomePanel_History) + navigator.goto(HistoryRecentlyClosed) + // Once the website is visited and closed it will appear in Recently Closed Tabs list + waitforExistence(app.tables["Recently Closed Tabs List"]) + XCTAssertTrue(app.tables.cells.staticTexts[closedWebPageLabel].exists) + + // Go to settings and clear private data + navigator.performAction(Action.AcceptClearPrivateData) + + // Back on History panel view check that there is not any item + navigator.goto(HistoryRecentlyClosed) + waitforNoExistence(app.tables["Recently Closed Tabs List"]) + } + + func testLongTapOptionsRecentlyClosedItem() { + // Open the default website + navigator.goto(BrowserTab) + navigator.goto(TabTray) + navigator.closeAllTabs() + + navigator.goto(BrowserTabMenu) + navigator.goto(HistoryRecentlyClosed) + waitforExistence(app.tables["Recently Closed Tabs List"]) + XCTAssertTrue(app.tables.cells.staticTexts[closedWebPageLabel].exists) + app.tables.cells.staticTexts[closedWebPageLabel].press(forDuration: 1) + waitforExistence(app.tables["Context Menu"]) + XCTAssertTrue(app.tables.cells["quick_action_new_tab"].exists) + XCTAssertTrue(app.tables.cells["quick_action_new_private_tab"].exists) + } + + func testOpenInNewTabRecentlyClosedItem() { + // Open the default website + navigator.goto(BrowserTab) + navigator.goto(TabTray) + navigator.closeAllTabs() + + navigator.goto(HistoryRecentlyClosed) + waitforExistence(app.tables["Recently Closed Tabs List"]) + XCTAssertTrue(app.tables.cells.staticTexts[closedWebPageLabel].exists) + let numTabsOpen = userState.numTabs + XCTAssertEqual(numTabsOpen, 1) + app.tables.cells.staticTexts[closedWebPageLabel].press(forDuration: 1) + waitforExistence(app.tables["Context Menu"]) + app.tables.cells["quick_action_new_tab"].tap() + navigator.goto(TabTray) + let numTabsOpen2 = userState.numTabs + XCTAssertEqual(numTabsOpen2, 2) + } + + func testOpenInNewPrivateTabRecentlyClosedItem() { + // Open the default website + navigator.goto(BrowserTab) + navigator.goto(TabTray) + navigator.closeAllTabs() + navigator.goto(HistoryRecentlyClosed) + waitforExistence(app.tables["Recently Closed Tabs List"]) + XCTAssertTrue(app.tables.cells.staticTexts[closedWebPageLabel].exists) + + app.tables.cells.staticTexts[closedWebPageLabel].press(forDuration: 1) + waitforExistence(app.tables["Context Menu"]) + app.tables.cells["quick_action_new_private_tab"].tap() + + navigator.toggleOn(userState.isPrivate, withAction: Action.TogglePrivateMode) + navigator.goto(TabTray) + let numTabsOpen = userState.numTabs + XCTAssertEqual(numTabsOpen, 1) + } + + func testPrivateClosedSiteDoesNotAppearOnRecentlyClosed() { + navigator.toggleOn(userState.isPrivate, withAction: Action.TogglePrivateMode) + // Open the default website + navigator.goto(BrowserTab) + // It is necessary to open two sites so that when one is closed private mode is not closed + navigator.openNewURL(urlString: "mozilla.org") + waitUntilPageLoad() + navigator.goto(TabTray) + waitforExistence(app.collectionViews.cells[webpage["label"]!]) + // 'x' button to close the tab is not visible, so closing by swiping the tab + app.collectionViews.cells[webpage["label"]!].swipeRight() + + navigator.performAction(Action.OpenNewTabFromTabTray) + navigator.nowAt(HomePanelsScreen) + navigator.goto(HomePanel_History) + XCTAssertFalse(app.cells.staticTexts["Recently Closed"].isSelected) + waitforNoExistence(app.tables["Recently Closed Tabs List"]) + + // Now verify that on regular mode the recently closed list is empty too + navigator.toggleOff(userState.isPrivate, withAction: Action.TogglePrivateMode) + navigator.goto(HomePanelsScreen) + navigator.goto(HomePanel_History) + XCTAssertFalse(app.cells.staticTexts["Recently Closed"].isSelected) + waitforNoExistence(app.tables["Recently Closed Tabs List"]) + } } diff --git a/XCUITests/HomePageSettingsTest.swift b/XCUITests/HomePageSettingsTest.swift old mode 100644 new mode 100755 diff --git a/XCUITests/HomePageSettingsUITest.swift b/XCUITests/HomePageSettingsUITest.swift old mode 100644 new mode 100755 index 4c5b1bb01..fa05e4108 --- a/XCUITests/HomePageSettingsUITest.swift +++ b/XCUITests/HomePageSettingsUITest.swift @@ -58,8 +58,8 @@ class HomePageSettingsUITests: BaseTestCase { // Go to a website and copy the url navigator.openURL(websiteUrl1) app.textFields["url"].press(forDuration: 5) - app.buttons["Copy Address"].tap() - + waitforExistence(app.tables["Context Menu"]) + app.tables["Context Menu"].cells["menu-Copy-Link"].tap() // Go to HomePage settings and paste it using the option Used Copied Link navigator.goto(HomePageSettings) XCTAssertTrue(app.cells["Use Copied Link"].isEnabled) diff --git a/XCUITests/HomePageUITest.swift b/XCUITests/HomePageUITest.swift old mode 100644 new mode 100755 diff --git a/XCUITests/Info.plist b/XCUITests/Info.plist old mode 100644 new mode 100755 index 6532c875c..98a71153b --- a/XCUITests/Info.plist +++ b/XCUITests/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 10.4 + 11.1 CFBundleSignature ???? CFBundleVersion diff --git a/XCUITests/MailAppSettingsTests.swift b/XCUITests/MailAppSettingsTests.swift old mode 100644 new mode 100755 diff --git a/XCUITests/NavigationTest.swift b/XCUITests/NavigationTest.swift old mode 100644 new mode 100755 index c93206e4b..729bb49a9 --- a/XCUITests/NavigationTest.swift +++ b/XCUITests/NavigationTest.swift @@ -5,7 +5,7 @@ import XCTest let website_1 = ["url": "www.mozilla.org", "label": "Internet for people, not profit — Mozilla", "value": "mozilla.org"] -let website_2 = ["url": "www.example.com", "label": "Example", "value": "example"] +let website_2 = ["url": "www.example.com", "label": "Example", "value": "example", "link": "More information...", "moreLinkLongPressUrl": "http://www.iana.org/domains/example", "moreLinkLongPressInfo": "iana"] let urlAddons = "addons.mozilla.org" let urlGoogle = "www.google.com" @@ -100,7 +100,7 @@ class NavigationTest: BaseTestCase { navigator.goto(HomePanel_History) XCTAssertTrue(app.tables["History List"].staticTexts["Synced Devices"].isEnabled) app.tables["History List"].staticTexts["Synced Devices"].tap() - app.tables.buttons["Sign in"].tap() + app.tables.buttons["Sign in to Sync"].tap() checkFirefoxSyncScreenShown() app.navigationBars["Client.FxAContentView"].buttons["Done"].tap() navigator.nowAt(HomePanel_History) @@ -201,13 +201,15 @@ class NavigationTest: BaseTestCase { } private func checkMobileSite() { - app.buttons["TabLocationView.pageOptionsButton"].tap() + navigator.nowAt(BrowserTab) + navigator.goto(PageOptionsMenu) waitforExistence(app.tables.cells["menu-RequestDesktopSite"].staticTexts[requestDesktopSiteLabel]) navigator.goto(BrowserTab) } private func checkDesktopSite() { - app.buttons["TabLocationView.pageOptionsButton"].tap() + navigator.nowAt(BrowserTab) + navigator.goto(PageOptionsMenu) waitforExistence(app.tables.cells["menu-RequestDesktopSite"].staticTexts[requestMobileSiteLabel]) navigator.goto(BrowserTab) } @@ -293,4 +295,82 @@ class NavigationTest: BaseTestCase { XCTAssertTrue (desktopViewElement.exists, "Desktop view is not available after coming from another site in mobile view") } */ + func testLongPressLinkOptions() { + navigator.openURL(website_2["url"]!) + app.webViews.links[website_2["link"]!].press(forDuration: 2) + waitforExistence(app.sheets[website_2["moreLinkLongPressUrl"]!]) + XCTAssertTrue(app.buttons["Open in New Tab"].exists, "The option is not shown") + XCTAssertTrue(app.buttons["Open in New Private Tab"].exists, "The option is not shown") + XCTAssertTrue(app.buttons["Copy Link"].exists, "The option is not shown") + XCTAssertTrue(app.buttons["Share Link"].exists, "The option is not shown") + } + func testLongPressLinkOptionsPrivateMode() { + navigator.toggleOn(userState.isPrivate, withAction: Action.TogglePrivateMode) + navigator.openURL(website_2["url"]!) + app.webViews.links[website_2["link"]!].press(forDuration: 2) + waitforExistence(app.sheets[website_2["moreLinkLongPressUrl"]!]) + XCTAssertFalse(app.buttons["Open in New Tab"].exists, "The option is not shown") + XCTAssertTrue(app.buttons["Open in New Private Tab"].exists, "The option is not shown") + XCTAssertTrue(app.buttons["Copy Link"].exists, "The option is not shown") + XCTAssertTrue(app.buttons["Share Link"].exists, "The option is not shown") + + } + // Only testing Share and Copy Link, the other two options are already covered in other tests + func testCopyLink() { + longPressLinkOptions(optionSelected: "Copy Link") + navigator.goto(NewTabScreen) + app.textFields["url"].press(forDuration: 2) + + waitforExistence(app.tables["Context Menu"]) + app.tables.cells["menu-Paste"].tap() + app.buttons["Go"].tap() + waitUntilPageLoad() + waitForValueContains(app.textFields["url"], value: website_2["moreLinkLongPressInfo"]!) + } + + func testCopyLinkPrivateMode() { + navigator.toggleOn(userState.isPrivate, withAction: Action.TogglePrivateMode) + longPressLinkOptions(optionSelected: "Copy Link") + navigator.goto(NewTabScreen) + app.textFields["url"].press(forDuration: 2) + + app.tables.cells["menu-Paste"].tap() + app.buttons["Go"].tap() + waitUntilPageLoad() + waitForValueContains(app.textFields["url"], value: website_2["moreLinkLongPressInfo"]!) + } + + private func longPressLinkOptions(optionSelected: String) { + navigator.openURL(website_2["url"]!) + waitUntilPageLoad() + app.webViews.links[website_2["link"]!].press(forDuration: 2) + app.buttons[optionSelected].tap() + } + + func testShareLink() { + longPressLinkOptions(optionSelected: "Share Link") + waitforExistence(app.collectionViews.buttons["Copy"]) + XCTAssertTrue(app.collectionViews.buttons["Copy"].exists, "The share menu is not shown") + } + + func testShareLinkPrivateMode() { + navigator.toggleOn(userState.isPrivate, withAction: Action.TogglePrivateMode) + longPressLinkOptions(optionSelected: "Share Link") + waitforExistence(app.collectionViews.buttons["Copy"]) + XCTAssertTrue(app.collectionViews.buttons["Copy"].exists, "The share menu is not shown") + } + + func testCancelLongPressLinkMenu() { + navigator.openURL(website_2["url"]!) + app.webViews.links[website_2["link"]!].press(forDuration: 2) + if iPad() { + // For iPad there is no Cancel, so we tap to dismiss the menu + app/*@START_MENU_TOKEN@*/.otherElements["PopoverDismissRegion"]/*[[".otherElements[\"dismiss popup\"]",".otherElements[\"PopoverDismissRegion\"]"],[[[-1,1],[-1,0]]],[0]]@END_MENU_TOKEN@*/.tap() + } else { + app.buttons["Cancel"].tap() + } + + waitforNoExistence(app.sheets[website_2["moreLinkLongPressInfo"]!]) + XCTAssertEqual(app.textFields["url"].value! as? String, "www.example.com/", "After canceling the menu user is in a different website") + } } diff --git a/XCUITests/NewTabSettings.swift b/XCUITests/NewTabSettings.swift old mode 100644 new mode 100755 diff --git a/XCUITests/NightModeTests.swift b/XCUITests/NightModeTests.swift old mode 100644 new mode 100755 index cca36f923..fbbd37007 --- a/XCUITests/NightModeTests.swift +++ b/XCUITests/NightModeTests.swift @@ -4,28 +4,15 @@ import XCTest class NightModeTests: BaseTestCase { - private func nightModeOff() { - navigator.goto(BrowserTabMenu) - app.tables.cells["Disable Night Mode"].tap() - navigator.nowAt(BrowserTab) - } - - private func nightModeOn() { - navigator.goto(BrowserTabMenu) - app.tables.cells["Enable Night Mode"].tap() - navigator.nowAt(BrowserTab) - } private func checkNightModeOn() { - navigator.goto(BrowserTabMenu) - waitforExistence(app.tables.cells["Disable Night Mode"]) - navigator.goto(BrowserTab) + waitforExistence(app.tables.cells["menu-NightMode"]) + XCTAssertTrue(app.tables.cells.images["enabled"].exists) } private func checkNightModeOff() { - navigator.goto(BrowserTabMenu) - waitforExistence(app.tables.cells["Enable Night Mode"]) - navigator.goto(BrowserTab) + waitforExistence(app.tables.cells["menu-NightMode"]) + XCTAssertTrue(app.tables.cells.images["disabled"].exists) } func testNightModeUI() { @@ -35,13 +22,13 @@ class NightModeTests: BaseTestCase { navigator.openNewURL(urlString: url1) //turn on the night mode - nightModeOn() + navigator.performAction(Action.ToggleNightMode) //checking night mode on or off checkNightModeOn() //turn off the night mode - nightModeOff() + navigator.performAction(Action.ToggleNightMode) //checking night mode on or off checkNightModeOff() diff --git a/XCUITests/NoImageTests.swift b/XCUITests/NoImageTests.swift old mode 100644 new mode 100755 index 8916f47fe..9e8740a05 --- a/XCUITests/NoImageTests.swift +++ b/XCUITests/NoImageTests.swift @@ -8,28 +8,15 @@ let NoImageButtonIdentifier = "menu-NoImageMode" let ContextMenuIdentifier = "Context Menu" class NoImageTests: BaseTestCase { - private func showImages() { - navigator.goto(BrowserTabMenu) - app.tables[ContextMenuIdentifier].cells[NoImageButtonIdentifier].tap() - navigator.nowAt(BrowserTab) - } - - private func hideImages() { - navigator.goto(BrowserTabMenu) - app.tables.cells[NoImageButtonIdentifier].tap() - navigator.nowAt(BrowserTab) - } private func checkShowImages() { - navigator.goto(BrowserTabMenu) waitforExistence(app.tables.cells[NoImageButtonIdentifier]) - navigator.goto(BrowserTab) + XCTAssertTrue(app.tables.cells[NoImageButtonIdentifier].images["enabled"].exists) } private func checkHideImages() { - navigator.goto(BrowserTabMenu) waitforExistence(app.tables.cells[NoImageButtonIdentifier]) - navigator.goto(BrowserTab) + XCTAssertTrue(app.tables.cells[NoImageButtonIdentifier].images["disabled"].exists) } // Functionality is tested by UITests/NoImageModeTests, here only the UI is updated properly @@ -39,11 +26,11 @@ class NoImageTests: BaseTestCase { waitUntilPageLoad() // Select hide images, and check the UI is updated - hideImages() + navigator.performAction(Action.ToggleNoImageMode) checkShowImages() // Select show images, and check the UI is updated - showImages() + navigator.performAction(Action.ToggleNoImageMode) checkHideImages() } } diff --git a/XCUITests/PhotonActionSheetTest.swift b/XCUITests/PhotonActionSheetTest.swift old mode 100644 new mode 100755 index 2a64fddf2..180c7c1b6 --- a/XCUITests/PhotonActionSheetTest.swift +++ b/XCUITests/PhotonActionSheetTest.swift @@ -8,19 +8,11 @@ class PhotonActionSheetTest: BaseTestCase { func testPinToTop() { navigator.openURL("http://example.com") waitUntilPageLoad() - // Open Action Sheet - app.buttons["TabLocationView.pageOptionsButton"].tap() + // Open Page Action Menu Sheet and Pin the site + navigator.performAction(Action.PinToTopSitesPAM) - // Pin the site - app.cells["Pin to Top Sites"].tap() - - // Verify that the site has been pinned - // Open menu - app.buttons["Menu"].tap() - - // Navigate to top sites - app.cells["Top Sites"].tap() - waitforExistence(app.cells["TopSite"].firstMatch) + // Navigate to topsites to verify that the site has been pinned + navigator.goto(NewTabScreen) // Verify that the site is pinned to top let cell = app.cells["TopSite"].firstMatch diff --git a/XCUITests/PrivateBrowsingTest.swift b/XCUITests/PrivateBrowsingTest.swift old mode 100644 new mode 100755 diff --git a/XCUITests/ReaderViewUITest.swift b/XCUITests/ReaderViewUITest.swift old mode 100644 new mode 100755 diff --git a/XCUITests/ScreenGraphTest.swift b/XCUITests/ScreenGraphTest.swift old mode 100644 new mode 100755 index 100897694..82b648b4f --- a/XCUITests/ScreenGraphTest.swift +++ b/XCUITests/ScreenGraphTest.swift @@ -44,6 +44,7 @@ extension ScreenGraphTest { // Switch night mode on, by toggling. navigator.performAction(TestActions.ToggleNightMode) XCTAssertTrue(navigator.userState.nightMode) + navigator.back() XCTAssertEqual(navigator.screenState, BrowserTab) // Nothing should happen here, because night mode is already on. @@ -54,6 +55,7 @@ extension ScreenGraphTest { // Switch night mode off. navigator.toggleOff(navigator.userState.nightMode, withAction: TestActions.ToggleNightMode) XCTAssertFalse(navigator.userState.nightMode) + navigator.back() XCTAssertEqual(navigator.screenState, BrowserTab) } @@ -153,6 +155,13 @@ fileprivate class TestActions { static let LoadURLByPasting = "LoadURLByPasting" } +private var isTablet: Bool { + // There is more value in a variable having the same name, + // so it can be used in both predicates and in code + // than avoiding the duplication of one line of code. + return UIDevice.current.userInterfaceIdiom == .pad +} + fileprivate func createTestGraph(for test: XCTestCase, with app: XCUIApplication) -> MMScreenGraph { let map = MMScreenGraph(for: test, with: TestUserState.self) @@ -181,7 +190,7 @@ fileprivate func createTestGraph(for test: XCTestCase, with app: XCUIApplication screenState.gesture(forAction: TestActions.LoadURLByPasting, TestActions.LoadURL) { userState in UIPasteboard.general.string = userState.url ?? defaultURL app.textFields["url"].press(forDuration: 1.0) - app.sheets.element(boundBy: 0).buttons.element(boundBy: 0).tap() + app.tables["Context Menu"].cells["menu-PasteAndGo"].firstMatch.tap() } } @@ -199,12 +208,17 @@ fileprivate func createTestGraph(for test: XCTestCase, with app: XCUIApplication screenState.onEnterWaitFor(element: app.tables["Context Menu"]) screenState.tap(app.tables.cells["Settings"], to: SettingsScreen) - screenState.tap(app.cells["menu-NightMode"], forAction: TestActions.ToggleNightMode) { userState in + screenState.tap(app.cells["menu-NightMode"], forAction: TestActions.ToggleNightMode, transitionTo: BrowserTabMenu) { userState in userState.nightMode = !userState.nightMode } screenState.backAction = { - app.buttons["PhotonMenu.cancel"].tap() + if isTablet { + // There is no Cancel option in iPad. + app.otherElements["PopoverDismissRegion"].tap() + } else { + app.buttons["PhotonMenu.close"].tap() + } } } diff --git a/XCUITests/SearchSettingsUITest.swift b/XCUITests/SearchSettingsUITest.swift old mode 100644 new mode 100755 diff --git a/XCUITests/SearchTest.swift b/XCUITests/SearchTest.swift old mode 100644 new mode 100755 index 4031a9f73..a63b2578d --- a/XCUITests/SearchTest.swift +++ b/XCUITests/SearchTest.swift @@ -152,7 +152,6 @@ class SearchTests: BaseTestCase { changeSearchEngine(searchEngine: "Twitter") changeSearchEngine(searchEngine: "Wikipedia") // changeSearchEngine(searchEngine: "Amazon.com") - changeSearchEngine(searchEngine: "Yahoo") } func testDefaultSearchEngine() { diff --git a/XCUITests/SettingsTest.swift b/XCUITests/SettingsTest.swift old mode 100644 new mode 100755 diff --git a/XCUITests/SiteLoadTest.swift b/XCUITests/SiteLoadTest.swift old mode 100644 new mode 100755 diff --git a/XCUITests/SyncFAUITests.swift b/XCUITests/SyncFAUITests.swift new file mode 100755 index 000000000..9fa3d3642 --- /dev/null +++ b/XCUITests/SyncFAUITests.swift @@ -0,0 +1,85 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +import XCTest + +class SyncUITests: BaseTestCase { + func testUIFromSettings () { + navigator.goto(FxASigninScreen) + waitforExistence(app.webViews.staticTexts["Sign in"]) + XCTAssertTrue(app.navigationBars["Client.FxAContentView"].exists) + XCTAssertTrue(app.webViews.textFields["Email"].exists) + XCTAssertTrue(app.webViews.secureTextFields["Password"].exists) + XCTAssertTrue(app.webViews.buttons["Sign in"].exists) + } + + func testPlaceholderValues () { + navigator.goto(FxASigninScreen) + waitforExistence(app.webViews.staticTexts["Sign in"]) + let mailPlaceholder = "Email" + let passwordPlaceholder = "Password" + + let defaultMailPlaceholder = app.webViews.textFields["Email"].placeholderValue! + let defaultPasswordPlaceholder = app.webViews.secureTextFields["Password"].placeholderValue! + XCTAssertEqual(mailPlaceholder, defaultMailPlaceholder, "The mail placeholder does not show the correct value") + XCTAssertEqual(passwordPlaceholder, defaultPasswordPlaceholder, "The password placeholder does not show the correct value") + } + + func testTypeOnGivenFields() { + navigator.goto(FxASigninScreen) + waitforExistence(app.webViews.staticTexts["Sign in"]) + + // Tap Sign in without any value in email Password focus on Email + navigator.performAction(Action.FxATapOnSignInButton) + waitforExistence(app.webViews.staticTexts["Valid email required"]) + + // Enter only email, wrong and correct and tap sign in + userState.fxaUsername = "bademail" + navigator.performAction(Action.FxATypeEmail) + navigator.performAction(Action.FxATapOnSignInButton) + waitforExistence(app.webViews.staticTexts["Valid email required"]) + + userState.fxaUsername = "valid@email.com" + navigator.performAction(Action.FxATypeEmail) + navigator.performAction(Action.FxATapOnSignInButton) + waitforExistence(app.webViews.staticTexts["Valid password required"]) + + // Enter invalid (too short, it should be at least 8 chars) and incorrect password + userState.fxaPassword = "foo" + navigator.performAction(Action.FxATypePassword) + navigator.performAction(Action.FxATapOnSignInButton) + waitforExistence(app.webViews.staticTexts["Must be at least 8 characters"]) + + // Enter valid but incorrect, it does not exists, password + userState.fxaPassword = "atleasteight" + navigator.performAction(Action.FxATypePassword) + navigator.performAction(Action.FxATapOnSignInButton) + waitforExistence(app.webViews.staticTexts["Unknown account."]) + XCTAssertTrue(app.webViews.links["Sign up"].exists) + } + + func testCreateAnAccountLink() { + navigator.goto(FxASigninScreen) + waitforExistence(app.webViews.links["Create an account"]) + navigator.goto(FxCreateAccount) + waitforExistence(app.webViews.buttons["Create account"]) + } + + func testShowPassword() { + // The aim of this test is to check if the option to show password is shown when user starts typing and dissapears when no password is typed + navigator.goto(FxASigninScreen) + waitforNoExistence(app.webViews.staticTexts["Show"]) + // Typing on Email should not show Show (password) option + userState.fxaUsername = "email" + navigator.performAction(Action.FxATypeEmail) + waitforNoExistence(app.webViews.staticTexts["Show"]) + // Typing on Password should show Show (password) option + userState.fxaPassword = "foo" + navigator.performAction(Action.FxATypePassword) + waitforExistence(app.webViews.staticTexts["Show"]) + // Long press delete key to remove the password typed, Show (password) option should not be shown + app.keys["delete"].press(forDuration: 2) + waitforNoExistence(app.webViews.staticTexts["Show"]) + } +} diff --git a/XCUITests/ThirdPartySearchTest.swift b/XCUITests/ThirdPartySearchTest.swift old mode 100644 new mode 100755 index f2875091f..e70dd492d --- a/XCUITests/ThirdPartySearchTest.swift +++ b/XCUITests/ThirdPartySearchTest.swift @@ -145,6 +145,13 @@ class ThirdPartySearchTest: BaseTestCase { // Ensure that correct search is done let url = app.textFields["url"].value as! String + if (!url.hasSuffix("&btnI")) { + app.buttons["Back"].tap() + app.textFields["url"].tap() + app.typeText("strange charm") + app.scrollViews.otherElements.buttons["Feeling Lucky search"].tap() + XCTAssert(url.hasSuffix("&btnI"), "The URL should indicate that the search was performed using IFL") + } XCTAssert(url.hasSuffix("&btnI"), "The URL should indicate that the search was performed using IFL") } diff --git a/XCUITests/ToolbarTest.swift b/XCUITests/ToolbarTest.swift old mode 100644 new mode 100755 index 426b903b5..c021f40a2 --- a/XCUITests/ToolbarTest.swift +++ b/XCUITests/ToolbarTest.swift @@ -7,6 +7,8 @@ import XCTest let website1: [String: String] = ["url": "www.mozilla.org", "label": "Internet for people, not profit — Mozilla", "value": "mozilla.org"] let website2 = "example.com" +let PDFWebsite = ["url": "http://www.pdf995.com/samples/pdf.pdf"] + class ToolbarTests: BaseTestCase { override func setUp() { super.setUp() @@ -86,4 +88,64 @@ class ToolbarTests: BaseTestCase { let value = app.textFields["address"].value XCTAssertEqual(value as? String, "", "The url has not been removed correctly") } + + func testShowToolbarWhenScrollingDefaultOption() { + navigator.goto(SettingsScreen) + // Check that the setting is off by default + XCTAssertFalse(app.cells.switches["AlwaysShowToolbar"].isSelected) + } + + func testShowDoNotShowToolbarWhenScrollingPortrait() { + XCUIDevice.shared().orientation = UIDeviceOrientation.portrait + // The toolbar should dissapear when scrolling up + navigator.openURL(PDFWebsite["url"]!) + waitUntilPageLoad() + + // Swipe Up and check that the toolbar is not available and Down and it is available again + let toolbarElement = app.buttons["TopTabsViewController.tabsButton"] + let element = app/*@START_MENU_TOKEN@*/.webViews/*[[".otherElements[\"Web content\"].webViews",".otherElements[\"contentView\"].webViews",".webViews"],[[[-1,2],[-1,1],[-1,0]]],[0]]@END_MENU_TOKEN@*/.children(matching: .other).element.children(matching: .other).element(boundBy: 0) + element.swipeUp() + XCTAssertFalse(toolbarElement.isHittable) + + element.swipeDown() + XCTAssertTrue(toolbarElement.isHittable) + + // Change the setting + navigator.goto(SettingsScreen) + navigator.performAction(Action.ToggleShowToolbarWhenScrolling) + XCTAssertTrue(toolbarElement.isHittable) + + // The toolbar should not dissapear when scrolling up + element.swipeUp() + XCTAssertTrue(toolbarElement.isHittable) + element.swipeDown() + XCTAssertTrue(toolbarElement.isHittable) + } + + func testShowDoNotShowToolbarWhenScrollingLandscape() { + // The toolbar should dissapear when scrolling up + navigator.openURL(PDFWebsite["url"]!) + waitUntilPageLoad() + + // Swipe Up and check that the toolbar is not available and Down and it is available again + let toolbarElement = app.buttons["TopTabsViewController.tabsButton"] + let element = app/*@START_MENU_TOKEN@*/.webViews/*[[".otherElements[\"Web content\"].webViews",".otherElements[\"contentView\"].webViews",".webViews"],[[[-1,2],[-1,1],[-1,0]]],[0]]@END_MENU_TOKEN@*/.children(matching: .other).element.children(matching: .other).element(boundBy: 0) + element.swipeUp() + XCTAssertFalse(toolbarElement.isHittable) + + element.swipeDown() + XCTAssertTrue(toolbarElement.isHittable) + + // Change the setting + navigator.goto(SettingsScreen) + navigator.performAction(Action.ToggleShowToolbarWhenScrolling) + XCTAssertTrue(toolbarElement.isHittable) + XCTAssertTrue(toolbarElement.isHittable) + + // The toolbar should not dissapear when scrolling up + element.swipeUp() + XCTAssertTrue(toolbarElement.isHittable) + element.swipeDown() + XCTAssertTrue(toolbarElement.isHittable) + } } diff --git a/XCUITests/TopTabsTest.swift b/XCUITests/TopTabsTest.swift old mode 100644 new mode 100755 index 79caad7de..20fd14f47 --- a/XCUITests/TopTabsTest.swift +++ b/XCUITests/TopTabsTest.swift @@ -12,6 +12,8 @@ let urlExample = "example.com" let urlLabelExample = "Example Domain" let urlValueExample = "example" +let toastUrl = ["url": "twitter.com", "link": "About", "urlLabel": "about"] + class TopTabsTest: BaseTestCase { func testAddTabFromSettings() { navigator.createNewTab() @@ -63,7 +65,14 @@ class TopTabsTest: BaseTestCase { // Open tab tray to check that both tabs are there checkNumberOfTabsExpectedToBeOpen(expectedNumberOfTabsOpen: 2) waitforExistence(app.collectionViews.cells["Example Domain"]) - waitforExistence(app.collectionViews.cells["IANA — IANA-managed Reserved Domains"]) + if !app.collectionViews.cells["IANA — IANA-managed Reserved Domains"].exists { + navigator.goto(TabTray) + app.collectionViews.cells["Example Domain"].tap() + waitUntilPageLoad() + navigator.nowAt(BrowserTab) + navigator.goto(TabTray) + waitforExistence(app.collectionViews.cells["IANA — IANA-managed Reserved Domains"]) + } } // This test only runs for iPhone see bug 1409750 @@ -100,6 +109,62 @@ class TopTabsTest: BaseTestCase { waitForValueContains(app.textFields["url"], value: urlValueExample) } + // This test is disabled for iPad because the toast menu is not shown there + func testSwitchBetweenTabsToastButton() { + navigator.openURL(toastUrl["url"]!) + waitUntilPageLoad() + + app.webViews.links.staticTexts[toastUrl["link"]!].press(forDuration: 1) + waitforExistence(app.sheets.buttons["Open in New Tab"]) + app.sheets.buttons["Open in New Tab"].press(forDuration: 1) + waitforExistence(app.buttons["Switch"]) + app.buttons["Switch"].tap() + + // Check that the tab has changed + waitUntilPageLoad() + waitForValueContains(app.textFields["url"], value: toastUrl["urlLabel"]!) + XCTAssertTrue(app.staticTexts[toastUrl["link"]!].exists) + let numTab = app.buttons["Show Tabs"].value as? String + XCTAssertEqual("2", numTab) + + + // Go to Private mode and do the same + navigator.toggleOn(userState.isPrivate, withAction: Action.TogglePrivateMode) + navigator.openURL(toastUrl["url"]!) + waitUntilPageLoad() + app.webViews.links[toastUrl["link"]!].press(forDuration: 1) + waitforExistence(app.sheets.buttons["Open in New Private Tab"]) + app.sheets.buttons["Open in New Private Tab"].press(forDuration: 1) + waitforExistence(app.buttons["Switch"]) + app.buttons["Switch"].tap() + + // Check that the tab has changed + waitUntilPageLoad() + waitForValueContains(app.textFields["url"], value: toastUrl["urlLabel"]!) + XCTAssertTrue(app.staticTexts[toastUrl["link"]!].exists) + let numPrivTab = app.buttons["Show Tabs"].value as? String + XCTAssertEqual("2", numPrivTab) + } + + // This test is disabled for iPad because the toast menu is not shown there + func testSwitchBetweenTabsNoPrivatePrivateToastButton() { + navigator.openURL(url) + waitUntilPageLoad() + + app.webViews.links["Rust"].press(forDuration: 1) + waitforExistence(app.sheets.buttons["Open in New Tab"]) + app.sheets.buttons["Open in New Private Tab"].press(forDuration: 1) + waitforExistence(app.buttons["Switch"]) + app.buttons["Switch"].tap() + + // Check that the tab has changed to the new open one and that the user is in private mode + waitUntilPageLoad() + waitForValueContains(app.textFields["url"], value: "rust") + XCTAssertTrue(app.staticTexts["Rust language"].exists) + navigator.goto(TabTray) + XCTAssertTrue(app.buttons["TabTrayController.maskButton"].isEnabled) + } + func testCloseOneTab() { navigator.openURL(url) waitUntilPageLoad() diff --git a/XCUITests/TrackingProtectionTests.swift b/XCUITests/TrackingProtectionTests.swift old mode 100644 new mode 100755 index a6f82db00..7558ab647 --- a/XCUITests/TrackingProtectionTests.swift +++ b/XCUITests/TrackingProtectionTests.swift @@ -4,47 +4,195 @@ import XCTest +let blockedElementsString = "Firefox is blocking parts of the page that may track your browsing." +let tpIsDisabledViaToggleString = "Block online trackers" +let tpIsDisabledString = "The site includes elements that may track your browsing. You have disabled protection." +let noTrackingElementsString = "No tracking elements detected on this page." + +let websiteWithBlockedElements = "twitter.com" +let websiteWithoutBlockedElements = "facebook.com" +let differentWebsite = "mozilla.org" + class TrackingProtectionTests: BaseTestCase { - // This test is to change the tracking protection to block known blockers - func testTrackingProtection() { - navigator.goto(SettingsScreen) - let appSettingsTableView = app.tables["AppSettingsTableViewController.tableView"] - //Scroll the table view until Tracking Proection cell is visible - while !app.staticTexts["Tracking Protection"].exists { - appSettingsTableView.swipeUp() + + override func tearDown() { + // Enable TP for visited sites for next tests + navigator.goto(BrowserTab) + navigator.openNewURL(urlString: websiteWithBlockedElements) + waitUntilPageLoad() + navigator.performAction(Action.TrackingProtectionContextMenu) + if (app.tables.cells["menu-TrackingProtection"].exists) { + app.tables.cells["menu-TrackingProtection"].tap() } - appSettingsTableView.staticTexts["Tracking Protection"].tap() + } - //Check "Private Browsing Mode Only" is selected and other items are not selected - XCTAssertFalse(app.tables.cells["Always On"].isSelected) - XCTAssertTrue(app.tables.cells["Private Browsing Mode Only"].isSelected) - XCTAssertFalse(app.tables.cells["Never"].isSelected) + func testTrackingProtection() { + navigator.goto(TrackingProtectionSettings) - //Select "Always On" - app.tables.cells["Always On"].tap() - XCTAssertTrue(app.tables.cells["Always On"].isSelected) + // Make sure TP is enabled by default + XCTAssertTrue(app.switches["prefkey.trackingprotection.normalbrowsing"].isEnabled) + XCTAssertTrue(app.switches["prefkey.trackingprotection.privatebrowsing"].isEnabled) - app.navigationBars["Tracking Protection"].buttons["Settings"].tap() + // Turn off TP in normal Browsing + app.switches["prefkey.trackingprotection.normalbrowsing"].tap() - waitforExistence(app.navigationBars["Settings"].buttons["Done"]) - app.navigationBars["Settings"]/*@START_MENU_TOKEN@*/.buttons["Done"]/*[[".buttons[\"Done\"]",".buttons[\"AppSettingsTableViewController.navigationItem.leftBarButtonItem\"]"],[[[-1,1],[-1,0]]],[1]]@END_MENU_TOKEN@*/.tap() + navigator.goto(BrowserTabMenu) - app/*@START_MENU_TOKEN@*/.buttons["TabToolbar.menuButton"]/*[[".buttons[\"Menu\"]",".buttons[\"TabToolbar.menuButton\"]"],[[[-1,1],[-1,0]]],[0]]@END_MENU_TOKEN@*/.tap() - let settingsmenuitemCell = app.tables.cells["Settings"] - settingsmenuitemCell.tap() + // Make sure its actually off + XCTAssertTrue(app.cells["Tracking Protection"].images["disabled"].exists) - let appSettingsTableView1 = app.tables["AppSettingsTableViewController.tableView"] - //Scroll the table view until Tracking Proection cell is visible - while !app.staticTexts["Tracking Protection"].exists { - appSettingsTableView1.swipeUp() - } + // Switch to Private Browsing + navigator.toggleOn(userState.isPrivate, withAction: Action.TogglePrivateMode) + navigator.goto(NewTabScreen) + navigator.goto(BrowserTabMenu) + + XCTAssertTrue(app.cells["Tracking Protection"].images["enabled"].exists, "Tracking Protection should be switch on in PBM") + + // Turn off PBM + navigator.performAction(Action.ToggleTrackingProtection) + + navigator.toggleOn(!userState.isPrivate, withAction: Action.TogglePrivateMode) + navigator.goto(NewTabScreen) + navigator.goto(TrackingProtectionSettings) + + // Make sure TP is off in both browsing modes. + XCTAssertEqual(app.switches["prefkey.trackingprotection.normalbrowsing"].value as! String, "0") + XCTAssertEqual(app.switches["prefkey.trackingprotection.privatebrowsing"].value as! String, "0") + } + + private func disableTrackingProtectionForSite() { + navigator.openURL(websiteWithBlockedElements) + waitUntilPageLoad() + + // Disable TP for this site + navigator.performAction(Action.DisableTrackingProtectionperSite) + waitUntilPageLoad() + } + + private func checkTrackingProtectionDisabledForSite() { + navigator.nowAt(BrowserTab) + navigator.goto(URLBarLongPressMenu) + + waitforExistence(app.tables.cells["menu-TrackingProtection-Off"]) + XCTAssertTrue(app.tables.cells["menu-TrackingProtection-Off"].staticTexts[tpIsDisabledString].exists, "TP menu is wrong when blocking elements") + } + + private func checkTrackingProtectionEnabledForSite() { + navigator.nowAt(BrowserTab) + navigator.goto(URLBarLongPressMenu) + waitforExistence(app.tables.cells["menu-TrackingProtection"]) + XCTAssertTrue(app.tables.cells["menu-TrackingProtection"].staticTexts[blockedElementsString].exists, "TP menu is wrong when blocking elements") + } + + func testTrackingProtectionToggle() { + navigator.goto(BrowserTabMenu) + // Check that TP is enabled by default + XCTAssertTrue(app.tables.cells["menu-TrackingProtection"].images["enabled"].exists, "Tracking Protection is not enabled by default") + + // Go to a website with/without blocked elements ADAPT THE MESSAGE TO ASSERT + navigator.openURL(websiteWithBlockedElements) + waitUntilPageLoad() + navigator.goto(URLBarLongPressMenu) + + waitforExistence(app.tables.cells["menu-TrackingProtection"]) + XCTAssertTrue(app.tables.cells["menu-TrackingProtection"].staticTexts[blockedElementsString].exists, "TP menu is wrong when blocking elements") + + // Now disable TP from Brwoser Tab menu + navigator.performAction(Action.ToggleTrackingProtection) + navigator.goto(BrowserTab) + + // Reload and check the website (or go to a different one? what would be best option???) + app.buttons["Reload"].tap() + waitUntilPageLoad() + + navigator.goto(URLBarLongPressMenu) + XCTAssertTrue(app.tables.cells["menu-TrackingProtection"].staticTexts[tpIsDisabledViaToggleString].exists, "TP menu is wrong when blocking elements") + } + + func testMenuWhenThereAreBlockedElements() { + // Open website which has trackers blocked + navigator.openURL(websiteWithBlockedElements) + waitUntilPageLoad() + navigator.performAction(Action.TrackingProtectionContextMenu) + + // Verify that all elements for TP menu are shown + waitforExistence(app.tables["Context Menu"]) + XCTAssertTrue(app.tables.cells["Total trackers blocked"].exists, "TP menu with elements blocked is not right") + XCTAssertTrue(app.tables.cells["Ad trackers"].exists, "TP menu with elements blocked is not right") + XCTAssertTrue(app.tables.cells["Analytic trackers"].exists, "TP menu with elements blocked is not right") + XCTAssertTrue(app.tables.cells["Social trackers"].exists, "TP menu with elements blocked is not right") + XCTAssertTrue(app.tables.cells["Content trackers"].exists, "TP menu with elements blocked is not right") + XCTAssertTrue(app.tables.cells["menu-TrackingProtection-Off"].exists, "TP menu with elements blocked is not right") + } + + func testMenuWhenThereAreNotBlockedElements() { + navigator.openURL(websiteWithoutBlockedElements) + waitUntilPageLoad() + navigator.goto(URLBarLongPressMenu) + XCTAssertTrue(app.tables.cells["menu-TrackingProtection"].staticTexts[noTrackingElementsString].exists, "TP menu is wrong when blocking elements") + } + + func testEnableDisableTPforSite() { + disableTrackingProtectionForSite() + + // Now at browser tab check TP is disabled for this site + checkTrackingProtectionDisabledForSite() + + // Enable TP again and check it in Browser tab + navigator.performAction(Action.EnableTrackingProtectionperSite) + waitUntilPageLoad() + + checkTrackingProtectionEnabledForSite() + } + + func testTPMenuHomePanel() { + navigator.goto(URLBarLongPressMenu) + waitforExistence(app.tables.cells["menu-TrackingProtection"]) + XCTAssertTrue(app.tables.cells["menu-TrackingProtection"].staticTexts[noTrackingElementsString].exists, "TP incorrectly shown when no blocking elements") + } + + func testDisableForSiteDoesNotDisableForOthersSameTab() { + disableTrackingProtectionForSite() + navigator.nowAt(BrowserTab) + navigator.goto(URLBarOpen) + userState.url = differentWebsite + navigator.performAction(Action.LoadURLByTyping) + waitUntilPageLoad() + + checkTrackingProtectionEnabledForSite() + } + + func testDisableForSiteDoesNotDisableForOthersDifferentTab() { + disableTrackingProtectionForSite() + navigator.nowAt(BrowserTab) + navigator.openNewURL(urlString: differentWebsite) + waitUntilPageLoad() + + checkTrackingProtectionEnabledForSite() + } + + func testDisableforSiteIsKeptAfterBrowsing() { + disableTrackingProtectionForSite() + navigator.nowAt(BrowserTab) + + navigator.openNewURL(urlString: differentWebsite) + waitUntilPageLoad() + checkTrackingProtectionEnabledForSite() + + navigator.openNewURL(urlString: websiteWithBlockedElements) + waitUntilPageLoad() + checkTrackingProtectionDisabledForSite() + } + + func testDisablingTPforOneSiteDoesNotChangeGeneralTPOption() { + disableTrackingProtectionForSite() + navigator.nowAt(BrowserTab) - appSettingsTableView1.staticTexts["Tracking Protection"].tap() - waitforExistence(app.tables.cells["Always On"]) + navigator.goto(BrowserTabMenu) + XCTAssertTrue(app.cells["Tracking Protection"].images["enabled"].exists, "Tracking Protection should be switched on in PBM") - //Check "Always On" is selected and other items are not selected - XCTAssertTrue(app.tables.cells["Always On"].isSelected) - XCTAssertFalse(app.tables.cells["Private Browsing Mode Only"].isSelected) - XCTAssertFalse(app.tables.cells["Never"].isSelected) + navigator.goto(BrowserTab) + navigator.goto(TrackingProtectionSettings) + XCTAssertTrue(app.switches["prefkey.trackingprotection.normalbrowsing"].isEnabled) } } diff --git a/XCUITests/XCUITests-Bridging-Header.h b/XCUITests/XCUITests-Bridging-Header.h old mode 100644 new mode 100755 diff --git a/buddybuild_postbuild.sh b/buddybuild_postbuild.sh old mode 100644 new mode 100755 diff --git a/buddybuild_postclone.sh b/buddybuild_postclone.sh index 24efe1efe..6f499e6a1 100755 --- a/buddybuild_postclone.sh +++ b/buddybuild_postclone.sh @@ -27,17 +27,23 @@ if [ "$BUDDYBUILD_SCHEME" = "FirefoxBeta" ]; then fi # -# Import only the shipping locales (from shipping_locales.txt) on our Beta and -# Release builds. Import all locales on Fennec_Enterprise, except for pull requests. +# Import only the shipping locales (from shipping_locales.txt) on Release +# builds. Import all locales on Beta and Fennec_Enterprise, except for pull +# requests. # -git clone https://github.com/mozilla-mobile/ios-l10n-scripts.git || exit 1 +git clone -b v11.x-l10n https://github.com/mozilla-mobile/ios-l10n-scripts.git || exit 1 -if [ "$BUDDYBUILD_SCHEME" = "Firefox" ] || [ "$BUDDYBUILD_SCHEME" = "FirefoxBeta" ]; then +if [ "$BUDDYBUILD_SCHEME" = "Firefox" ]; then setup_virtualenv ./ios-l10n-scripts/import-locales-firefox.sh --release fi +if [ "$BUDDYBUILD_SCHEME" = "FirefoxBeta" ]; then + setup_virtualenv + ./ios-l10n-scripts/import-locales-firefox.sh +fi + if [ "$BUDDYBUILD_SCHEME" = "Fennec_Enterprise" ] && [ "$BUDDYBUILD_PULL_REQUEST" = "" ]; then setup_virtualenv ./ios-l10n-scripts/import-locales-firefox.sh diff --git a/buddybuild_prebuild.sh b/buddybuild_prebuild.sh index 397a3da9a..fb4084bbf 100755 --- a/buddybuild_prebuild.sh +++ b/buddybuild_prebuild.sh @@ -50,11 +50,11 @@ fi # if [ "$BUDDYBUILD_SCHEME" == FirefoxBeta ]; then - echo "Setting SentryDSN to $SENTRY_DSN_BETA" - /usr/libexec/PlistBuddy -c "Set SentryDSN $SENTRY_DSN_BETA" "Client/Info.plist" + echo "Setting SentryDSN to $SENTRY_DSN_BETA_110" + /usr/libexec/PlistBuddy -c "Set SentryDSN $SENTRY_DSN_BETA_110" "Client/Info.plist" elif [ "$BUDDYBUILD_SCHEME" == Firefox ]; then - echo "Setting SentryDSN to $SENTRY_DSN_RELEASE" - /usr/libexec/PlistBuddy -c "Set SentryDSN $SENTRY_DSN_RELEASE" "Client/Info.plist" + echo "Setting SentryDSN to $SENTRY_DSN_RELEASE_110" + /usr/libexec/PlistBuddy -c "Set SentryDSN $SENTRY_DSN_RELEASE_110" "Client/Info.plist" fi # diff --git a/codecov.yml b/codecov.yml old mode 100644 new mode 100755 diff --git a/fastlane/Fastfile b/fastlane/Fastfile old mode 100644 new mode 100755 diff --git a/fastlane/actions/import_build_tools.rb b/fastlane/actions/import_build_tools.rb old mode 100644 new mode 100755 diff --git a/package-lock.json b/package-lock.json old mode 100644 new mode 100755 index 80b18c1ba..5da62dba4 --- a/package-lock.json +++ b/package-lock.json @@ -7,12 +7,14 @@ "acorn": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.3.0.tgz", - "integrity": "sha512-Yej+zOJ1Dm/IMZzzj78OntP/r3zHEaKcyNoU2lAaxPtrseM6rF0xwqoz5Q5ysAiED9hTjI2hgtvLXitlCN1/Ug==" + "integrity": "sha512-Yej+zOJ1Dm/IMZzzj78OntP/r3zHEaKcyNoU2lAaxPtrseM6rF0xwqoz5Q5ysAiED9hTjI2hgtvLXitlCN1/Ug==", + "dev": true }, "acorn-dynamic-import": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "dev": true, "requires": { "acorn": "4.0.13" }, @@ -20,7 +22,8 @@ "acorn": { "version": "4.0.13", "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true } } }, @@ -28,6 +31,7 @@ "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, "requires": { "co": "4.6.0", "fast-deep-equal": "1.0.0", @@ -38,12 +42,14 @@ "ajv-keywords": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=" + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true }, "align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, "requires": { "kind-of": "3.2.2", "longest": "1.0.1", @@ -53,12 +59,20 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true }, "anymatch": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, "requires": { "micromatch": "2.3.11", "normalize-path": "2.1.1" @@ -67,12 +81,14 @@ "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true }, "arr-diff": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, "requires": { "arr-flatten": "1.1.0" } @@ -80,17 +96,20 @@ "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true }, "array-unique": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true }, "asn1.js": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.2.tgz", "integrity": "sha512-b/OsSjvWEo8Pi8H0zsDd2P6Uqo2TK2pH8gNLSJtNLM2Db0v2QaAZ0pBQJXVjAn4gBuugeVDr7s63ZogpUIwWDg==", + "dev": true, "requires": { "bn.js": "4.11.8", "inherits": "2.0.3", @@ -101,6 +120,7 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, "requires": { "util": "0.10.3" } @@ -109,6 +129,7 @@ "version": "2.6.0", "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", + "dev": true, "requires": { "lodash": "4.17.4" } @@ -116,42 +137,706 @@ "async-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "babel-core": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", + "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.4", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.4", + "source-map": "0.5.7", + "trim-right": "1.0.1" + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-loader": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.2.tgz", + "integrity": "sha512-jRwlFbINAeyDStqK6Dd5YuY0k5YuzQUvlz2ZamuXrXmxav3pNqe9vfJ402+2G+OmlJSXxCOpB6Uz0INM7RQe2A==", + "dev": true, + "requires": { + "find-cache-dir": "1.0.0", + "loader-utils": "1.1.0", + "mkdirp": "0.5.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "6.26.0", + "babel-helper-function-name": "6.24.1", + "babel-helper-optimise-call-expression": "6.24.1", + "babel-helper-replace-supers": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", + "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "0.10.1" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-preset-env": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz", + "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0", + "browserslist": "2.11.3", + "invariant": "2.2.2", + "semver": "5.5.0" + } + }, + "babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "6.26.0", + "babel-runtime": "6.26.0", + "core-js": "2.5.3", + "home-or-tmp": "2.0.0", + "lodash": "4.17.4", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "2.5.3", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.2", + "lodash": "4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.4", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "base64-js": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==" + "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", + "dev": true }, "big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true }, "binary-extensions": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=" + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", + "dev": true }, "bluebird": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", + "dev": true }, "bn.js": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true, "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" @@ -161,6 +846,7 @@ "version": "1.8.5", "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, "requires": { "expand-range": "1.8.2", "preserve": "0.2.0", @@ -170,12 +856,14 @@ "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true }, "browserify-aes": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", + "dev": true, "requires": { "buffer-xor": "1.0.3", "cipher-base": "1.0.4", @@ -189,6 +877,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "dev": true, "requires": { "browserify-aes": "1.1.1", "browserify-des": "1.0.0", @@ -199,6 +888,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "dev": true, "requires": { "cipher-base": "1.0.4", "des.js": "1.0.0", @@ -209,6 +899,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, "requires": { "bn.js": "4.11.8", "randombytes": "2.0.6" @@ -218,6 +909,7 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", @@ -232,14 +924,26 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, "requires": { "pako": "1.0.6" } }, + "browserslist": { + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", + "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", + "dev": true, + "requires": { + "caniuse-lite": "1.0.30000792", + "electron-to-chromium": "1.3.32" + } + }, "buffer": { "version": "4.9.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, "requires": { "base64-js": "1.2.1", "ieee754": "1.1.8", @@ -249,22 +953,26 @@ "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true }, "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true }, "cacache": { "version": "10.0.2", "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.2.tgz", "integrity": "sha512-dljb7dk1jqO5ogE+dRpoR9tpHYv5xz9vPSNunh1+0wRuNdYxmzp9WmsyokgW/DUF1FDRVA/TMsmxt027R8djbQ==", + "dev": true, "requires": { "bluebird": "3.5.1", "chownr": "1.0.1", @@ -284,21 +992,51 @@ "camelcase": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30000792", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000792.tgz", + "integrity": "sha1-0M6pgfgRjzlhRxr7tDyaHlu/AzI=", + "dev": true }, "center-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, "requires": { "align-text": "0.1.4", "lazy-cache": "1.0.4" } }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, "chokidar": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", @@ -314,12 +1052,14 @@ "chownr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "dev": true }, "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, "requires": { "inherits": "2.0.3", "safe-buffer": "5.1.1" @@ -329,6 +1069,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, "requires": { "center-align": "0.1.3", "right-align": "0.1.3", @@ -338,32 +1079,38 @@ "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true }, "commander": { "version": "2.13.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "concat-stream": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "dev": true, "requires": { "inherits": "2.0.3", "readable-stream": "2.3.3", @@ -374,6 +1121,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, "requires": { "date-now": "0.1.4" } @@ -381,12 +1129,20 @@ "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "convert-source-map": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", + "dev": true }, "copy-concurrently": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, "requires": { "aproba": "1.2.0", "fs-write-stream-atomic": "1.0.10", @@ -396,15 +1152,23 @@ "run-queue": "1.0.3" } }, + "core-js": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", + "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", + "dev": true + }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true }, "create-ecdh": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "dev": true, "requires": { "bn.js": "4.11.8", "elliptic": "6.4.0" @@ -414,6 +1178,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "dev": true, "requires": { "cipher-base": "1.0.4", "inherits": "2.0.3", @@ -425,6 +1190,7 @@ "version": "1.1.6", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "dev": true, "requires": { "cipher-base": "1.0.4", "create-hash": "1.1.3", @@ -438,6 +1204,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, "requires": { "lru-cache": "4.1.1", "shebang-command": "1.2.0", @@ -448,6 +1215,7 @@ "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, "requires": { "browserify-cipher": "1.0.0", "browserify-sign": "4.0.4", @@ -465,12 +1233,14 @@ "cyclist": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=" + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true }, "d": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, "requires": { "es5-ext": "0.10.38" } @@ -478,26 +1248,48 @@ "date-now": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } }, "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true }, "des.js": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, "requires": { "inherits": "2.0.3", "minimalistic-assert": "1.0.0" } }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, "diffie-hellman": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "dev": true, "requires": { "bn.js": "4.11.8", "miller-rabin": "4.0.1", @@ -507,12 +1299,14 @@ "domain-browser": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", - "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=" + "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", + "dev": true }, "duplexify": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.3.tgz", "integrity": "sha512-g8ID9OroF9hKt2POf8YLayy+9594PzmM3scI00/uBXocX3TWNgoB67hjzkFe9ITAbQOne/lLdBxHXvYUM4ZgGA==", + "dev": true, "requires": { "end-of-stream": "1.4.1", "inherits": "2.0.3", @@ -520,10 +1314,17 @@ "stream-shift": "1.0.0" } }, + "electron-to-chromium": { + "version": "1.3.32", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.32.tgz", + "integrity": "sha1-EdBoTAhA4APEvoko+KxfNdvCtOY=", + "dev": true + }, "elliptic": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "dev": true, "requires": { "bn.js": "4.11.8", "brorand": "1.1.0", @@ -537,12 +1338,14 @@ "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true }, "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, "requires": { "once": "1.4.0" } @@ -551,6 +1354,7 @@ "version": "3.4.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "memory-fs": "0.4.1", @@ -562,6 +1366,7 @@ "version": "0.1.6", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz", "integrity": "sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw==", + "dev": true, "requires": { "prr": "1.0.1" } @@ -570,6 +1375,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, "requires": { "is-arrayish": "0.2.1" } @@ -578,6 +1384,7 @@ "version": "0.10.38", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.38.tgz", "integrity": "sha512-jCMyePo7AXbUESwbl8Qi01VSH2piY9s/a3rSU/5w/MlTIx8HPL1xn2InGN8ejt/xulcJgnTO7vqNtOAxzYd2Kg==", + "dev": true, "requires": { "es6-iterator": "2.0.3", "es6-symbol": "3.1.1" @@ -587,6 +1394,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.38", @@ -597,6 +1405,7 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.38", @@ -610,6 +1419,7 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.38", @@ -622,6 +1432,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.38" @@ -631,6 +1442,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.38", @@ -638,10 +1450,17 @@ "es6-symbol": "3.1.1" } }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, "escope": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, "requires": { "es6-map": "0.1.5", "es6-weak-map": "2.0.2", @@ -653,6 +1472,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "dev": true, "requires": { "estraverse": "4.2.0", "object-assign": "4.1.1" @@ -661,12 +1481,20 @@ "estraverse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true }, "event-emitter": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, "requires": { "d": "1.0.0", "es5-ext": "0.10.38" @@ -675,12 +1503,14 @@ "events": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true }, "evp_bytestokey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, "requires": { "md5.js": "1.3.4", "safe-buffer": "5.1.1" @@ -690,6 +1520,7 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, "requires": { "cross-spawn": "5.1.0", "get-stream": "3.0.0", @@ -704,6 +1535,7 @@ "version": "0.1.5", "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, "requires": { "is-posix-bracket": "0.1.1" } @@ -712,6 +1544,7 @@ "version": "1.8.2", "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, "requires": { "fill-range": "2.2.3" } @@ -720,6 +1553,7 @@ "version": "0.3.2", "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, "requires": { "is-extglob": "1.0.0" } @@ -727,22 +1561,26 @@ "fast-deep-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", + "dev": true }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true }, "filename-regex": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true }, "fill-range": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "dev": true, "requires": { "is-number": "2.1.0", "isobject": "2.1.0", @@ -755,6 +1593,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, "requires": { "commondir": "1.0.1", "make-dir": "1.1.0", @@ -765,6 +1604,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, "requires": { "locate-path": "2.0.0" } @@ -773,6 +1613,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz", "integrity": "sha1-yBuQ2HRnZvGmCaRoCZRsRd2K5Bc=", + "dev": true, "requires": { "inherits": "2.0.3", "readable-stream": "2.3.3" @@ -781,12 +1622,14 @@ "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true }, "for-own": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, "requires": { "for-in": "1.0.2" } @@ -795,6 +1638,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, "requires": { "inherits": "2.0.3", "readable-stream": "2.3.3" @@ -804,6 +1648,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "iferr": "0.1.5", @@ -814,12 +1659,14 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "fsevents": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz", "integrity": "sha512-WIr7iDkdmdbxu/Gh6eKEZJL6KPE74/5MEsf2whTOFNxbIoIixogroLdKYqB6FDav4Wavh/lZdzzd3b2KxIXC5Q==", + "dev": true, "optional": true, "requires": { "nan": "2.8.0", @@ -828,12 +1675,16 @@ "dependencies": { "abbrev": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", + "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=", + "dev": true, "optional": true }, "ajv": { "version": "4.11.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "dev": true, "optional": true, "requires": { "co": "4.6.0", @@ -842,16 +1693,22 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true }, "aproba": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.1.1.tgz", + "integrity": "sha1-ldNgDwdxCqDpKYxyatXs8urLq6s=", + "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "dev": true, "optional": true, "requires": { "delegates": "1.0.0", @@ -860,36 +1717,50 @@ }, "asn1": { "version": "0.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true, "optional": true }, "assert-plus": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true, "optional": true }, "asynckit": { "version": "0.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true, "optional": true }, "aws-sign2": { "version": "0.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true, "optional": true }, "aws4": { "version": "1.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "dev": true, "optional": true }, "balanced-match": { "version": "0.4.2", - "bundled": true + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true }, "bcrypt-pbkdf": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, "optional": true, "requires": { "tweetnacl": "0.14.5" @@ -897,21 +1768,27 @@ }, "block-stream": { "version": "0.0.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, "requires": { "inherits": "2.0.3" } }, "boom": { "version": "2.10.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, "requires": { "hoek": "2.16.3" } }, "brace-expansion": { "version": "1.1.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.7.tgz", + "integrity": "sha1-Pv/DxQ4ABTH7cg6v+A8K6O8jz1k=", + "dev": true, "requires": { "balanced-match": "0.4.2", "concat-map": "0.0.1" @@ -919,51 +1796,71 @@ }, "buffer-shims": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz", + "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", + "dev": true }, "caseless": { "version": "0.12.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true, "optional": true }, "co": { "version": "4.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "bundled": true + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true }, "combined-stream": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true, "requires": { "delayed-stream": "1.0.0" } }, "concat-map": { "version": "0.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true }, "core-util-is": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true }, "cryptiles": { "version": "2.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, "requires": { "boom": "2.10.1" } }, "dashdash": { "version": "1.14.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, "optional": true, "requires": { "assert-plus": "1.0.0" @@ -971,14 +1868,18 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, "optional": true } } }, "debug": { "version": "2.6.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", + "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=", + "dev": true, "optional": true, "requires": { "ms": "2.0.0" @@ -986,26 +1887,36 @@ }, "deep-extend": { "version": "0.4.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", + "dev": true, "optional": true }, "delayed-stream": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true }, "delegates": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true, "optional": true }, "detect-libc": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.2.tgz", + "integrity": "sha1-ca1dIEvxempsqPRQxhRUBm70YeE=", + "dev": true, "optional": true }, "ecc-jsbn": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, "optional": true, "requires": { "jsbn": "0.1.1" @@ -1013,21 +1924,29 @@ }, "extend": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true, "optional": true }, "extsprintf": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz", + "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=", + "dev": true }, "forever-agent": { "version": "0.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, "optional": true }, "form-data": { "version": "2.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "dev": true, "optional": true, "requires": { "asynckit": "0.4.0", @@ -1037,11 +1956,15 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "fstream": { "version": "1.0.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "inherits": "2.0.3", @@ -1051,7 +1974,9 @@ }, "fstream-ignore": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", + "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", + "dev": true, "optional": true, "requires": { "fstream": "1.0.11", @@ -1061,7 +1986,9 @@ }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, "optional": true, "requires": { "aproba": "1.1.1", @@ -1076,7 +2003,9 @@ }, "getpass": { "version": "0.1.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, "optional": true, "requires": { "assert-plus": "1.0.0" @@ -1084,14 +2013,18 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, "optional": true } } }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -1103,16 +2036,22 @@ }, "graceful-fs": { "version": "4.1.11", - "bundled": true + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true }, "har-schema": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", + "dev": true, "optional": true }, "har-validator": { "version": "4.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "dev": true, "optional": true, "requires": { "ajv": "4.11.8", @@ -1121,12 +2060,16 @@ }, "has-unicode": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true, "optional": true }, "hawk": { "version": "3.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, "requires": { "boom": "2.10.1", "cryptiles": "2.0.5", @@ -1136,11 +2079,15 @@ }, "hoek": { "version": "2.16.3", - "bundled": true + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true }, "http-signature": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, "optional": true, "requires": { "assert-plus": "0.2.0", @@ -1150,7 +2097,9 @@ }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, "requires": { "once": "1.4.0", "wrappy": "1.0.2" @@ -1158,37 +2107,51 @@ }, "inherits": { "version": "2.0.3", - "bundled": true + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true }, "ini": { "version": "1.3.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", + "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", + "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "1.0.1" } }, "is-typedarray": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true, "optional": true }, "isarray": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "isstream": { "version": "0.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true, "optional": true }, "jodid25519": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", + "integrity": "sha1-BtSRIlUJNBlHfUJWM2BuDpB4KWc=", + "dev": true, "optional": true, "requires": { "jsbn": "0.1.1" @@ -1196,17 +2159,23 @@ }, "jsbn": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, "optional": true }, "json-schema": { "version": "0.2.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true, "optional": true }, "json-stable-stringify": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, "optional": true, "requires": { "jsonify": "0.0.0" @@ -1214,17 +2183,23 @@ }, "json-stringify-safe": { "version": "5.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true, "optional": true }, "jsonify": { "version": "0.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true, "optional": true }, "jsprim": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz", + "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=", + "dev": true, "optional": true, "requires": { "assert-plus": "1.0.0", @@ -1235,48 +2210,64 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, "optional": true } } }, "mime-db": { "version": "1.27.0", - "bundled": true + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz", + "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=", + "dev": true }, "mime-types": { "version": "2.1.15", - "bundled": true, + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz", + "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=", + "dev": true, "requires": { "mime-db": "1.27.0" } }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "requires": { "brace-expansion": "1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, "requires": { "minimist": "0.0.8" } }, "ms": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, "optional": true }, "node-pre-gyp": { "version": "0.6.39", - "bundled": true, + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz", + "integrity": "sha512-OsJV74qxnvz/AMGgcfZoDaeDXKD3oY3QVIbBmwszTFkRisTSXbMQyn4UWzUMOtA5SVhrBZOTp0wcoSBgfMfMmQ==", + "dev": true, "optional": true, "requires": { "detect-libc": "1.0.2", @@ -1294,7 +2285,9 @@ }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "dev": true, "optional": true, "requires": { "abbrev": "1.1.0", @@ -1303,7 +2296,9 @@ }, "npmlog": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.0.tgz", + "integrity": "sha512-ocolIkZYZt8UveuiDS0yAkkIjid1o7lPG8cYm05yNYzBn8ykQtaiPMEGp8fY9tKdDgm8okpdKzkvu1y9hUYugA==", + "dev": true, "optional": true, "requires": { "are-we-there-yet": "1.1.4", @@ -1314,38 +2309,52 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true }, "oauth-sign": { "version": "0.8.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true, "optional": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, "optional": true }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1.0.2" } }, "os-homedir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, "optional": true }, "osenv": { "version": "0.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", + "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", + "dev": true, "optional": true, "requires": { "os-homedir": "1.0.2", @@ -1354,30 +2363,42 @@ }, "path-is-absolute": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "performance-now": { "version": "0.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "dev": true, "optional": true }, "process-nextick-args": { "version": "1.0.7", - "bundled": true + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true }, "punycode": { "version": "1.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true, "optional": true }, "qs": { "version": "6.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "dev": true, "optional": true }, "rc": { "version": "1.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", + "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", + "dev": true, "optional": true, "requires": { "deep-extend": "0.4.2", @@ -1388,14 +2409,18 @@ "dependencies": { "minimist": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true, "optional": true } } }, "readable-stream": { "version": "2.2.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.9.tgz", + "integrity": "sha1-z3jsb0ptHrQ9JkiMrJfwQudLf8g=", + "dev": true, "requires": { "buffer-shims": "1.0.0", "core-util-is": "1.0.2", @@ -1408,7 +2433,9 @@ }, "request": { "version": "2.81.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "dev": true, "optional": true, "requires": { "aws-sign2": "0.6.0", @@ -1437,40 +2464,54 @@ }, "rimraf": { "version": "2.6.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", + "integrity": "sha1-wjOOxkPfeht/5cVPqG9XQopV8z0=", + "dev": true, "requires": { "glob": "7.1.2" } }, "safe-buffer": { "version": "5.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.0.1.tgz", + "integrity": "sha1-0mPKVGls2KMGtcplUekt5XkY++c=", + "dev": true }, "semver": { "version": "5.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true, "optional": true }, "sntp": { "version": "1.0.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, "requires": { "hoek": "2.16.3" } }, "sshpk": { "version": "1.13.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.0.tgz", + "integrity": "sha1-/yo+T9BEl1Vf7Zezmg/YL6+zozw=", + "dev": true, "optional": true, "requires": { "asn1": "0.2.3", @@ -1486,14 +2527,18 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, "optional": true } } }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -1502,31 +2547,41 @@ }, "string_decoder": { "version": "1.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.1.tgz", + "integrity": "sha1-YuIA8DmVWmgQ2N8KM//A8BNmLZg=", + "dev": true, "requires": { "safe-buffer": "5.0.1" } }, "stringstream": { "version": "0.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true, "optional": true }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "requires": { "ansi-regex": "2.1.1" } }, "strip-json-comments": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, "optional": true }, "tar": { "version": "2.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, "requires": { "block-stream": "0.0.9", "fstream": "1.0.11", @@ -1535,7 +2590,9 @@ }, "tar-pack": { "version": "3.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz", + "integrity": "sha1-I74tf2cagzk3bL2wuP4/3r8xeYQ=", + "dev": true, "optional": true, "requires": { "debug": "2.6.8", @@ -1550,7 +2607,9 @@ }, "tough-cookie": { "version": "2.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz", + "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=", + "dev": true, "optional": true, "requires": { "punycode": "1.4.1" @@ -1558,7 +2617,9 @@ }, "tunnel-agent": { "version": "0.6.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, "optional": true, "requires": { "safe-buffer": "5.0.1" @@ -1566,26 +2627,36 @@ }, "tweetnacl": { "version": "0.14.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, "optional": true }, "uid-number": { "version": "0.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", + "dev": true, "optional": true }, "util-deprecate": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true }, "uuid": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz", + "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=", + "dev": true, "optional": true }, "verror": { "version": "1.3.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz", + "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=", + "dev": true, "optional": true, "requires": { "extsprintf": "1.0.2" @@ -1593,7 +2664,9 @@ }, "wide-align": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "dev": true, "optional": true, "requires": { "string-width": "1.0.2" @@ -1601,24 +2674,29 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true } } }, "get-caller-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true }, "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -1632,6 +2710,7 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, "requires": { "glob-parent": "2.0.0", "is-glob": "2.0.1" @@ -1641,24 +2720,43 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, "requires": { "is-glob": "2.0.1" } }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, "graceful-fs": { "version": "4.1.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } }, "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true }, "hash-base": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "dev": true, "requires": { "inherits": "2.0.3" } @@ -1667,6 +2765,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, "requires": { "inherits": "2.0.3", "minimalistic-assert": "1.0.0" @@ -1676,46 +2775,64 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, "requires": { "hash.js": "1.1.3", "minimalistic-assert": "1.0.0", "minimalistic-crypto-utils": "1.0.1" } }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, "hosted-git-info": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==" + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", + "dev": true }, "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true }, "ieee754": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", + "dev": true }, "iferr": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true }, "indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, "requires": { "once": "1.4.0", "wrappy": "1.0.2" @@ -1724,27 +2841,41 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true }, "interpret": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=" + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "invariant": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", + "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "dev": true, + "requires": { + "loose-envify": "1.3.1" + } }, "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, "requires": { "binary-extensions": "1.11.0" } @@ -1752,12 +2883,14 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true }, "is-builtin-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, "requires": { "builtin-modules": "1.1.1" } @@ -1765,12 +2898,14 @@ "is-dotfile": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true }, "is-equal-shallow": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, "requires": { "is-primitive": "2.0.0" } @@ -1778,17 +2913,29 @@ "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true }, "is-extglob": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "1.0.1" } @@ -1797,6 +2944,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, "requires": { "is-extglob": "1.0.0" } @@ -1805,6 +2953,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, "requires": { "kind-of": "3.2.2" } @@ -1812,55 +2961,77 @@ "is-posix-bracket": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true }, "is-primitive": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, "isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, "requires": { "isarray": "1.0.0" } }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, "json-loader": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==" + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", + "dev": true }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true }, "json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true }, "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "1.1.6" } @@ -1868,12 +3039,14 @@ "lazy-cache": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, "requires": { "invert-kv": "1.0.0" } @@ -1882,6 +3055,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "parse-json": "2.2.0", @@ -1892,12 +3066,14 @@ "loader-runner": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", - "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=" + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", + "dev": true }, "loader-utils": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, "requires": { "big.js": "3.2.0", "emojis-list": "2.1.0", @@ -1908,6 +3084,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, "requires": { "p-locate": "2.0.0", "path-exists": "3.0.0" @@ -1916,17 +3093,29 @@ "lodash": { "version": "4.17.4", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", + "dev": true }, "longest": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", + "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } }, "lru-cache": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", + "dev": true, "requires": { "pseudomap": "1.0.2", "yallist": "2.1.2" @@ -1936,6 +3125,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", + "dev": true, "requires": { "pify": "3.0.0" }, @@ -1943,7 +3133,8 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true } } }, @@ -1951,6 +3142,7 @@ "version": "1.3.4", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dev": true, "requires": { "hash-base": "3.0.4", "inherits": "2.0.3" @@ -1960,6 +3152,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, "requires": { "inherits": "2.0.3", "safe-buffer": "5.1.1" @@ -1971,6 +3164,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, "requires": { "mimic-fn": "1.1.0" } @@ -1979,6 +3173,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, "requires": { "errno": "0.1.6", "readable-stream": "2.3.3" @@ -1988,6 +3183,7 @@ "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, "requires": { "arr-diff": "2.0.0", "array-unique": "0.2.1", @@ -2008,6 +3204,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, "requires": { "bn.js": "4.11.8", "brorand": "1.1.0" @@ -2016,22 +3213,26 @@ "mimic-fn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=" + "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", + "dev": true }, "minimalistic-assert": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", - "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" + "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", + "dev": true }, "minimalistic-crypto-utils": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "requires": { "brace-expansion": "1.1.8" } @@ -2039,12 +3240,14 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true }, "mississippi": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-1.3.0.tgz", "integrity": "sha1-0gFYPrEjJ+PFwWQqQEqcrPlONPU=", + "dev": true, "requires": { "concat-stream": "1.6.0", "duplexify": "3.5.3", @@ -2062,6 +3265,7 @@ "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, "requires": { "minimist": "0.0.8" } @@ -2070,6 +3274,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, "requires": { "aproba": "1.2.0", "copy-concurrently": "1.0.5", @@ -2079,16 +3284,24 @@ "run-queue": "1.0.3" } }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "nan": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", + "dev": true, "optional": true }, "node-libs-browser": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "dev": true, "requires": { "assert": "1.4.1", "browserify-zlib": "0.2.0", @@ -2119,6 +3332,7 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, "requires": { "hosted-git-info": "2.5.0", "is-builtin-module": "1.0.0", @@ -2130,6 +3344,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, "requires": { "remove-trailing-separator": "1.1.0" } @@ -2138,6 +3353,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, "requires": { "path-key": "2.0.1" } @@ -2145,17 +3361,20 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true }, "object.omit": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, "requires": { "for-own": "0.1.5", "is-extendable": "0.1.1" @@ -2165,6 +3384,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1.0.2" } @@ -2172,27 +3392,43 @@ "os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true }, "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, "requires": { "execa": "0.7.0", "lcid": "1.0.0", "mem": "1.1.0" } }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true }, "p-limit": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", + "dev": true, "requires": { "p-try": "1.0.0" } @@ -2201,6 +3437,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, "requires": { "p-limit": "1.2.0" } @@ -2208,22 +3445,25 @@ "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true }, "page-metadata-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/page-metadata-parser/-/page-metadata-parser-1.1.0.tgz", - "integrity": "sha512-mXEJpxXYWEnwKePsR/HgL8E6QMioc7L2IFFRGEvyFm9AigH54PBD8nXWwBsUqpiPS5SXFAlyEC5XibIo4OL26g==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/page-metadata-parser/-/page-metadata-parser-1.1.2.tgz", + "integrity": "sha512-zqV0aBiUq0RBGLumedJyjsCW9LEuszFORdH54yU26DZ/Bpy1GDpacsfUuvB+lOlOnPIAm0EWm6B0E+pW9hLGiA==" }, "pako": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==" + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", + "dev": true }, "parallel-transform": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, "requires": { "cyclist": "0.2.2", "inherits": "2.0.3", @@ -2234,6 +3474,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "dev": true, "requires": { "asn1.js": "4.9.2", "browserify-aes": "1.1.1", @@ -2246,6 +3487,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, "requires": { "glob-base": "0.3.0", "is-dotfile": "1.0.3", @@ -2257,6 +3499,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, "requires": { "error-ex": "1.3.1" } @@ -2264,27 +3507,32 @@ "path-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true }, "path-type": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, "requires": { "pify": "2.3.0" } @@ -2293,6 +3541,7 @@ "version": "3.0.14", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", + "dev": true, "requires": { "create-hash": "1.1.3", "create-hmac": "1.1.6", @@ -2304,12 +3553,14 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true }, "pkg-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, "requires": { "find-up": "2.1.0" } @@ -2317,37 +3568,50 @@ "preserve": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true }, "process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true }, "process-nextick-args": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true }, "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true }, "public-encrypt": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "dev": true, "requires": { "bn.js": "4.11.8", "browserify-rsa": "4.0.1", @@ -2360,6 +3624,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "dev": true, "requires": { "end-of-stream": "1.4.1", "once": "1.4.0" @@ -2369,6 +3634,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz", "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==", + "dev": true, "requires": { "duplexify": "3.5.3", "inherits": "2.0.3", @@ -2379,6 +3645,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.0.tgz", "integrity": "sha512-6MYypjOvtiXhBSTOD0Zs5eNjCGfnqi5mPsCsW+dgKTxrZzQMZQNpBo3XRkLx7id753f3EeyHLBqzqqUymIolgw==", + "dev": true, "requires": { "end-of-stream": "1.4.1", "once": "1.4.0" @@ -2389,22 +3656,26 @@ "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true }, "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true }, "querystring-es3": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true }, "randomatic": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", + "dev": true, "requires": { "is-number": "3.0.0", "kind-of": "4.0.0" @@ -2414,6 +3685,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, "requires": { "kind-of": "3.2.2" }, @@ -2422,6 +3694,7 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, "requires": { "is-buffer": "1.1.6" } @@ -2432,6 +3705,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, "requires": { "is-buffer": "1.1.6" } @@ -2442,6 +3716,7 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "dev": true, "requires": { "safe-buffer": "5.1.1" } @@ -2450,6 +3725,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.3.tgz", "integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==", + "dev": true, "requires": { "randombytes": "2.0.6", "safe-buffer": "5.1.1" @@ -2459,6 +3735,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, "requires": { "load-json-file": "2.0.0", "normalize-package-data": "2.4.0", @@ -2469,18 +3746,20 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, "requires": { "find-up": "2.1.0", "read-pkg": "2.0.0" } }, "readability": { - "version": "git+https://github.com/mozilla/readability.git#fd1557560add5bf5f926e8f0601d879762ab6367" + "version": "github:mozilla/readability#3c76104adb00eb9897517e6be6c74c6c05918dfe" }, "readable-stream": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", @@ -2495,6 +3774,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "minimatch": "3.0.4", @@ -2502,43 +3782,116 @@ "set-immediate-shim": "1.0.1" } }, + "regenerate": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", + "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" + } + }, "regex-cache": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, "requires": { "is-equal-shallow": "0.1.3" } }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true }, "repeat-element": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", + "dev": true }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, "requires": { "align-text": "0.1.4" } @@ -2547,6 +3900,7 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, "requires": { "glob": "7.1.2" } @@ -2555,6 +3909,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "dev": true, "requires": { "hash-base": "2.0.2", "inherits": "2.0.3" @@ -2564,6 +3919,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, "requires": { "aproba": "1.2.0" } @@ -2571,12 +3927,14 @@ "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true }, "schema-utils": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.3.tgz", "integrity": "sha512-sgv/iF/T4/SewJkaVpldKC4WjSkz0JsOh2eKtxCPpCO1oR05+7MOF+H476HVRbLArkgA7j5TRJJ4p2jdFkUGQQ==", + "dev": true, "requires": { "ajv": "5.5.2", "ajv-keywords": "2.1.1" @@ -2585,32 +3943,38 @@ "semver": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", + "dev": true }, "serialize-javascript": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.4.0.tgz", - "integrity": "sha1-fJWFFNtqwkQ6irwGLcn3iGp/YAU=" + "integrity": "sha1-fJWFFNtqwkQ6irwGLcn3iGp/YAU=", + "dev": true }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true }, "set-immediate-shim": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true }, "setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true }, "sha.js": { "version": "2.4.9", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", + "dev": true, "requires": { "inherits": "2.0.3", "safe-buffer": "5.1.1" @@ -2620,6 +3984,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, "requires": { "shebang-regex": "1.0.0" } @@ -2627,27 +3992,47 @@ "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true }, "source-list-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==" + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", + "dev": true }, "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "0.5.7" + } }, "spdx-correct": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true, "requires": { "spdx-license-ids": "1.2.2" } @@ -2655,17 +4040,20 @@ "spdx-expression-parse": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=" + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true }, "spdx-license-ids": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true }, "ssri": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.0.0.tgz", "integrity": "sha512-728D4yoQcQm1ooZvSbywLkV1RjfITZXh0oWrhM/lnsx3nAHx7LsRGJWB/YyvoceAYRq98xqbstiN4JBv1/wNHg==", + "dev": true, "requires": { "safe-buffer": "5.1.1" } @@ -2674,6 +4062,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, "requires": { "inherits": "2.0.3", "readable-stream": "2.3.3" @@ -2683,6 +4072,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", + "dev": true, "requires": { "end-of-stream": "1.4.1", "stream-shift": "1.0.0" @@ -2692,6 +4082,7 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", + "dev": true, "requires": { "builtin-status-codes": "3.0.0", "inherits": "2.0.3", @@ -2703,12 +4094,14 @@ "stream-shift": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0", "strip-ansi": "4.0.0" @@ -2717,17 +4110,20 @@ "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, "requires": { "ansi-regex": "3.0.0" } @@ -2738,6 +4134,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, "requires": { "safe-buffer": "5.1.1" } @@ -2746,6 +4143,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "requires": { "ansi-regex": "2.1.1" } @@ -2753,17 +4151,20 @@ "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true }, "supports-color": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, "requires": { "has-flag": "2.0.0" } @@ -2771,12 +4172,14 @@ "tapable": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", - "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=" + "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", + "dev": true }, "through2": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, "requires": { "readable-stream": "2.3.3", "xtend": "4.0.1" @@ -2786,6 +4189,7 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.4.tgz", "integrity": "sha512-uZYhyU3EX8O7HQP+J9fTVYwsq90Vr68xPEFo7yrVImIxYvHgukBEgOB/SgGoorWVTzGM/3Z+wUNnboA4M8jWrg==", + "dev": true, "requires": { "setimmediate": "1.0.5" } @@ -2793,22 +4197,38 @@ "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true }, "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true }, "uglify-es": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.7.tgz", "integrity": "sha512-fGMnE6SsDRsCjxm78C+lv7MuXsse/dtF7QuTUT43BYf4jlxPjd+XTnGB8YjaCQJ3sv2LT4zk0mwpp9+QJocU6g==", + "dev": true, "requires": { "commander": "2.13.0", "source-map": "0.6.1" @@ -2817,7 +4237,8 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, @@ -2825,12 +4246,14 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, "optional": true }, "uglifyjs-webpack-plugin": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.6.tgz", "integrity": "sha512-VUja+7rYbznEvUaeb8IxOCTUrq4BCb1ml0vffa+mfwKtrAwlqnU0ENF14DtYltV1cxd/HSuK51CCA/D/8kMQVw==", + "dev": true, "requires": { "cacache": "10.0.2", "find-cache-dir": "1.0.0", @@ -2845,7 +4268,8 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, @@ -2853,6 +4277,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "dev": true, "requires": { "unique-slug": "2.0.0" } @@ -2861,6 +4286,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "dev": true, "requires": { "imurmurhash": "0.1.4" } @@ -2869,6 +4295,7 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, "requires": { "punycode": "1.3.2", "querystring": "0.2.0" @@ -2877,7 +4304,8 @@ "punycode": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true } } }, @@ -2885,6 +4313,7 @@ "version": "0.10.3", "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, "requires": { "inherits": "2.0.1" }, @@ -2892,19 +4321,22 @@ "inherits": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true } } }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true }, "validate-npm-package-license": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true, "requires": { "spdx-correct": "1.0.2", "spdx-expression-parse": "1.0.4" @@ -2914,6 +4346,7 @@ "version": "0.0.4", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, "requires": { "indexof": "0.0.1" } @@ -2922,6 +4355,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", + "dev": true, "requires": { "async": "2.6.0", "chokidar": "1.7.0", @@ -2932,6 +4366,7 @@ "version": "3.10.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.10.0.tgz", "integrity": "sha512-fxxKXoicjdXNUMY7LIdY89tkJJJ0m1Oo8PQutZ5rLgWbV5QVKI15Cn7+/IHnRTd3vfKfiwBx6SBqlorAuNA8LA==", + "dev": true, "requires": { "acorn": "5.3.0", "acorn-dynamic-import": "2.0.2", @@ -2961,6 +4396,7 @@ "version": "2.8.29", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, "requires": { "source-map": "0.5.7", "uglify-to-browserify": "1.0.2", @@ -2971,6 +4407,7 @@ "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, "requires": { "camelcase": "1.2.1", "cliui": "2.1.0", @@ -2984,6 +4421,7 @@ "version": "0.4.6", "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "dev": true, "requires": { "source-map": "0.5.7", "uglify-js": "2.8.29", @@ -2996,6 +4434,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "dev": true, "requires": { "source-list-map": "2.0.0", "source-map": "0.6.1" @@ -3004,7 +4443,8 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true } } }, @@ -3012,6 +4452,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "dev": true, "requires": { "isexe": "2.0.0" } @@ -3019,22 +4460,26 @@ "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true }, "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true }, "wordwrap": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true }, "worker-farm": { "version": "1.5.2", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz", "integrity": "sha512-XxiQ9kZN5n6mmnW+mFJ+wXjNNI/Nx4DIdaAKLX1Bn6LYBWlN/zaBhu34DQYPZ1AJobQuu67S2OfDdNSVULvXkQ==", + "dev": true, "requires": { "errno": "0.1.6", "xtend": "4.0.1" @@ -3044,6 +4489,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, "requires": { "string-width": "1.0.2", "strip-ansi": "3.0.1" @@ -3053,6 +4499,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -3064,27 +4511,32 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "xtend": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true }, "y18n": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true }, "yargs": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "dev": true, "requires": { "camelcase": "4.1.0", "cliui": "3.2.0", @@ -3104,12 +4556,14 @@ "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, "requires": { "string-width": "1.0.2", "strip-ansi": "3.0.1", @@ -3120,6 +4574,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -3134,6 +4589,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, "requires": { "camelcase": "4.1.0" }, @@ -3141,7 +4597,8 @@ "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true } } } diff --git a/package.json b/package.json old mode 100644 new mode 100755 index d432e7fa7..014b0ce23 --- a/package.json +++ b/package.json @@ -11,9 +11,15 @@ }, "license": "MPL-2.0", "dependencies": { + "page-metadata-parser": "^1.1.2", + "readability": "mozilla/readability#3c76104adb00eb9897517e6be6c74c6c05918dfe" + }, + "devDependencies": { + "babel-core": "^6.26.0", + "babel-loader": "^7.1.2", + "babel-preset-env": "^1.6.1", + "babel-preset-es2015": "^6.24.1", "glob": "^7.1.2", - "page-metadata-parser": "^1.1.0", - "readability": "git+https://github.com/mozilla/readability.git", "uglifyjs-webpack-plugin": "^1.1.6", "webpack": "^3.10.0" } diff --git a/shipping_locales.txt b/shipping_locales.txt old mode 100644 new mode 100755 index 5247ff84e..88f002501 --- a/shipping_locales.txt +++ b/shipping_locales.txt @@ -1,4 +1,6 @@ af +an +ar ast az bg @@ -20,11 +22,14 @@ es-AR es-CL es-MX eu +fa fr ga-IE gd gl +he hi-IN +hr hsb hu hy-AM @@ -33,6 +38,7 @@ id is it ja +ka kab kk km @@ -48,6 +54,7 @@ nb-NO ne-NP nl nn-NO +oc or pa-IN pl @@ -68,6 +75,7 @@ th tl tr uk +ur uz zh-CN zh-TW diff --git a/webpack.config.js b/webpack.config.js old mode 100644 new mode 100755 index 35da05b3c..a49db9504 --- a/webpack.config.js +++ b/webpack.config.js @@ -32,6 +32,26 @@ module.exports = { filename: "[name].js", path: path.resolve(__dirname, "Client/Assets") }, + module: { + rules: [ + { + test: /\.js$/, + exclude: /node_modules\/(?!(readability|page-metadata-parser)\/).*/, + use: { + loader: "babel-loader", + options: { + presets: [ + ["env", { + targets: { + iOS: "10.3" + } + }] + ] + } + } + } + ] + }, plugins: [ new UglifyJsPlugin() ]