summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndres Rey <[email protected]>2018-11-25 12:47:06 +0000
committerGitHub <[email protected]>2018-11-25 12:47:06 +0000
commite1b31f9284225cc7121d8798d4757ea81704e44c (patch)
tree8ed70368b49a0fe3da8a4b7cc1057f97446dcdc5
parent992a11260de32a036c932a8ba61bcc8a46c34dd1 (diff)
parentfcbb76a9a015b85bab63324e10ddfa993be17f78 (diff)
Merge pull request #71 from andreskrey/development
v2.0.0
-rw-r--r--.travis.yml7
-rw-r--r--CHANGELOG.md20
-rw-r--r--Makefile15
-rw-r--r--README.md18
-rw-r--r--composer.json6
-rw-r--r--docker-compose.yml20
-rw-r--r--docker/php-7.0/Dockerfile2
-rw-r--r--docker/php-7.1/Dockerfile2
-rw-r--r--docker/php-7.2/Dockerfile2
-rw-r--r--src/Configuration.php40
-rw-r--r--src/Nodes/DOM/DOMNode.php1
-rw-r--r--src/Nodes/NodeTrait.php162
-rw-r--r--src/Nodes/NodeUtility.php11
-rw-r--r--src/Readability.php289
-rw-r--r--test/ConfigurationTest.php4
-rw-r--r--test/ReadabilityTest.php2
-rw-r--r--test/test-pages/002/expected-metadata.json2
-rw-r--r--test/test-pages/002/expected.html87
-rw-r--r--test/test-pages/003-metadata-preferred/expected-images.json1
-rw-r--r--test/test-pages/003-metadata-preferred/expected-metadata.json5
-rw-r--r--test/test-pages/003-metadata-preferred/expected.html18
-rw-r--r--test/test-pages/003-metadata-preferred/source.html45
-rw-r--r--test/test-pages/004-metadata-space-separated-properties/expected-images.json1
-rw-r--r--test/test-pages/004-metadata-space-separated-properties/expected-metadata.json5
-rw-r--r--test/test-pages/004-metadata-space-separated-properties/expected.html18
-rw-r--r--test/test-pages/004-metadata-space-separated-properties/source.html35
-rw-r--r--test/test-pages/aclu/config.json3
-rw-r--r--test/test-pages/aclu/expected-images.json1
-rw-r--r--test/test-pages/aclu/expected-metadata.json5
-rw-r--r--test/test-pages/aclu/expected.html124
-rw-r--r--test/test-pages/aclu/source.html1264
-rw-r--r--test/test-pages/basic-tags-cleaning/expected.html1
-rw-r--r--test/test-pages/bbc-1/expected-images.json2
-rw-r--r--test/test-pages/bbc-1/expected-metadata.json4
-rw-r--r--test/test-pages/blogger/expected-images.json2
-rw-r--r--test/test-pages/blogger/expected.html44
-rw-r--r--test/test-pages/breitbart/expected-images.json2
-rw-r--r--test/test-pages/breitbart/expected-metadata.json2
-rw-r--r--test/test-pages/breitbart/expected.html2
-rw-r--r--test/test-pages/bug-1255978/expected-images.json2
-rw-r--r--test/test-pages/bug-1255978/expected-metadata.json2
-rw-r--r--test/test-pages/bug-1255978/expected.html51
-rw-r--r--test/test-pages/buzzfeed-1/expected-images.json2
-rw-r--r--test/test-pages/buzzfeed-1/expected-metadata.json3
-rw-r--r--test/test-pages/buzzfeed-1/expected.html4
-rw-r--r--test/test-pages/challenges/expected-images.json2
-rw-r--r--test/test-pages/clean-links/expected.html5
-rw-r--r--test/test-pages/cnet-svg-classes/expected-images.json2
-rw-r--r--test/test-pages/cnet-svg-classes/expected.html4
-rw-r--r--test/test-pages/cnet/expected-images.json2
-rw-r--r--test/test-pages/cnn/expected-images.json2
-rw-r--r--test/test-pages/cnn/expected.html23
-rw-r--r--test/test-pages/ehow-1/expected-images.json2
-rw-r--r--test/test-pages/ehow-1/expected-metadata.json4
-rw-r--r--test/test-pages/ehow-1/expected.html33
-rw-r--r--test/test-pages/ehow-2/expected-images.json2
-rw-r--r--test/test-pages/ehow-2/expected-metadata.json4
-rw-r--r--test/test-pages/ehow-2/expected.html43
-rw-r--r--test/test-pages/engadget/expected-images.json1
-rw-r--r--test/test-pages/engadget/expected-metadata.json4
-rw-r--r--test/test-pages/engadget/expected.html479
-rw-r--r--test/test-pages/engadget/source.html3513
-rw-r--r--test/test-pages/fortressofsolitude/config.json3
-rw-r--r--test/test-pages/fortressofsolitude/expected-images.json1
-rw-r--r--test/test-pages/fortressofsolitude/expected-metadata.json5
-rw-r--r--test/test-pages/fortressofsolitude/expected.html1
-rw-r--r--test/test-pages/fortressofsolitude/source.html141
-rw-r--r--test/test-pages/gmw/expected.html3
-rw-r--r--test/test-pages/heise/expected-images.json2
-rw-r--r--test/test-pages/heise/expected-metadata.json2
-rw-r--r--test/test-pages/herald-sun-1/expected-metadata.json2
-rw-r--r--test/test-pages/herald-sun-1/expected.html7
-rw-r--r--test/test-pages/herald-sun-1/source.html126
-rw-r--r--test/test-pages/hidden-nodes/expected-images.json1
-rw-r--r--test/test-pages/hidden-nodes/expected-metadata.json4
-rw-r--r--test/test-pages/hidden-nodes/expected.html14
-rw-r--r--test/test-pages/hidden-nodes/source.html29
-rw-r--r--test/test-pages/hukumusume/expected.html66
-rw-r--r--test/test-pages/hukumusume/source.html589
-rw-r--r--test/test-pages/iab-1/expected-images.json2
-rw-r--r--test/test-pages/iab-1/expected-metadata.json2
-rw-r--r--test/test-pages/iab-1/expected.html5
-rw-r--r--test/test-pages/ietf-1/expected-metadata.json4
-rw-r--r--test/test-pages/ietf-1/expected.html8
-rw-r--r--test/test-pages/infobae/expected-images.json2
-rw-r--r--test/test-pages/infobae/expected.html2
-rw-r--r--test/test-pages/keep-images/expected-images.json2
-rw-r--r--test/test-pages/keep-images/expected-metadata.json2
-rw-r--r--test/test-pages/keep-images/expected.html32
-rw-r--r--test/test-pages/la-nacion/expected-images.json2
-rw-r--r--test/test-pages/la-nacion/expected-metadata.json4
-rw-r--r--test/test-pages/la-nacion/expected.html5
-rw-r--r--test/test-pages/lemonde-1/expected-images.json2
-rw-r--r--test/test-pages/lemonde-2/expected-images.json2
-rw-r--r--test/test-pages/lemonde-2/expected.html2
-rw-r--r--test/test-pages/liberation-1/expected-images.json2
-rw-r--r--test/test-pages/lifehacker-post-comment-load/expected-images.json2
-rw-r--r--test/test-pages/lifehacker-post-comment-load/expected.html12
-rw-r--r--test/test-pages/lifehacker-working/expected-images.json2
-rw-r--r--test/test-pages/lifehacker-working/expected.html12
-rw-r--r--test/test-pages/links-in-tables/expected-images.json2
-rw-r--r--test/test-pages/links-in-tables/expected.html100
-rw-r--r--test/test-pages/lwn-1/expected.html34
-rw-r--r--test/test-pages/medium-1/expected-images.json2
-rw-r--r--test/test-pages/medium-1/expected-metadata.json2
-rw-r--r--test/test-pages/medium-1/expected.html14
-rw-r--r--test/test-pages/medium-2/expected-metadata.json2
-rw-r--r--test/test-pages/medium-2/expected.html2
-rw-r--r--test/test-pages/medium-3/expected-images.json2
-rw-r--r--test/test-pages/medium-3/expected-metadata.json4
-rw-r--r--test/test-pages/medium-3/source.html4
-rw-r--r--test/test-pages/mozilla-1/expected-images.json2
-rw-r--r--test/test-pages/mozilla-1/expected-metadata.json2
-rw-r--r--test/test-pages/mozilla-1/expected.html37
-rw-r--r--test/test-pages/mozilla-2/expected-images.json2
-rw-r--r--test/test-pages/mozilla-2/expected.html2
-rw-r--r--test/test-pages/msn/expected-images.json2
-rw-r--r--test/test-pages/msn/expected-metadata.json2
-rw-r--r--test/test-pages/needs-entity-normalization/config.json3
-rw-r--r--test/test-pages/needs-entity-normalization/expected-images.json1
-rw-r--r--test/test-pages/needs-entity-normalization/expected-metadata.json5
-rw-r--r--test/test-pages/needs-entity-normalization/expected.html7
-rwxr-xr-xtest/test-pages/needs-entity-normalization/source.html1433
-rw-r--r--test/test-pages/nytimes-1/expected-images.json2
-rw-r--r--test/test-pages/nytimes-1/expected.html6
-rw-r--r--test/test-pages/nytimes-2/expected-images.json2
-rw-r--r--test/test-pages/nytimes-2/expected.html10
-rw-r--r--test/test-pages/pixnet/expected-images.json2
-rw-r--r--test/test-pages/remove-extra-brs/expected.html4
-rw-r--r--test/test-pages/replace-brs/expected-metadata.json2
-rw-r--r--test/test-pages/replace-brs/expected.html18
-rw-r--r--test/test-pages/replace-brs/source.html18
-rw-r--r--test/test-pages/replace-font-tags/expected.html3
-rw-r--r--test/test-pages/rtl-3/expected.html2
-rw-r--r--test/test-pages/salon-1/expected-images.json2
-rw-r--r--test/test-pages/salon-1/expected-metadata.json2
-rw-r--r--test/test-pages/simplyfound-1/expected-images.json2
-rw-r--r--test/test-pages/simplyfound-1/expected-metadata.json2
-rw-r--r--test/test-pages/table-style-attributes/expected.html6
-rw-r--r--test/test-pages/table-style-attributes/source.html2
-rw-r--r--test/test-pages/telegraph/expected-images.json2
-rw-r--r--test/test-pages/telegraph/expected-metadata.json2
-rw-r--r--test/test-pages/tmz-1/expected.html4
-rw-r--r--test/test-pages/tumblr/expected-images.json2
-rw-r--r--test/test-pages/tumblr/expected-metadata.json2
-rw-r--r--test/test-pages/tumblr/expected.html2
-rw-r--r--test/test-pages/wapo-1/expected-images.json2
-rw-r--r--test/test-pages/wapo-1/expected.html9
-rw-r--r--test/test-pages/wapo-2/expected-images.json2
-rw-r--r--test/test-pages/wapo-2/expected.html9
-rw-r--r--test/test-pages/webmd-1/expected.html2
-rw-r--r--test/test-pages/webmd-2/expected.html1
-rw-r--r--test/test-pages/wikia/expected-images.json2
-rw-r--r--test/test-pages/wikipedia/expected.html166
-rw-r--r--test/test-pages/wordpress/expected-images.json2
-rw-r--r--test/test-pages/wordpress/expected-metadata.json2
-rw-r--r--test/test-pages/yahoo-1/expected-images.json2
-rw-r--r--test/test-pages/yahoo-1/expected.html20
-rw-r--r--test/test-pages/yahoo-2/expected-images.json2
-rw-r--r--test/test-pages/yahoo-2/expected-metadata.json2
-rw-r--r--test/test-pages/yahoo-2/expected.html2
-rw-r--r--test/test-pages/yahoo-3/expected-images.json2
-rw-r--r--test/test-pages/yahoo-3/expected-metadata.json3
-rw-r--r--test/test-pages/yahoo-3/expected.html7
-rw-r--r--test/test-pages/yahoo-4/expected-images.json2
-rw-r--r--test/test-pages/yahoo-4/expected-metadata.json4
-rw-r--r--test/test-pages/yahoo-4/expected.html8
167 files changed, 7060 insertions, 2523 deletions
diff --git a/.travis.yml b/.travis.yml
index a80e094..aac3571 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,13 +1,16 @@
language: php
+before_install:
+ - apt-cache policy libxml2
+
install:
- composer install
php:
- - "5.6"
- "7.0"
- "7.1"
- "7.2"
+ - "7.3"
script:
- ./vendor/bin/phpunit --coverage-clover ./test/clover.xml
@@ -15,5 +18,3 @@ script:
after_script:
- composer require php-coveralls/php-coveralls:^2.0
- php ./vendor/php-coveralls/php-coveralls/bin/php-coveralls -v
-
-sudo: false \ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7c636fe..7879d1a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file.
## Unreleased
+## [v2.0.0](https://github.com/andreskrey/readability.php/releases/tag/v2.0.0)
+
+- [BREAKING CHANGE] Bumped the minimum supported version of PHP to 7.0
+- Clean `<aside>` tags during `prepArticle()`.
+- Merged PR #58: Fix notice non-object on $parentOfTopCandidate for tumblr.com
+- Fixed issue #63: Division by zero
+- Housekeeping:
+ - Removed $parseSuccessful flag that wasn't needed anymore
+- Rename wordThreshold to charThreshold and throw deprecation notices. WordThreshold will be removed in version 3.0.
+- Added "-ad-" as unlikely candidate
+- Added Docker containers with PHP 7.0, 7.1, and 7.2 and makefile to trigger the tests.
+- Imported new code from the JS version as of [19 Nov 2018](https://github.com/mozilla/readability/commit/876c81f710711ba2afb36dd83889d4c5b4fc2743), which includes the following changes:
+ - Move phrasing contents [into paragraphs](https://github.com/mozilla/readability/commit/9f2c5cb42ee9635f091178271d66888cbb47e5dc)
+ - Improved the title detection
+ - Remove [single cell tables](https://github.com/mozilla/readability/commit/ea4165721f9105d8f1e53cfecdcfdafceaf3e4bf)
+ - Improved the detection of video related elements
+ - New test cases
+ - Various minor fixes
+
+
## [v1.2.0](https://github.com/andreskrey/readability.php/releases/tag/v1.2.0)
- Merged PR#49 (Missing object when calling `->getContent()`)
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..99616c7
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,15 @@
+.PHONY: test-all test-7.2 test-7.1 test-7.0
+
+test-all: start test-7.2 test-7.1 test-7.0
+
+test-7.2:
+ docker-compose exec php-7.2 php /app/vendor/phpunit/phpunit/phpunit --configuration /app/phpunit.xml
+
+test-7.1:
+ docker-compose exec php-7.1 php /app/vendor/phpunit/phpunit/phpunit --configuration /app/phpunit.xml
+
+test-7.0:
+ docker-compose exec php-7.0 php /app/vendor/phpunit/phpunit/phpunit --configuration /app/phpunit.xml
+
+start:
+ docker-compose up -d \ No newline at end of file
diff --git a/README.md b/README.md
index 19b3dc3..b6b1e29 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@ The project aim is to be a 1 to 1 port of Mozilla's version and to follow closel
## Requirements
-PHP 5.6+, ext-dom, ext-xml, and ext-mbstring. To install all this dependencies (in the rare case your system does not have them already), you could try something like this in *nix like environments:
+PHP 7.0+, ext-dom, ext-xml, and ext-mbstring. To install all this dependencies (in the rare case your system does not have them already), you could try something like this in *nix like environments:
`$ sudo apt-get install php7.1-xml php7.1-mbstring`
@@ -26,6 +26,7 @@ Then, create a Readability class and pass a Configuration class, feed the `parse
```php
use andreskrey\Readability\Readability;
use andreskrey\Readability\Configuration;
+use andreskrey\Readability\ParseException;
$readability = new Readability(new Configuration());
@@ -158,14 +159,27 @@ Readability.php uses the [PSR Log](https://github.com/php-fig/log) interface to
- Keep up with Readability.js changes
- Add a small template engine for the __toString() method, instead of using a hardcoded one.
+- Replace all the `iterator_to_array` calls with a custom PHP generator that keeps track of the removed or altered nodes.
## How it works
Readability parses all the text with DOMDocument, scans the text nodes and gives the a score, based on the amount of words, links and type of element. Then it selects the highest scoring element and creates a new DOMDocument with all its siblings. Each sibling is scored to discard useless elements, like nav bars, empty nodes, etc.
+## Testing
+
+Any version of PHP installed locally should be enough to develop new features and add new test cases. If you want to be 100% sure that your change doesn't create any issues with other versions of PHP, you can use the provided Docker containers to test currently in 7.0, 7.1, and 7.2.
+
+You'll need Docker and Docker Compose for this. To run all the tests in all the available versions just type the following command:
+
+```bash
+make test-all
+```
+
+This will start all the containers and run all the tests on every supported version of PHP. If you want to test against a specific version, you can use `make test-7.0`, `make test-7.1`, or `make test-7.2`.
+
## Code porting
-Up to date with readability.js as of [2 Mar 2018](https://github.com/mozilla/readability/commit/8525c6af36d3badbe27c4672a6f2dd99ddb4097f).
+Up to date with readability.js as of [19 Nov 2018](https://github.com/mozilla/readability/commit/876c81f710711ba2afb36dd83889d4c5b4fc2743).
## License
diff --git a/composer.json b/composer.json
index 66c1eb8..2a5a1b4 100644
--- a/composer.json
+++ b/composer.json
@@ -18,15 +18,15 @@
}
},
"require": {
- "php": ">=5.6.0",
+ "php": ">=7.0.0",
"ext-dom": "*",
"ext-xml": "*",
"ext-mbstring": "*",
"psr/log": "^1.0"
},
"require-dev": {
- "phpunit/phpunit": "^5.7",
- "monolog/monolog": "^1.23"
+ "phpunit/phpunit": "^6.5",
+ "monolog/monolog": "^1.24"
},
"suggest": {
"monolog/monolog": "Allow logging debug information"
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..fe81cdf
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,20 @@
+version: '3'
+
+services:
+ php-7.0:
+ build: ./docker/php-7.0
+ volumes:
+ - ./:/app
+ tty: true
+
+ php-7.1:
+ build: ./docker/php-7.1
+ volumes:
+ - ./:/app
+ tty: true
+
+ php-7.2:
+ build: ./docker/php-7.2
+ volumes:
+ - ./:/app
+ tty: true
diff --git a/docker/php-7.0/Dockerfile b/docker/php-7.0/Dockerfile
new file mode 100644
index 0000000..c7574a1
--- /dev/null
+++ b/docker/php-7.0/Dockerfile
@@ -0,0 +1,2 @@
+FROM php:7.0-cli
+RUN pecl install xdebug && docker-php-ext-enable xdebug \ No newline at end of file
diff --git a/docker/php-7.1/Dockerfile b/docker/php-7.1/Dockerfile
new file mode 100644
index 0000000..e4cf46e
--- /dev/null
+++ b/docker/php-7.1/Dockerfile
@@ -0,0 +1,2 @@
+FROM php:7.1-cli
+RUN pecl install xdebug && docker-php-ext-enable xdebug \ No newline at end of file
diff --git a/docker/php-7.2/Dockerfile b/docker/php-7.2/Dockerfile
new file mode 100644
index 0000000..6b796f6
--- /dev/null
+++ b/docker/php-7.2/Dockerfile
@@ -0,0 +1,2 @@
+FROM php:7.2-cli
+RUN pecl install xdebug && docker-php-ext-enable xdebug \ No newline at end of file
diff --git a/src/Configuration.php b/src/Configuration.php
index 951740e..6c17bc7 100644
--- a/src/Configuration.php
+++ b/src/Configuration.php
@@ -21,7 +21,7 @@ class Configuration
/**
* @var int
*/
- protected $wordThreshold = 500;
+ protected $charThreshold = 500;
/**
* @var bool
@@ -109,9 +109,9 @@ class Configuration
// If no logger has been set, just return a null logger
if ($this->logger === null) {
return new NullLogger();
- } else {
- return $this->logger;
}
+
+ return $this->logger;
}
/**
@@ -149,19 +149,45 @@ class Configuration
/**
* @return int
*/
+ public function getCharThreshold()
+ {
+ return $this->charThreshold;
+ }
+
+ /**
+ * @param int $charThreshold
+ *
+ * @return $this
+ */
+ public function setCharThreshold($charThreshold)
+ {
+ $this->charThreshold = $charThreshold;
+
+ return $this;
+ }
+
+ /**
+ * @deprecated Use getCharThreshold. Will be removed in version 2.0
+ *
+ * @return int
+ */
public function getWordThreshold()
{
- return $this->wordThreshold;
+ @trigger_error('getWordThreshold was replaced with getCharThreshold and will be removed in version 3.0', E_USER_DEPRECATED);
+
+ return $this->charThreshold;
}
/**
- * @param int $wordThreshold
+ * @param int $charThreshold
*
* @return $this
*/
- public function setWordThreshold($wordThreshold)
+ public function setWordThreshold($charThreshold)
{
- $this->wordThreshold = $wordThreshold;
+ @trigger_error('setWordThreshold was replaced with setCharThreshold and will be removed in version 3.0', E_USER_DEPRECATED);
+
+ $this->charThreshold = $charThreshold;
return $this;
}
diff --git a/src/Nodes/DOM/DOMNode.php b/src/Nodes/DOM/DOMNode.php
index f1944c4..7c3c4f3 100644
--- a/src/Nodes/DOM/DOMNode.php
+++ b/src/Nodes/DOM/DOMNode.php
@@ -6,6 +6,7 @@ use andreskrey\Readability\Nodes\NodeTrait;
/**
* @method getAttribute($attribute)
+ * @method hasAttribute($attribute)
*/
class DOMNode extends \DOMNode
{
diff --git a/src/Nodes/NodeTrait.php b/src/Nodes/NodeTrait.php
index 13611c9..d7060cc 100644
--- a/src/Nodes/NodeTrait.php
+++ b/src/Nodes/NodeTrait.php
@@ -6,6 +6,7 @@ use andreskrey\Readability\Nodes\DOM\DOMDocument;
use andreskrey\Readability\Nodes\DOM\DOMElement;
use andreskrey\Readability\Nodes\DOM\DOMNode;
use andreskrey\Readability\Nodes\DOM\DOMText;
+use DOMNodeList;
/**
* @method \DOMNode removeAttribute($name)
@@ -51,6 +52,21 @@ trait NodeTrait
];
/**
+ * The commented out elements qualify as phrasing content but tend to be
+ * removed by readability when put into paragraphs, so we ignore them here.
+ *
+ * @var array
+ */
+ private $phrasing_elems = [
+ // 'CANVAS', 'IFRAME', 'SVG', 'VIDEO',
+ 'abbr', 'audio', 'b', 'bdo', 'br', 'button', 'cite', 'code', 'data',
+ 'datalist', 'dfn', 'em', 'embed', 'i', 'img', 'input', 'kbd', 'label',
+ 'mark', 'math', 'meter', 'noscript', 'object', 'output', 'progress', 'q',
+ 'ruby', 'samp', 'script', 'select', 'small', 'span', 'strong', 'sub',
+ 'sup', 'textarea', 'time', 'var', 'wbr'
+ ];
+
+ /**
* initialized getter.
*
* @return bool
@@ -65,7 +81,19 @@ trait NodeTrait
*/
public function isReadabilityDataTable()
{
- return $this->readabilityDataTable;
+ /*
+ * This is a workaround that I'd like to remove in the future.
+ * Seems that although we are extending the base DOMElement and adding custom properties (like this one,
+ * 'readabilityDataTable'), these properties get lost when you search for elements with getElementsByTagName.
+ * This means that even if we mark the tables in a previous step, when we want to retrieve that information,
+ * all the custom properties are in their default values. Somehow we need to find a way to make these properties
+ * permanent across the whole DOM.
+ *
+ * @see https://stackoverflow.com/questions/35654709/php-registernodeclass-and-reusing-variable-names
+ */
+ return $this->hasAttribute('readabilityDataTable')
+ && $this->getAttribute('readabilityDataTable') === '1';
+// return $this->readabilityDataTable;
}
/**
@@ -73,7 +101,9 @@ trait NodeTrait
*/
public function setReadabilityDataTable($param)
{
- $this->readabilityDataTable = $param;
+ // Can't be "true" because DOMDocument casts it to "1"
+ $this->setAttribute('readabilityDataTable', $param ? '1' : '0');
+// $this->readabilityDataTable = $param;
}
/**
@@ -149,6 +179,24 @@ trait NodeTrait
}
/**
+ * Override for native hasAttribute.
+ *
+ * @see getAttribute
+ *
+ * @param $attributeName
+ *
+ * @return bool
+ */
+ public function hasAttribute($attributeName)
+ {
+ if (!is_null($this->attributes)) {
+ return parent::hasAttribute($attributeName);
+ }
+
+ return false;
+ }
+
+ /**
* Get the ancestors of the current node.
*
* @param int|bool $maxLevel Max amount of ancestors to get. False for all of them
@@ -332,22 +380,26 @@ trait NodeTrait
* Check if a given node has one of its ancestor tag name matching the
* provided one.
*
- * @param DOMElement $node
* @param string $tagName
* @param int $maxDepth
+ * @param callable $filterFn
*
* @return bool
*/
- public function hasAncestorTag($node, $tagName, $maxDepth = 3)
+ public function hasAncestorTag($tagName, $maxDepth = 3, callable $filterFn = null)
{
$depth = 0;
+ $node = $this;
+
while ($node->parentNode) {
if ($maxDepth > 0 && $depth > $maxDepth) {
return false;
}
- if ($node->parentNode->nodeName === $tagName) {
+
+ if ($node->parentNode->nodeName === $tagName && (!$filterFn || $filterFn($node->parentNode))) {
return true;
}
+
$node = $node->parentNode;
$depth++;
}
@@ -356,30 +408,29 @@ trait NodeTrait
}
/**
- * Checks if the current node has a single child and if that child is a P node.
- * Useful to convert <div><p> nodes to a single <p> node and avoid confusing the scoring system since div with p
- * tags are, in practice, paragraphs.
+ * Check if this node has only whitespace and a single element with given tag
+ * or if it contains no element with given tag or more than 1 element.
*
- * @param DOMNode $node
+ * @param $tag string Name of tag
*
* @return bool
*/
- public function hasSinglePNode()
+ public function hasSingleTagInsideElement($tag)
{
- // There should be exactly 1 element child which is a P:
- if (count($children = $this->getChildren(true)) !== 1 || $children[0]->nodeName !== 'p') {
+ // There should be exactly 1 element child with given tag
+ if (count($children = $this->getChildren(true)) !== 1 || $children[0]->nodeName !== $tag) {
return false;
}
- // And there should be no text nodes with real content (param true on ->getChildren)
- foreach ($children as $child) {
- /** @var $child DOMNode */
- if ($child->nodeType === XML_TEXT_NODE && !preg_match('/\S$/', $child->getTextContent())) {
+ // And there should be no text nodes with real content
+ return array_reduce($children, function ($carry, $child) {
+ if (!$carry === false) {
return false;
}
- }
- return true;
+ /* @var DOMNode $child */
+ return !($child->nodeType === XML_TEXT_NODE && !preg_match('/\S$/', $child->getTextContent()));
+ });
}
/**
@@ -431,4 +482,79 @@ trait NodeTrait
);
}
+
+ /**
+ * Determine if a node qualifies as phrasing content.
+ * https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories#Phrasing_content.
+ *
+ * @return bool
+ */
+ public function isPhrasingContent()
+ {
+ return $this->nodeType === XML_TEXT_NODE || in_array($this->nodeName, $this->phrasing_elems) !== false ||
+ (!is_null($this->childNodes) &&
+ ($this->nodeName === 'a' || $this->nodeName === 'del' || $this->nodeName === 'ins') &&
+ array_reduce(iterator_to_array($this->childNodes), function ($carry, $node) {
+ return $node->isPhrasingContent() && $carry;
+ }, true)
+ );
+ }
+
+ public function isProbablyVisible()
+ {
+ /*
+ * In the original JS project they check if the node has the style display=none, which unfortunately
+ * in our case we have no way of knowing that. So we just check for the attribute hidden or "display: none".
+ *
+ * Might be a good idea to check for classes or other attributes like 'aria-hidden'
+ */
+
+ return !preg_match('/display:( )?none/', $this->getAttribute('style')) && !$this->hasAttribute('hidden');
+ }
+
+ public function isWhitespace()
+ {
+ return ($this->nodeType === XML_TEXT_NODE && mb_strlen(trim($this->textContent)) === 0) ||
+ ($this->nodeType === XML_ELEMENT_NODE && $this->nodeName === 'br');
+ }
+
+ /**
+ * This is a hack that overcomes the issue of node shifting when scanning and removing nodes.
+ *
+ * In the JS version of getElementsByTagName, if you remove a node it will not appear during the
+ * foreach. This does not happen in PHP DOMDocument, because if you remove a node, it will still appear but as an
+ * orphan node and will give an exception if you try to do anything with it.
+ *
+ * Shifting also occurs when converting parent nodes (like a P to a DIV), which in that case the found nodes are
+ * removed from the foreach "pool" but the internal index of the foreach is not aware and skips over nodes that
+ * never looped over. (index is at position 5, 2 nodes are removed, next one should be node 3, but the foreach tries
+ * to access node 6)
+ *
+ * This function solves this by searching for the nodes on every loop and keeping track of the count differences.
+ * Because on every loop we call getElementsByTagName again, this could cause a performance impact and should be
+ * used only when the results of the search are going to be used to remove the nodes.
+ *
+ * @param string $tag
+ *
+ * @return \Generator
+ */
+ public function shiftingAwareGetElementsByTagName($tag)
+ {
+ /** @var $nodes DOMNodeList */
+ $nodes = $this->getElementsByTagName($tag);
+ $count = $nodes->length;
+
+ for ($i = 0; $i < $count; $i = max(++$i, 0)) {
+ yield $nodes->item($i);
+
+ // Search for all the nodes again
+ $nodes = $this->getElementsByTagName($tag);
+
+ // Subtract the amount of nodes removed from the current index
+ $i -= $count - $nodes->length;
+
+ // Subtract the amount of nodes removed from the current count
+ $count -= ($count - $nodes->length);
+ }
+ }
}
diff --git a/src/Nodes/NodeUtility.php b/src/Nodes/NodeUtility.php
index 752e9f4..7a1f18e 100644
--- a/src/Nodes/NodeUtility.php
+++ b/src/Nodes/NodeUtility.php
@@ -17,13 +17,13 @@ class NodeUtility
* @var array
*/
public static $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',
+ 'unlikelyCandidates' => '/-ad-|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',
'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,}/',
- 'videos' => '/\/\/(www\.)?(dailymotion|youtube|youtube-nocookie|player\.vimeo)\.com/i',
+ 'videos' => '/\/\/(www\.)?((dailymotion|youtube|youtube-nocookie|player\.vimeo|v\.qq)\.com|(archive|upload\.wikimedia)\.org|player\.twitch\.tv)/i',
'nextLink' => '/(next|weiter|continue|>([^\|]|$)|»([^\|]|$))/i',
'prevLink' => '/(prev|earl|old|new|<|«)/i',
'whitespace' => '/^\s*$/',
@@ -45,8 +45,8 @@ class NodeUtility
{
$next = $node;
while ($next
- && $next->nodeName !== '#text'
- && trim($next->textContent)) {
+ && $next->nodeType !== XML_ELEMENT_NODE
+ && $next->isWhitespace()) {
$next = $next->nextSibling;
}
@@ -57,12 +57,13 @@ class NodeUtility
* Changes the node tag name. Since tagName on DOMElement is a read only value, this must be done creating a new
* element with the new tag name and importing it to the main DOMDocument.
*
+ * @param DOMNode $node
* @param string $value
* @param bool $importAttributes
*
* @return DOMNode
*/
- public static function setNodeTag($node, $value, $importAttributes = false)
+ public static function setNodeTag($node, $value, $importAttributes = true)
{
$new = new DOMDocument('1.0', 'utf-8');
$new->appendChild($new->createElement($value));
diff --git a/src/Readability.php b/src/Readability.php
index 93fc810..818870f 100644
--- a/src/Readability.php
+++ b/src/Readability.php
@@ -127,7 +127,7 @@ class Readability
*
* @throws ParseException
*
- * @return array|bool
+ * @return bool
*/
public function parse($html)
{
@@ -164,14 +164,11 @@ class Readability
$length = mb_strlen(preg_replace(NodeUtility::$regexps['onlyWhitespace'], '', $result->textContent));
- $this->logger->info(sprintf('[Parsing] Article parsed. Amount of words: %s. Current threshold is: %s', $length, $this->configuration->getWordThreshold()));
-
- $parseSuccessful = true;
+ $this->logger->info(sprintf('[Parsing] Article parsed. Amount of words: %s. Current threshold is: %s', $length, $this->configuration->getCharThreshold()));
- if ($result && $length < $this->configuration->getWordThreshold()) {
+ if ($result && $length < $this->configuration->getCharThreshold()) {
$this->dom = $this->loadHTML($html);
$root = $this->dom->getElementsByTagName('body')->item(0);
- $parseSuccessful = false;
if ($this->configuration->getStripUnlikelyCandidates()) {
$this->logger->debug('[Parsing] Threshold not met, trying again setting StripUnlikelyCandidates as false');
@@ -204,7 +201,6 @@ class Readability
$this->logger->debug('[Parsing] Threshold not met, but found some content in previous attempts.');
$result = $this->attempts[0]['articleContent'];
- $parseSuccessful = true;
break;
}
} else {
@@ -212,26 +208,24 @@ class Readability
}
}
- if ($parseSuccessful) {
- $result = $this->postProcessContent($result);
-
- // If we haven't found an excerpt in the article's metadata, use the article's
- // first paragraph as the excerpt. This can be used for displaying a preview of
- // the article's content.
- if (!$this->getExcerpt()) {
- $this->logger->debug('[Parsing] No excerpt text found on metadata, extracting first p node and using it as excerpt.');
- $paragraphs = $result->getElementsByTagName('p');
- if ($paragraphs->length > 0) {
- $this->setExcerpt(trim($paragraphs->item(0)->textContent));
- }
+ $result = $this->postProcessContent($result);
+
+ // If we haven't found an excerpt in the article's metadata, use the article's
+ // first paragraph as the excerpt. This can be used for displaying a preview of
+ // the article's content.
+ if (!$this->getExcerpt()) {
+ $this->logger->debug('[Parsing] No excerpt text found on metadata, extracting first p node and using it as excerpt.');
+ $paragraphs = $result->getElementsByTagName('p');
+ if ($paragraphs->length > 0) {
+ $this->setExcerpt(trim($paragraphs->item(0)->textContent));
}
+ }
- $this->setContent($result);
+ $this->setContent($result);
- $this->logger->info('*** Parse successful :)');
+ $this->logger->info('*** Parse successful :)');
- return true;
- }
+ return true;
}
/**
@@ -292,77 +286,98 @@ class Readability
$this->logger->debug('[Metadata] Retrieving metadata...');
$values = [];
- // Match "description", or Twitter's "twitter:description" (Cards)
- // in name attribute.
- $namePattern = '/^\s*((twitter)\s*:\s*)?(description|title|image)\s*$/i';
+ // property is a space-separated list of values
+ $propertyPattern = '/\s*(dc|dcterm|og|twitter)\s*:\s*(author|creator|description|title)\s*/i';
- // Match Facebook's Open Graph title & description properties.
- $propertyPattern = '/^\s*og\s*:\s*(description|title|image)\s*$/i';
+ // name is a single value
+ $namePattern = '/^\s*(?:(dc|dcterm|og|twitter|weibo:(article|webpage))\s*[\.:]\s*)?(author|creator|description|title)\s*$/i';
+ // Find description tags.
foreach ($this->dom->getElementsByTagName('meta') as $meta) {
/* @var DOMNode $meta */
$elementName = $meta->getAttribute('name');
$elementProperty = $meta->getAttribute('property');
+ $content = $meta->getAttribute('content');
+ $matches = null;
+ $name = null;
- if (in_array('author', [$elementName, $elementProperty])) {
- $this->logger->info(sprintf('[Metadata] Found author: \'%s\'', $meta->getAttribute('content')));
- $this->setAuthor($meta->getAttribute('content'));
- continue;
+ if ($elementProperty) {
+ if (preg_match($propertyPattern, $elementProperty, $matches)) {
+ for ($i = count($matches) - 1; $i >= 0; $i--) {
+ // Convert to lowercase, and remove any whitespace
+ // so we can match below.
+ $name = preg_replace('/\s/', '', mb_strtolower($matches[$i]));
+ // multiple authors
+ $values[$name] = trim($content);
+ }
+ }
}
- $name = null;
- if (preg_match($namePattern, $elementName)) {
+ if (!$matches && $elementName && preg_match($namePattern, $elementName)) {
$name = $elementName;
- } elseif (preg_match($propertyPattern, $elementProperty)) {
- $name = $elementProperty;
- }
-
- if ($name) {
- $content = $meta->getAttribute('content');
if ($content) {
- // Convert to lowercase and remove any whitespace
- // so we can match below.
- $name = preg_replace('/\s/', '', strtolower($name));
+ // Convert to lowercase, remove any whitespace, and convert dots
+ // to colons so we can match below.
+ $name = preg_replace(['/\s/', '/\./'], ['', ':'], mb_strtolower($name));
$values[$name] = trim($content);
}
}
}
- if (array_key_exists('description', $values)) {
- $this->logger->info(sprintf('[Metadata] Found excerpt in \'description\' tag: \'%s\'', $values['description']));
- $this->setExcerpt($values['description']);
- } elseif (array_key_exists('og:description', $values)) {
- // Use facebook open graph description.
- $this->logger->info(sprintf('[Metadata] Found excerpt in \'og:description\' tag: \'%s\'', $values['og:description']));
- $this->setExcerpt($values['og:description']);
- } elseif (array_key_exists('twitter:description', $values)) {
- // Use twitter cards description.
- $this->logger->info(sprintf('[Metadata] Found excerpt in \'twitter:description\' tag: \'%s\'', $values['twitter:description']));
- $this->setExcerpt($values['twitter:description']);
- }
- $this->setTitle($this->getArticleTitle());
+ // get title
+ /*
+ * This is a very convoluted way of extracting the first matching key of the $values array
+ * against a set of options.
+ *
+ * This could be easily replaced with an ugly set of isset($values['key']) or a bunch of ??s.
+ * Will probably replace it with ??s after dropping support of PHP5.6
+ */
+
+ $key = current(array_intersect([
+ 'dc:title',
+ 'dcterm:title',
+ 'og:title',
+ 'weibo:article:title',
+ 'weibo:webpage:title',
+ 'title',
+ 'twitter:title'
+ ], array_keys($values)));
+
+ $this->setTitle(isset($values[$key]) ? trim($values[$key]) : null);
if (!$this->getTitle()) {
- if (array_key_exists('og:title', $values)) {
- // Use facebook open graph title.
- $this->logger->info(sprintf('[Metadata] Found title in \'og:title\' tag: \'%s\'', $values['og:title']));
- $this->setTitle($values['og:title']);
- } elseif (array_key_exists('twitter:title', $values)) {
- // Use twitter cards title.
- $this->logger->info(sprintf('[Metadata] Found title in \'twitter:title\' tag: \'%s\'', $values['twitter:title']));
- $this->setTitle($values['twitter:title']);
- }
+ $this->setTitle($this->getArticleTitle());
}
- if (array_key_exists('og:image', $values) || array_key_exists('twitter:image', $values)) {
- if (array_key_exists('og:image', $values)) {
- $this->logger->info(sprintf('[Metadata] Found main image in \'og:image\' tag: \'%s\'', $values['og:image']));
- $this->setImage($values['og:image']);
- } else {
- $this->logger->info(sprintf('[Metadata] Found main image in \'twitter:image\' tag: \'%s\'', $values['twitter:image']));
- $this->setImage($values['twitter:image']);
- }
- }
+ // get author
+ $key = current(array_intersect([
+ 'dc:creator',
+ 'dcterm:creator',
+ 'author'
+ ], array_keys($values)));
+
+ $this->setAuthor(isset($values[$key]) ? $values[$key] : null);
+
+ // get description
+ $key = current(array_intersect([
+ 'dc:description',
+ 'dcterm:description',
+ 'og:description',
+ 'weibo:article:description',
+ 'weibo:webpage:description',
+ 'description',
+ 'twitter:description'
+ ], array_keys($values)));
+
+ $this->setExcerpt(isset($values[$key]) ? $values[$key] : null);
+
+ // get main image
+ $key = current(array_intersect([
+ 'og:image',
+ 'twitter:image'
+ ], array_keys($values)));
+
+ $this->setImage(isset($values[$key]) ? $values[$key] : null);
}
/**
@@ -453,7 +468,7 @@ class Readability
return null;
}
- $curTitle = $originalTitle;
+ $curTitle = $originalTitle = trim($originalTitle);
$titleHadHierarchicalSeparators = false;
/*
@@ -623,8 +638,6 @@ class Readability
*/
while ($node) {
- $matchString = $node->getAttribute('class') . ' ' . $node->getAttribute('id');
-
// Remove DOMComments nodes as we don't need them and mess up children counting
if ($node->nodeType === XML_COMMENT_NODE) {
$this->logger->debug(sprintf('[Get Nodes] Found comment node, removing... Node content was: \'%s\'', substr($node->nodeValue, 0, 128)));
@@ -632,6 +645,14 @@ class Readability
continue;
}
+ $matchString = $node->getAttribute('class') . ' ' . $node->getAttribute('id');
+
+ if (!$node->isProbablyVisible()) {
+ $this->logger->debug(sprintf('[Get Nodes] Removing hidden node... Match string was: \'%s\'', $matchString));
+ $node = NodeUtility::removeAndGetNext($node);
+ continue;
+ }
+
// Check to see if this node is a byline, and remove it if it is.
if ($this->checkByline($node, $matchString)) {
$this->logger->debug(sprintf('[Get Nodes] Found byline, removing... Node content was: \'%s\'', substr($node->nodeValue, 0, 128)));
@@ -671,13 +692,35 @@ class Readability
// Turn all divs that don't have children block level elements into p's
if ($node->nodeName === 'div') {
+ // Put phrasing content into paragraphs.
+ $p = null;
+ $childNode = $node->firstChild;
+ while ($childNode) {
+ $nextSibling = $childNode->nextSibling;
+ if ($childNode->isPhrasingContent()) {
+ if ($p !== null) {
+ $p->appendChild($childNode);
+ } elseif (!$childNode->isWhitespace()) {
+ $p = $this->dom->createElement('p');
+ $node->replaceChild($p, $childNode);
+ $p->appendChild($childNode);
+ }
+ } elseif ($p !== null) {
+ while ($p->lastChild && $p->lastChild->isWhitespace()) {
+ $p->removeChild($p->lastChild);
+ }
+ $p = null;
+ }
+ $childNode = $nextSibling;
+ }
+
/*
* Sites like http://mobile.slate.com encloses each paragraph with a DIV
* element. DIVs with only a P element inside and no text content can be
* safely converted into plain P elements to avoid confusing the scoring
* algorithm with DIVs with are, in practice, paragraphs.
*/
- if ($node->hasSinglePNode()) {
+ if ($node->hasSingleTagInsideElement('p') && $node->getLinkDensity() < 0.25) {
$this->logger->debug(sprintf('[Get Nodes] Found DIV with a single P node, removing DIV. Node content is: \'%s\'', substr($node->nodeValue, 0, 128)));
$pNode = $node->getChildren(true)[0];
$node->parentNode->replaceChild($pNode, $node);
@@ -687,16 +730,6 @@ class Readability
$this->logger->debug(sprintf('[Get Nodes] Found DIV with a single child block element, converting to a P node. Node content is: \'%s\'', substr($node->nodeValue, 0, 128)));
$node = NodeUtility::setNodeTag($node, 'p');
$elementsToScore[] = $node;
- } else {
- // EXPERIMENTAL
- foreach ($node->getChildren() as $child) {
- /** @var $child DOMNode */
- if ($child->nodeType === XML_TEXT_NODE && mb_strlen(trim($child->getTextContent())) > 0) {
- $this->logger->debug(sprintf('[Get Nodes] Found DIV a text node inside, converting to a P node. Node content is: \'%s\'', substr($node->nodeValue, 0, 128)));
- $newNode = $node->createNode($child, 'p');
- $child->parentNode->replaceChild($newNode, $child);
- }
- }
}
}
@@ -751,7 +784,7 @@ class Readability
if (gettype($text) == 'string') {
$byline = trim($text);
- return (mb_strlen($byline) > 0) && (mb_strlen($text) < 100);
+ return (mb_strlen($byline) > 0) && (mb_strlen($byline) < 100);
}
return false;
@@ -764,15 +797,10 @@ class Readability
*/
private function removeScripts(DOMDocument $dom)
{
- $toRemove = ['script', 'noscript'];
-
- foreach ($toRemove as $tag) {
- while ($script = $dom->getElementsByTagName($tag)) {
- if ($script->item(0)) {
- $script->item(0)->parentNode->removeChild($script->item(0));
- } else {
- break;
- }
+ foreach (['script', 'noscript'] as $tag) {
+ $nodes = $dom->getElementsByTagName($tag);
+ foreach (iterator_to_array($nodes) as $node) {
+ NodeUtility::removeNode($node);
}
}
}
@@ -786,15 +814,7 @@ class Readability
{
$this->logger->info('[PrepDocument] Preparing document for parsing...');
- /*
- * DOMNodeList must be converted to an array before looping over it.
- * This is done to avoid node shifting when removing nodes.
- *
- * Reverse traversing cannot be done here because we need to find brs that are right next to other brs.
- * (If we go the other way around we need to search for previous nodes forcing the creation of new functions
- * that will be used only here)
- */
- foreach (iterator_to_array($dom->getElementsByTagName('br')) as $br) {
+ foreach ($dom->shiftingAwareGetElementsByTagName('br') as $br) {
$next = $br->nextSibling;
/*
@@ -831,12 +851,16 @@ class Readability
while ($next) {
// If we've hit another <br><br>, we're done adding children to this <p>.
if ($next->nodeName === 'br') {
- $nextElem = NodeUtility::nextElement($next);
+ $nextElem = NodeUtility::nextElement($next->nextSibling);
if ($nextElem && $nextElem->nodeName === 'br') {
break;
}
}
+ if (!$next->isPhrasingContent()) {
+ break;
+ }
+
$this->logger->debug('[PrepDocument] Replacing BR with a P node...');
// Otherwise, make this node a child of the new <p>.
@@ -844,6 +868,14 @@ class Readability
$p->appendChild($next);
$next = $sibling;
}
+
+ while ($p->lastChild && $p->lastChild->isWhitespace()) {
+ $p->removeChild($p->lastChild);
+ }
+
+ if ($p->parentNode->tagName === 'p') {
+ NodeUtility::setNodeTag($p->parentNode, 'div');
+ }
}
}
@@ -853,7 +885,7 @@ class Readability
for ($i = 0; $i < $length; $i++) {
$this->logger->debug('[PrepDocument] Converting font tag into a span tag.');
$font = $fonts->item($length - 1 - $i);
- NodeUtility::setNodeTag($font, 'span', true);
+ NodeUtility::setNodeTag($font, 'span');
}
}
@@ -989,7 +1021,9 @@ class Readability
// and whose scores are quite closed with current `topCandidate` node.
$alternativeCandidateAncestors = [];
for ($i = 1; $i < count($topCandidates); $i++) {
- if ($topCandidates[$i]->contentScore / $topCandidate->contentScore >= 0.75) {
+ // In some cases we may end up with a top candidate with zero content score. To avoid dividing by zero
+ // we have to use max() and replace zero with a low value like 0.1
+ if ($topCandidates[$i]->contentScore / max($topCandidate->contentScore, 0.1) >= 0.75) {
array_push($alternativeCandidateAncestors, $topCandidates[$i]->getNodeAncestors(false));
}
}
@@ -997,7 +1031,9 @@ class Readability
$MINIMUM_TOPCANDIDATES = 3;
if (count($alternativeCandidateAncestors) >= $MINIMUM_TOPCANDIDATES) {
$parentOfTopCandidate = $topCandidate->parentNode;
- while ($parentOfTopCandidate->nodeName !== 'body') {
+
+ // Check if we are actually dealing with a DOMNode and not a DOMDocument node or higher
+ while ($parentOfTopCandidate->nodeName !== 'body' && $parentOfTopCandidate->nodeType === XML_ELEMENT_NODE) {
$listsContainingThisAncestor = 0;
for ($ancestorIndex = 0; $ancestorIndex < count($alternativeCandidateAncestors) && $listsContainingThisAncestor < $MINIMUM_TOPCANDIDATES; $ancestorIndex++) {
$listsContainingThisAncestor += (int)in_array($parentOfTopCandidate, $alternativeCandidateAncestors[$ancestorIndex]);
@@ -1027,8 +1063,7 @@ class Readability
$scoreThreshold = $lastScore / 3;
/* @var DOMElement $parentOfTopCandidate */
- // Check if we are actually dealing with a DOMNode and not a DOMDocument node or higher
- while ($parentOfTopCandidate->nodeName !== 'body' && $parentOfTopCandidate->nodeType === XML_ELEMENT_NODE) {
+ while ($parentOfTopCandidate->nodeName !== 'body') {
$parentScore = $parentOfTopCandidate->contentScore;
if ($parentScore < $scoreThreshold) {
break;
@@ -1175,6 +1210,7 @@ class Readability
$this->_clean($article, 'h1');
$this->_clean($article, 'footer');
$this->_clean($article, 'link');
+ $this->_clean($article, 'aside');
// Clean out elements have "share" in their id/class combinations from final top candidates,
// which means we don't remove the top candidates even they have "share".
@@ -1227,6 +1263,22 @@ class Readability
}
}
+ // Remove single-cell tables
+ foreach ($article->shiftingAwareGetElementsByTagName('table') as $table) {
+ /** @var DOMNode $table */
+ $tbody = $table->hasSingleTagInsideElement('tbody') ? $table->childNodes[0] : $table;
+ if ($tbody->hasSingleTagInsideElement('tr')) {
+ $row = $tbody->firstChild;
+ if ($row->hasSingleTagInsideElement('td')) {
+ $cell = $row->firstChild;
+ $cell = NodeUtility::setNodeTag($cell, (array_reduce(iterator_to_array($cell->childNodes), function ($carry, $node) {
+ return $node->isPhrasingContent() && $carry;
+ }, true)) ? 'p' : 'div');
+ $table->parentNode->replaceChild($cell, $table);
+ }
+ }
+ }
+
return $article;
}
@@ -1374,6 +1426,7 @@ class Readability
/**
* @param DOMDocument $article
+ * @param string $tag Tag to clean conditionally
*
* @return void
*/
@@ -1398,7 +1451,9 @@ class Readability
$node = $DOMNodeList->item($length - 1 - $i);
// First check if we're in a data table, in which case don't remove us.
- if ($node->hasAncestorTag($node, 'table', -1) && $node->isReadabilityDataTable()) {
+ if ($node->hasAncestorTag('table', -1, function ($node) {
+ return $node->isReadabilityDataTable();
+ })) {
continue;
}
@@ -1439,10 +1494,10 @@ class Readability
$contentLength = mb_strlen($node->getTextContent(true));
$haveToRemove =
- ($img > 1 && $p / $img < 0.5 && !$node->hasAncestorTag($node, 'figure')) ||
+ ($img > 1 && $p / $img < 0.5 && !$node->hasAncestorTag('figure')) ||
(!$isList && $li > $p) ||
($input > floor($p / 3)) ||
- (!$isList && $contentLength < 25 && ($img === 0 || $img > 2) && !$node->hasAncestorTag($node, 'figure')) ||
+ (!$isList && $contentLength < 25 && ($img === 0 || $img > 2) && !$node->hasAncestorTag('figure')) ||
(!$isList && $weight < 25 && $linkDensity > 0.2) ||
($weight >= 25 && $linkDensity > 0.5) ||
(($embedCount === 1 && $contentLength < 75) || $embedCount > 1);
@@ -1477,7 +1532,7 @@ class Readability
// Allow youtube and vimeo videos through as people usually want to see those.
if ($isEmbed) {
$attributeValues = [];
- foreach ($item->attributes as $name => $value) {
+ foreach ($item->attributes as $value) {
$attributeValues[] = $value->nodeValue;
}
$attributeValues = implode('|', $attributeValues);
diff --git a/test/ConfigurationTest.php b/test/ConfigurationTest.php
index 19db2f1..e193069 100644
--- a/test/ConfigurationTest.php
+++ b/test/ConfigurationTest.php
@@ -9,7 +9,7 @@ use Monolog\Logger;
/**
* Class ConfigurationTest.
*/
-class ConfigurationTest extends \PHPUnit_Framework_TestCase
+class ConfigurationTest extends \PHPUnit\Framework\TestCase
{
/**
* @dataProvider getParams
@@ -40,6 +40,7 @@ class ConfigurationTest extends \PHPUnit_Framework_TestCase
private function doEqualsAsserts(Configuration $config, array $options)
{
$this->assertEquals($options['maxTopCandidates'], $config->getMaxTopCandidates());
+ $this->assertEquals($options['charThreshold'], $config->getCharThreshold());
$this->assertEquals($options['wordThreshold'], $config->getWordThreshold());
$this->assertEquals($options['articleByLine'], $config->getArticleByLine());
$this->assertEquals($options['stripUnlikelyCandidates'], $config->getStripUnlikelyCandidates());
@@ -61,6 +62,7 @@ class ConfigurationTest extends \PHPUnit_Framework_TestCase
'All current parameters' => [
'maxTopCandidates' => 3,
'wordThreshold' => 500,
+ 'charThreshold' => 500,
'articleByLine' => true,
'stripUnlikelyCandidates' => false,
'cleanConditionally' => false,
diff --git a/test/ReadabilityTest.php b/test/ReadabilityTest.php
index c20574e..95ad318 100644
--- a/test/ReadabilityTest.php
+++ b/test/ReadabilityTest.php
@@ -6,7 +6,7 @@ use andreskrey\Readability\Configuration;
use andreskrey\Readability\ParseException;
use andreskrey\Readability\Readability;
-class ReadabilityTest extends \PHPUnit_Framework_TestCase
+class ReadabilityTest extends \PHPUnit\Framework\TestCase
{
/**
* @dataProvider getSamplePages
diff --git a/test/test-pages/002/expected-metadata.json b/test/test-pages/002/expected-metadata.json
index 210e551..a351dd4 100644
--- a/test/test-pages/002/expected-metadata.json
+++ b/test/test-pages/002/expected-metadata.json
@@ -1,5 +1,5 @@
{
- "Title": "This API is so Fetching! ✩ Mozilla Hacks – the Web developer blog",
+ "Title": "This API is so Fetching!",
"Author": "Nikhil Marathe",
"Excerpt": "For more than a decade the Web has used XMLHttpRequest (XHR) to achieve asynchronous requests in JavaScript. While very useful, XHR is not a very ..."
}
diff --git a/test/test-pages/002/expected.html b/test/test-pages/002/expected.html
index 16dca2a..0525100 100644
--- a/test/test-pages/002/expected.html
+++ b/test/test-pages/002/expected.html
@@ -1,4 +1,4 @@
-<div><article role="article"><p>For more than a decade the Web has used XMLHttpRequest (XHR) to achieve
+<div id="content-main"><article role="article"><p>For more than a decade the Web has used XMLHttpRequest (XHR) to achieve
asynchronous requests in JavaScript. While very useful, XHR is not a very
nice API. It suffers from lack of separation of concerns. The input, output
and state are all managed by interacting with one object, and state is
@@ -30,7 +30,7 @@
In its simplest form it takes a URL and returns a promise that resolves
to the response. The response is captured as a <code>Response</code> object.</p>
<div>
- <table><tbody><tr><td><pre>fetch<span>(</span><span>"/data.json"</span><span>)</span>.<span>then</span><span>(</span><span>function</span><span>(</span>res<span>)</span> <span>{</span>
+ <div><pre>fetch<span>(</span><span>"/data.json"</span><span>)</span>.<span>then</span><span>(</span><span>function</span><span>(</span>res<span>)</span> <span>{</span>
<span>// res instanceof Response == true.</span>
<span>if</span> <span>(</span>res.<span>ok</span><span>)</span> <span>{</span>
res.<span>json</span><span>(</span><span>)</span>.<span>then</span><span>(</span><span>function</span><span>(</span>data<span>)</span> <span>{</span>
@@ -42,11 +42,10 @@
<span>}</span><span>,</span> <span>function</span><span>(</span>e<span>)</span> <span>{</span>
console.<span>log</span><span>(</span><span>"Fetch failed!"</span><span>,</span> e<span>)</span><span>;</span>
<span>}</span><span>)</span><span>;</span></pre>
- </td>
- </tr></tbody></table></div>
+ </div></div>
<p>Submitting some parameters, it would look like this:</p>
<div>
- <table><tbody><tr><td><pre>fetch<span>(</span><span>"http://www.example.org/submit.php"</span><span>,</span> <span>{</span>
+ <div><pre>fetch<span>(</span><span>"http://www.example.org/submit.php"</span><span>,</span> <span>{</span>
method<span>:</span> <span>"POST"</span><span>,</span>
headers<span>:</span> <span>{</span>
<span>"Content-Type"</span><span>:</span> <span>"application/x-www-form-urlencoded"</span>
@@ -61,8 +60,7 @@
<span>}</span><span>,</span> <span>function</span><span>(</span>e<span>)</span> <span>{</span>
alert<span>(</span><span>"Error submitting form!"</span><span>)</span><span>;</span>
<span>}</span><span>)</span><span>;</span></pre>
- </td>
- </tr></tbody></table></div>
+ </div></div>
<p>The <code>fetch()</code> function’s arguments are the same as those passed
to the
<br></br><code>Request()</code> constructor, so you may directly pass arbitrarily
@@ -79,27 +77,25 @@
<p>The <a href="https://fetch.spec.whatwg.org/#headers-class">Headers interface</a> is
a simple multi-map of names to values:</p>
<div>
- <table><tbody><tr><td><pre><span>var</span> content <span>=</span> <span>"Hello World"</span><span>;</span>
+ <div><pre><span>var</span> content <span>=</span> <span>"Hello World"</span><span>;</span>
<span>var</span> reqHeaders <span>=</span> <span>new</span> Headers<span>(</span><span>)</span><span>;</span>
reqHeaders.<span>append</span><span>(</span><span>"Content-Type"</span><span>,</span> <span>"text/plain"</span>
reqHeaders.<span>append</span><span>(</span><span>"Content-Length"</span><span>,</span> content.<span>length</span>.<span>toString</span><span>(</span><span>)</span><span>)</span><span>;</span>
reqHeaders.<span>append</span><span>(</span><span>"X-Custom-Header"</span><span>,</span> <span>"ProcessThisImmediately"</span><span>)</span><span>;</span></pre>
- </td>
- </tr></tbody></table></div>
+ </div></div>
<p>The same can be achieved by passing an array of arrays or a JS object
literal
<br></br>to the constructor:</p>
<div>
- <table><tbody><tr><td><pre>reqHeaders <span>=</span> <span>new</span> Headers<span>(</span><span>{</span>
+ <div><pre>reqHeaders <span>=</span> <span>new</span> Headers<span>(</span><span>{</span>
<span>"Content-Type"</span><span>:</span> <span>"text/plain"</span><span>,</span>
<span>"Content-Length"</span><span>:</span> content.<span>length</span>.<span>toString</span><span>(</span><span>)</span><span>,</span>
<span>"X-Custom-Header"</span><span>:</span> <span>"ProcessThisImmediately"</span><span>,</span>
<span>}</span><span>)</span><span>;</span></pre>
- </td>
- </tr></tbody></table></div>
+ </div></div>
<p>The contents can be queried and retrieved:</p>
<div>
- <table><tbody><tr><td><pre>console.<span>log</span><span>(</span>reqHeaders.<span>has</span><span>(</span><span>"Content-Type"</span><span>)</span><span>)</span><span>;</span> <span>// true</span>
+ <div><pre>console.<span>log</span><span>(</span>reqHeaders.<span>has</span><span>(</span><span>"Content-Type"</span><span>)</span><span>)</span><span>;</span> <span>// true</span>
console.<span>log</span><span>(</span>reqHeaders.<span>has</span><span>(</span><span>"Set-Cookie"</span><span>)</span><span>)</span><span>;</span> <span>// false</span>
reqHeaders.<span>set</span><span>(</span><span>"Content-Type"</span><span>,</span> <span>"text/html"</span><span>)</span><span>;</span>
reqHeaders.<span>append</span><span>(</span><span>"X-Custom-Header"</span><span>,</span> <span>"AnotherValue"</span><span>)</span><span>;</span>
@@ -109,8 +105,7 @@ console.<span>log</span><span>(</span>reqHeaders.<span>getAll</span><span>(</spa
 
reqHeaders.<span>delete</span><span>(</span><span>"X-Custom-Header"</span><span>)</span><span>;</span>
console.<span>log</span><span>(</span>reqHeaders.<span>getAll</span><span>(</span><span>"X-Custom-Header"</span><span>)</span><span>)</span><span>;</span> <span>// []</span></pre>
- </td>
- </tr></tbody></table></div>
+ </div></div>
<p>Some of these operations are only useful in ServiceWorkers, but they provide
<br></br>a much nicer API to Headers.</p>
<p>Since Headers can be sent in requests, or received in responses, and have
@@ -136,14 +131,13 @@ console.<span>log</span><span>(</span>reqHeaders.<span>getAll</span><span>(</spa
<a href="https://fetch.spec.whatwg.org/#concept-header-name">valid HTTP Header name</a>. The mutation operations will throw TypeError
if there is an immutable guard. Otherwise they fail silently. For example:</p>
<div>
- <table><tbody><tr><td><pre><span>var</span> res <span>=</span> Response.<span>error</span><span>(</span><span>)</span><span>;</span>
+ <div><pre><span>var</span> res <span>=</span> Response.<span>error</span><span>(</span><span>)</span><span>;</span>
<span>try</span> <span>{</span>
res.<span>headers</span>.<span>set</span><span>(</span><span>"Origin"</span><span>,</span> <span>"http://mybank.com"</span><span>)</span><span>;</span>
<span>}</span> <span>catch</span><span>(</span>e<span>)</span> <span>{</span>
console.<span>log</span><span>(</span><span>"Cannot pretend to be a bank!"</span><span>)</span><span>;</span>
<span>}</span></pre>
- </td>
- </tr></tbody></table></div>
+ </div></div>
<h2>Request</h2>
@@ -153,36 +147,33 @@ console.<span>log</span><span>(</span>reqHeaders.<span>getAll</span><span>(</spa
<p>The simplest Request is of course, just a URL, as you may do to GET a
resource.</p>
<div>
- <table><tbody><tr><td><pre><span>var</span> req <span>=</span> <span>new</span> Request<span>(</span><span>"/index.html"</span><span>)</span><span>;</span>
+ <div><pre><span>var</span> req <span>=</span> <span>new</span> Request<span>(</span><span>"/index.html"</span><span>)</span><span>;</span>
console.<span>log</span><span>(</span>req.<span>method</span><span>)</span><span>;</span> <span>// "GET"</span>
console.<span>log</span><span>(</span>req.<span>url</span><span>)</span><span>;</span> <span>// "http://example.com/index.html"</span></pre>
- </td>
- </tr></tbody></table></div>
+ </div></div>
<p>You may also pass a Request to the <code>Request()</code> constructor to
create a copy.
<br></br>(This is not the same as calling the <code>clone()</code> method, which
is covered in
<br></br>the “Reading bodies” section.).</p>
<div>
- <table><tbody><tr><td><pre><span>var</span> copy <span>=</span> <span>new</span> Request<span>(</span>req<span>)</span><span>;</span>
+ <div><pre><span>var</span> copy <span>=</span> <span>new</span> Request<span>(</span>req<span>)</span><span>;</span>
console.<span>log</span><span>(</span>copy.<span>method</span><span>)</span><span>;</span> <span>// "GET"</span>
console.<span>log</span><span>(</span>copy.<span>url</span><span>)</span><span>;</span> <span>// "http://example.com/index.html"</span></pre>
- </td>
- </tr></tbody></table></div>
+ </div></div>
<p>Again, this form is probably only useful in ServiceWorkers.</p>
<p>The non-URL attributes of the <code>Request</code> can only be set by passing
initial
<br></br>values as a second argument to the constructor. This argument is a dictionary.</p>
<div>
- <table><tbody><tr><td><pre><span>var</span> uploadReq <span>=</span> <span>new</span> Request<span>(</span><span>"/uploadImage"</span><span>,</span> <span>{</span>
+ <div><pre><span>var</span> uploadReq <span>=</span> <span>new</span> Request<span>(</span><span>"/uploadImage"</span><span>,</span> <span>{</span>
method<span>:</span> <span>"POST"</span><span>,</span>
headers<span>:</span> <span>{</span>
<span>"Content-Type"</span><span>:</span> <span>"image/png"</span><span>,</span>
<span>}</span><span>,</span>
body<span>:</span> <span>"image data"</span>
<span>}</span><span>)</span><span>;</span></pre>
- </td>
- </tr></tbody></table></div>
+ </div></div>
<p>The Request’s mode is used to determine if cross-origin requests lead
to valid responses, and which properties on the response are readable.
Legal mode values are <code>"same-origin"</code>, <code>"no-cors"</code> (default)
@@ -192,14 +183,13 @@ console.<span>log</span><span>(</span>copy.<span>url</span><span>)</span><span>;
this to ensure that
<br></br>a request is always being made to your origin.</p>
<div>
- <table><tbody><tr><td><pre><span>var</span> arbitraryUrl <span>=</span> document.<span>getElementById</span><span>(</span><span>"url-input"</span><span>)</span>.<span>value</span><span>;</span>
+ <div><pre><span>var</span> arbitraryUrl <span>=</span> document.<span>getElementById</span><span>(</span><span>"url-input"</span><span>)</span>.<span>value</span><span>;</span>
fetch<span>(</span>arbitraryUrl<span>,</span> <span>{</span> mode<span>:</span> <span>"same-origin"</span> <span>}</span><span>)</span>.<span>then</span><span>(</span><span>function</span><span>(</span>res<span>)</span> <span>{</span>
console.<span>log</span><span>(</span><span>"Response succeeded?"</span><span>,</span> res.<span>ok</span><span>)</span><span>;</span>
<span>}</span><span>,</span> <span>function</span><span>(</span>e<span>)</span> <span>{</span>
console.<span>log</span><span>(</span><span>"Please enter a same-origin URL!"</span><span>)</span><span>;</span>
<span>}</span><span>)</span><span>;</span></pre>
- </td>
- </tr></tbody></table></div>
+ </div></div>
<p>The <code>"no-cors"</code> mode captures what the web platform does by default
for scripts you import from CDNs, images hosted on other domains, and so
on. First, it prevents the method from being anything other than “HEAD”,
@@ -218,7 +208,7 @@ fetch<span>(</span>arbitraryUrl<span>,</span> <span>{</span> mode<span>:</span>
you could get a list of Flickr’s <a href="https://www.flickr.com/services/api/flickr.interestingness.getList.html">most interesting</a> photos
today like this:</p>
<div>
- <table><tbody><tr><td><pre><span>var</span> u <span>=</span> <span>new</span> URLSearchParams<span>(</span><span>)</span><span>;</span>
+ <div><pre><span>var</span> u <span>=</span> <span>new</span> URLSearchParams<span>(</span><span>)</span><span>;</span>
u.<span>append</span><span>(</span><span>'method'</span><span>,</span> <span>'flickr.interestingness.getList'</span><span>)</span><span>;</span>
u.<span>append</span><span>(</span><span>'api_key'</span><span>,</span> <span>'&lt;insert api key here&gt;'</span><span>)</span><span>;</span>
u.<span>append</span><span>(</span><span>'format'</span><span>,</span> <span>'json'</span><span>)</span><span>;</span>
@@ -236,15 +226,13 @@ apiCall.<span>then</span><span>(</span><span>function</span><span>(</span>respon
console.<span>log</span><span>(</span>photo.<span>title</span><span>)</span><span>;</span>
<span>}</span><span>)</span><span>;</span>
<span>}</span><span>)</span><span>;</span></pre>
- </td>
- </tr></tbody></table></div>
+ </div></div>
<p>You may not read out the “Date” header since Flickr does not allow it
via
<br></br><code>Access-Control-Expose-Headers</code>.</p>
<div>
- <table><tbody><tr><td><pre>response.<span>headers</span>.<span>get</span><span>(</span><span>"Date"</span><span>)</span><span>;</span> <span>// null</span></pre>
- </td>
- </tr></tbody></table></div>
+ <div><pre>response.<span>headers</span>.<span>get</span><span>(</span><span>"Date"</span><span>)</span><span>;</span> <span>// null</span></pre>
+ </div></div>
<p>The <code>credentials</code> enumeration determines if cookies for the other
domain are
<br></br>sent to cross-origin requests. This is similar to XHR’s <code>withCredentials</code>
@@ -297,13 +285,12 @@ apiCall.<span>then</span><span>(</span><span>function</span><span>(</span>respon
<br></br>idiomatic way to return a Response to an intercepted request in ServiceWorkers
is:</p>
<div>
- <table><tbody><tr><td><pre>addEventListener<span>(</span><span>'fetch'</span><span>,</span> <span>function</span><span>(</span>event<span>)</span> <span>{</span>
+ <div><pre>addEventListener<span>(</span><span>'fetch'</span><span>,</span> <span>function</span><span>(</span>event<span>)</span> <span>{</span>
event.<span>respondWith</span><span>(</span><span>new</span> Response<span>(</span><span>"Response body"</span><span>,</span> <span>{</span>
headers<span>:</span> <span>{</span> <span>"Content-Type"</span> <span>:</span> <span>"text/plain"</span> <span>}</span>
<span>}</span><span>)</span><span>;</span>
<span>}</span><span>)</span><span>;</span></pre>
- </td>
- </tr></tbody></table></div>
+ </div></div>
<p>As you can see, Response has a two argument constructor, where both arguments
are optional. The first argument is a body initializer, and the second
is a dictionary to set the <code>status</code>, <code>statusText</code> and <code>headers</code>.</p>
@@ -348,19 +335,17 @@ apiCall.<span>then</span><span>(</span><span>function</span><span>(</span>respon
non-text data!</p>
<p>Request bodies can be set by passing <code>body</code> parameters:</p>
<div>
- <table><tbody><tr><td><pre><span>var</span> form <span>=</span> <span>new</span> FormData<span>(</span>document.<span>getElementById</span><span>(</span><span>'login-form'</span><span>)</span><span>)</span><span>;</span>
+ <div><pre><span>var</span> form <span>=</span> <span>new</span> FormData<span>(</span>document.<span>getElementById</span><span>(</span><span>'login-form'</span><span>)</span><span>)</span><span>;</span>
fetch<span>(</span><span>"/login"</span><span>,</span> <span>{</span>
method<span>:</span> <span>"POST"</span><span>,</span>
body<span>:</span> form
<span>}</span><span>)</span></pre>
- </td>
- </tr></tbody></table></div>
+ </div></div>
<p>Responses take the first argument as the body.</p>
<div>
- <table><tbody><tr><td><pre><span>var</span> res <span>=</span> <span>new</span> Response<span>(</span><span>new</span> File<span>(</span><span>[</span><span>"chunk"</span><span>,</span> <span>"chunk"</span><span>]</span><span>,</span> <span>"archive.zip"</span><span>,</span>
+ <div><pre><span>var</span> res <span>=</span> <span>new</span> Response<span>(</span><span>new</span> File<span>(</span><span>[</span><span>"chunk"</span><span>,</span> <span>"chunk"</span><span>]</span><span>,</span> <span>"archive.zip"</span><span>,</span>
<span>{</span> type<span>:</span> <span>"application/zip"</span> <span>}</span><span>)</span><span>)</span><span>;</span></pre>
- </td>
- </tr></tbody></table></div>
+ </div></div>
<p>Both Request and Response (and by extension the <code>fetch()</code> function),
will try to intelligently <a href="https://fetch.spec.whatwg.org/#concept-bodyinit-extract">determine the content type</a>.
Request will also automatically set a “Content-Type” header if none is
@@ -372,7 +357,7 @@ fetch<span>(</span><span>"/login"</span><span>,</span> <span>{</span>
read once! Both interfaces have a boolean attribute <code>bodyUsed</code> to
determine if it is safe to read or not.</p>
<div>
- <table><tbody><tr><td><pre><span>var</span> res <span>=</span> <span>new</span> Response<span>(</span><span>"one time use"</span><span>)</span><span>;</span>
+ <div><pre><span>var</span> res <span>=</span> <span>new</span> Response<span>(</span><span>"one time use"</span><span>)</span><span>;</span>
console.<span>log</span><span>(</span>res.<span>bodyUsed</span><span>)</span><span>;</span> <span>// false</span>
res.<span>text</span><span>(</span><span>)</span>.<span>then</span><span>(</span><span>function</span><span>(</span>v<span>)</span> <span>{</span>
console.<span>log</span><span>(</span>res.<span>bodyUsed</span><span>)</span><span>;</span> <span>// true</span>
@@ -382,8 +367,7 @@ console.<span>log</span><span>(</span>res.<span>bodyUsed</span><span>)</span><sp
res.<span>text</span><span>(</span><span>)</span>.<span>catch</span><span>(</span><span>function</span><span>(</span>e<span>)</span> <span>{</span>
console.<span>log</span><span>(</span><span>"Tried to read already consumed Response"</span><span>)</span><span>;</span>
<span>}</span><span>)</span><span>;</span></pre>
- </td>
- </tr></tbody></table></div>
+ </div></div>
<p>This decision allows easing the transition to an eventual <a href="https://streams.spec.whatwg.org/">stream-based</a> Fetch
API. The intention is to let applications consume data as it arrives, allowing
for JavaScript to deal with larger files like videos, and perform things
@@ -398,7 +382,7 @@ res.<span>text</span><span>(</span><span>)</span>.<span>catch</span><span>(</spa
be called before the body of the corresponding object has been used. That
is, <code>clone()</code> first, read later.</p>
<div>
- <table><tbody><tr><td><pre>addEventListener<span>(</span><span>'fetch'</span><span>,</span> <span>function</span><span>(</span>evt<span>)</span> <span>{</span>
+ <div><pre>addEventListener<span>(</span><span>'fetch'</span><span>,</span> <span>function</span><span>(</span>evt<span>)</span> <span>{</span>
<span>var</span> sheep <span>=</span> <span>new</span> Response<span>(</span><span>"Dolly"</span><span>)</span><span>;</span>
console.<span>log</span><span>(</span>sheep.<span>bodyUsed</span><span>)</span><span>;</span> <span>// false</span>
<span>var</span> clone <span>=</span> sheep.<span>clone</span><span>(</span><span>)</span><span>;</span>
@@ -412,8 +396,7 @@ res.<span>text</span><span>(</span><span>)</span>.<span>catch</span><span>(</spa
<span>return</span> sheep<span>;</span>
<span>}</span><span>)</span><span>;</span>
<span>}</span><span>)</span><span>;</span></pre>
- </td>
- </tr></tbody></table></div>
+ </div></div>
<h2>Future improvements</h2>
diff --git a/test/test-pages/003-metadata-preferred/expected-images.json b/test/test-pages/003-metadata-preferred/expected-images.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/test/test-pages/003-metadata-preferred/expected-images.json
@@ -0,0 +1 @@
+[] \ No newline at end of file
diff --git a/test/test-pages/003-metadata-preferred/expected-metadata.json b/test/test-pages/003-metadata-preferred/expected-metadata.json
new file mode 100644
index 0000000..a702e4a
--- /dev/null
+++ b/test/test-pages/003-metadata-preferred/expected-metadata.json
@@ -0,0 +1,5 @@
+{
+ "Title": "Dublin Core property title",
+ "Author": "Dublin Core property author",
+ "Excerpt": "Dublin Core property description"
+}
diff --git a/test/test-pages/003-metadata-preferred/expected.html b/test/test-pages/003-metadata-preferred/expected.html
new file mode 100644
index 0000000..6b03dd3
--- /dev/null
+++ b/test/test-pages/003-metadata-preferred/expected.html
@@ -0,0 +1,18 @@
+<article>
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
+ tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
+ cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+ proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+ </p>
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
+ tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
+ cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+ proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+ </p>
+ </article> \ No newline at end of file
diff --git a/test/test-pages/003-metadata-preferred/source.html b/test/test-pages/003-metadata-preferred/source.html
new file mode 100644
index 0000000..c7275b3
--- /dev/null
+++ b/test/test-pages/003-metadata-preferred/source.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <title>Title Element</title>
+ <meta name="title" content="Meta name title"/>
+ <meta name="og:title" content="Open Graph name title"/>
+ <meta name="twitter:title" content="Twitter name title"/>
+ <meta name="DC.title" content="Dublin Core name title"/>
+ <meta property="dc:title" content="Dublin Core property title"/>
+ <meta property="twitter:title" content="Twitter property title"/>
+ <meta property="og:title" content="Open Graph property title"/>
+ <meta name="author" content="Meta name author"/>
+ <meta name="DC.creator" content="Dublin Core name author"/>
+ <meta property="dc:creator" content="Dublin Core property author"/>
+ <meta name="description" content="Meta name description"/>
+ <meta name="og:description" content="Open Graph name description"/>
+ <meta name="twitter:description" content="Twitter name description"/>
+ <meta name="DC.description" content="Dublin Core name description"/>
+ <meta property="dc:description" content="Dublin Core property description"/>
+ <meta property="twitter:description" content="Twitter property description"/>
+ <meta property="og:description" content="Open Graph property description"/>
+ </head>
+ <body>
+ <article>
+ <h1>Test document title</h1>
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
+ tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
+ cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+ proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+ </p>
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
+ tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
+ cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+ proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+ </p>
+ </article>
+ </body>
+</html> \ No newline at end of file
diff --git a/test/test-pages/004-metadata-space-separated-properties/expected-images.json b/test/test-pages/004-metadata-space-separated-properties/expected-images.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/test/test-pages/004-metadata-space-separated-properties/expected-images.json
@@ -0,0 +1 @@
+[] \ No newline at end of file
diff --git a/test/test-pages/004-metadata-space-separated-properties/expected-metadata.json b/test/test-pages/004-metadata-space-separated-properties/expected-metadata.json
new file mode 100644
index 0000000..a41ac6b
--- /dev/null
+++ b/test/test-pages/004-metadata-space-separated-properties/expected-metadata.json
@@ -0,0 +1,5 @@
+{
+ "Title": "Preferred title",
+ "Author": "Creator Name",
+ "Excerpt": "Preferred description"
+}
diff --git a/test/test-pages/004-metadata-space-separated-properties/expected.html b/test/test-pages/004-metadata-space-separated-properties/expected.html
new file mode 100644
index 0000000..6b03dd3
--- /dev/null
+++ b/test/test-pages/004-metadata-space-separated-properties/expected.html
@@ -0,0 +1,18 @@
+<article>
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
+ tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
+ cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+ proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+ </p>
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
+ tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
+ cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+ proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+ </p>
+ </article> \ No newline at end of file
diff --git a/test/test-pages/004-metadata-space-separated-properties/source.html b/test/test-pages/004-metadata-space-separated-properties/source.html
new file mode 100644
index 0000000..9b95100
--- /dev/null
+++ b/test/test-pages/004-metadata-space-separated-properties/source.html
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <title>Title Element</title>
+ <meta property="x:title dc:title" content="Preferred title"/>
+ <meta property="og:title twitter:title" content="A title"/>
+ <meta property="dc:creator twitter:site_name" content="Creator Name"/>
+ <meta name="author" content="FAIL"/>
+ <meta property="og:description x:description twitter:description" content="A description"/>
+ <meta property="dc:description og:description" content="Preferred description"/>
+ <meta name="description" content="FAIL"/>
+ </head>
+ <body>
+ <article>
+ <h1>Test document title</h1>
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
+ tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
+ cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+ proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+ </p>
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
+ tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
+ cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+ proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+ </p>
+ </article>
+ </body>
+</html> \ No newline at end of file
diff --git a/test/test-pages/aclu/config.json b/test/test-pages/aclu/config.json
new file mode 100644
index 0000000..0ac6816
--- /dev/null
+++ b/test/test-pages/aclu/config.json
@@ -0,0 +1,3 @@
+{
+ "ArticleByLine": true
+} \ No newline at end of file
diff --git a/test/test-pages/aclu/expected-images.json b/test/test-pages/aclu/expected-images.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/test/test-pages/aclu/expected-images.json
@@ -0,0 +1 @@
+[] \ No newline at end of file
diff --git a/test/test-pages/aclu/expected-metadata.json b/test/test-pages/aclu/expected-metadata.json
new file mode 100644
index 0000000..f954b98
--- /dev/null
+++ b/test/test-pages/aclu/expected-metadata.json
@@ -0,0 +1,5 @@
+{
+ "Title": "Facebook Is Tracking Me Even Though I’m Not on Facebook",
+ "Author": "By Daniel Kahn Gillmor, Senior Staff Technologist, ACLU Speech, Privacy, and Technology Project",
+ "Excerpt": "I don't use Facebook. I'm not technophobic — I'm a geek. I've been using email since the early 1990s, I have accounts on hundreds of services around the net, and I do software development and internet protocol design both for work and for fun. I believe that a globe-spanning communications network like the internet can be a positive social force, and I publish much of my own work on the open web."
+}
diff --git a/test/test-pages/aclu/expected.html b/test/test-pages/aclu/expected.html
new file mode 100644
index 0000000..1580143
--- /dev/null
+++ b/test/test-pages/aclu/expected.html
@@ -0,0 +1,124 @@
+<div>
+ <p>
+ I don't use Facebook. I'm not technophobic — I'm a geek. I've been using email since the early 1990s, I have accounts on hundreds of services around the net, and I do software development and internet protocol design both for work and for fun. I believe that a globe-spanning communications network like the internet can be a positive social force, and I publish much of my own work on the open web.
+ </p>
+ <p>
+ But Facebook and other massive web companies represent a strong push toward unaccountable centralized social control, which I think makes our society more unequal and more unjust. The Cambridge Analytica scandal is one instance of this long-running problem with what I call the "surveillance economy." I don't want to submit to these power structures, and I don’t want my presence on such platforms to serve as bait that lures other people into the digital panopticon.
+ </p>
+ <p>
+ But while I've never "opted in" to Facebook or any of the other big social networks, Facebook still has a detailed profile that can be used to target me. I've never consented to having Facebook collect my data, which can be used to draw very detailed inferences about my life, my habits, and my relationships. As we aim to take Facebook to task for its breach of user trust, we need to think about what its capabilities imply for society overall. After all, if you do #deleteFacebook, you'll find yourself in my shoes: non-consenting, but still subject to Facebook’s globe-spanning surveillance and targeting network.
+ </p>
+ <p>
+ There are at least two major categories of information available to Facebook about non-participants like me: information from other Facebook users, and information from sites on the open web.
+ </p>
+ <h3>
+ <strong>Information from other Facebook users</strong>
+ </h3>
+ <p>
+ When you sign up for Facebook, it encourages you to upload your list of contacts so that the site can "find your friends." Facebook uses this contact information to learn about people, even if those people don't agree to participate. It also links people together based on who they know, even if the shared contact hasn't agreed to this use.
+ </p>
+ <p>
+ For example, I received an email from Facebook that lists the people who have all invited me to join Facebook: my aunt, an old co-worker, a friend from elementary school, etc. This email includes names and email addresses — including my own name — and at least one <a href="https://en.wikipedia.org/wiki/Web_bug">web bug</a> designed to identify me to Facebook’s web servers when I open the email. Facebook records this group of people as my contacts, even though I've never agreed to this kind of data collection.
+ </p>
+ <p>
+ Similarly, I'm sure that I'm in some photographs that someone has uploaded to Facebook — and I'm probably tagged in some of them. I've never agreed to this, but Facebook could still be keeping track.
+ </p>
+ <p>
+ So even if you decide you need to join Facebook, remember that you might be giving the company information about someone else who didn't agree to be part of its surveillance platform.
+ </p>
+ <h3>
+ <strong>Information from sites on the open Web</strong>
+ </h3>
+ <p>
+ Nearly every website that you visit that has a "Like" button is actually encouraging your browser to tell Facebook about your browsing habits. Even if you don't click on the "Like" button, displaying it requires your browser to send a request to Facebook's servers for the "Like" button itself. That request includes <a href="https://en.wikipedia.org/wiki/HTTP_referer">information</a> mentioning the name of the page you are visiting and any Facebook-specific <a href="https://en.wikipedia.org/wiki/HTTP_cookie">cookies</a> your browser might have collected. (See <a href="https://www.facebook.com/help/186325668085084">Facebook's own description of this process</a>.) This is called a "third-party request."
+ </p>
+ <p>
+ This makes it possible for Facebook to create a detailed picture of your browsing history — even if you've never even visited Facebook directly, let alone signed up for a Facebook account.
+ </p>
+ <p>
+ Think about most of the web pages you've visited — how many of them <em>don't</em> have a "Like" button? If you administer a website and you include a "Like" button on every page, you're helping Facebook to build profiles of your visitors, even those who have opted out of the social network. Facebook’s <a href="https://developers.facebook.com/docs/plugins/">“Share” buttons</a> on other sites — along with <a href="https://www.facebook.com/business/learn/facebook-ads-pixel">other tools</a> — work a bit differently from the “Like” button, but do effectively the same thing.
+ </p>
+ <p>
+ The profiles that Facebook builds on non-users don't necessarily include so-called "personally identifiable information" (PII) like names or email addresses. But they do include fairly unique patterns. Using <a href="https://dev.chromium.org/for-testers/providing-network-details">Chromium's NetLog dumping</a>, I performed a simple five-minute browsing test last week that included visits to various sites — but not Facebook. In that test, the PII-free data that was sent to Facebook included information about which news articles I was reading, my dietary preferences, and my hobbies.
+ </p>
+ <p>
+ Given the precision of this kind of mapping and targeting, "PII" isn’t necessary to reveal my identity. How many vegans examine specifications for computer hardware from the ACLU's offices while reading about Cambridge Analytica? Anyway, if Facebook combined that information with the "web bug" from the email mentioned above — which <em>is</em> clearly linked to my name and e-mail address — no guesswork would be required.
+ </p>
+ <p>
+ I'd be shocked if Facebook were not connecting those dots given the goals <a href="https://www.facebook.com/about/privacy/cookies">they claim for data collection</a>:
+ </p>
+ <blockquote>
+ <p>
+ We use the information we have to improve our advertising and measurement systems so we can show you relevant ads on and off our Services and measure the effectiveness and reach of ads and services.
+ </p>
+ </blockquote>
+ <p>
+ This is, in essence, exactly what Cambridge Analytica did.
+ </p>
+ <h3>
+ <strong>Consent</strong>
+ </h3>
+ <p>
+ Facebook and other tech companies often deflect accusations against excessive data collection by arguing "consent" — that they harvest and use data with the consent of the users involved.
+ </p>
+ <p>
+ But even if we accept that clicking through a "Terms of Service" that <a href="https://tosdr.org/">no one reads</a> can actually constitute true consent, even if we ignore the fact that these terms are overwhelmingly one-sided and non-negotiable, and even if we accept that it's meaningful for people to give consent when sharing data about other people who may have also opted in — what is the recourse for someone who has not opted into these systems at all?
+ </p>
+ <p>
+ Are those of us who have explicitly avoided agreeing to the Facebook terms of service simply fair game for an industry-wide surveillance and targeting network?
+ </p>
+ <h3>
+ <strong>Privilege</strong>
+ </h3>
+ <p>
+ I don’t mean to critique people who have created a Facebook profile or suggest they deserve whatever they get.
+ </p>
+ <p>
+ My ability to avoid Facebook comes from privilege — I have existing social contacts with whom I know how to stay in touch without using Facebook's network. My job does not require that I use Facebook. I can afford the time and expense to communicate with my electoral representatives and political allies via other channels.
+ </p>
+ <p>
+ Many people do not have these privileges and are compelled to "opt in" on Facebook's non-negotiable terms.
+ </p>
+ <p>
+ Many journalists, organizers, schools, politicians, and others who have good reasons to oppose Facebook's centralized social control feel compelled by Facebook's reach and scale to participate in their practices, even those we know to be harmful. That includes the ACLU.
+ </p>
+ <p>
+ Privacy should not be a luxury good, and while I'm happy to encourage people to opt out of these subtle and socially fraught arrangements, I do not argue that anyone who has signed up has somehow relinquished concerns about their privacy. We need to evaluate privacy concerns in their full social contexts. These are not problems that can be resolved on an individual level, because of the interpersonal nature of much of this data and the complexities of the tradeoffs involved.
+ </p>
+ <h3>
+ <strong>Technical countermeasures</strong>
+ </h3>
+ <p>
+ While they may not solve the problem, there are some technical steps people can take to limit the scope of these surveillance practices. For example, some web browsers do not send "third-party cookies" by default, or <a href="https://wiki.mozilla.org/Thirdparty">they scope cookies</a> so that centralized surveillance doesn't get a single view of one user. The most privacy-preserving modern browser is <a href="https://www.torproject.org/">the Tor Browser</a>, which everyone should have installed and available, even if it's not the browser they choose to use every day. It limits the surveillance ability of systems that you have not signed up for to track you as you move around the web.
+ </p>
+ <p>
+ You can also modify some browsers — for example, with plug-ins for <a href="https://requestpolicycontinued.github.io/">Firefox</a> and <a href="https://chrome.google.com/webstore/detail/umatrix/ogfcmafjalglgifnmanfmnieipoejdcf">Chrome</a> — so that they <a href="https://addons.mozilla.org/en-US/firefox/addon/umatrix/">do not send third-party</a> <a href="https://requestpolicycontinued.github.io/">requests at all</a>. Firefox is also exploring even more <a href="https://addons.mozilla.org/en-US/firefox/addon/multi-account-containers/">privacy-preserving techniques</a><a href="https://addons.mozilla.org/en-US/firefox/addon/multi-account-containers/">.</a>
+ </p>
+ <p>
+ It can’t be denied, though, that these tools are harder to use than the web browsers most people are accustomed to, and they create barriers to some online activities. (For example, logging in to <a href="https://offcampushousing.uconn.edu/login">some sites</a> and accessing some <a href="https://filestore.community.support.microsoft.com/api/images/0253d8fb-b050-401a-834d-9d80a99c0b12">web applications</a> is impossible without third-party cookies.)
+ </p>
+ <p>
+ Some website operators take their visitors' privacy more seriously than others, by reducing the amount of third-party requests. For example, it's possible to display "share on Facebook" or "Like" buttons without sending user requests to Facebook in the first place. The ACLU's own website does this because we believe that the right to read with privacy is a fundamental protection for civic discourse.
+ </p>
+ <p>
+ If you are responsible for running a website, try browsing it with a third-party-blocking extension turned on. Think about how much information you're requiring your users to send to third parties as a condition for using your site. If you care about being a good steward of your visitors' data, you can re-design your website to reduce this kind of leakage.
+ </p>
+ <h3>
+ <strong>Opting out?</strong>
+ </h3>
+ <p>
+ Some advertisers claim that you can "opt out" of their targeted advertising, and even offer <a href="http://optout.aboutads.info/">a centralized place meant to help you do so</a>. However, my experience with these tools isn't a positive one. They don't appear to work all of the time. (In a recent experiment I conducted, two advertisers’ opt-out mechanisms failed to take effect.) And while advertisers claim to allow the user to opt out of "interest-based ads," it's not clear that the opt-outs govern data collection itself, rather than just the use of the collected data for displaying ads. Moreover, opting out on their terms requires the use of third-party cookies, thereby enabling another mechanism that other advertisers can then exploit.
+ </p>
+ <p>
+ It's also not clear how they function over time: How frequently do I need to take these steps? Do they expire? How often should I check back to make sure I’m still opted out? I'd much prefer an approach requiring me to opt <em>in</em> to surveillance and targeting.
+ </p>
+ <h3>
+ <strong>Fix the surveillance economy, not just Facebook</strong>
+ </h3>
+ <p>
+ These are just a few of the mechanisms that enable online tracking. Facebook is just one culprit in this online "surveillance economy," albeit a massive one — the company owns <a href="https://www.instagram.com/">Instagram</a>, <a href="https://atlassolutions.com/">Atlas</a>, <a href="https://www.whatsapp.com/">WhatsApp</a>, and dozens of other internet and technology companies and services. But it’s not the only player in this space. Google’s business model also relies on this kind of surveillance, and there are dozens of smaller players as well.
+ </p>
+ <p>
+ As we work to address the fallout from the current storm around Facebook and Cambridge Analytica, we can't afford to lose sight of these larger mechanisms at play. Cambridge Analytica's failures and mistakes are inherent to Facebook's business model. We need to seriously challenge the social structures that encourage people to opt in to this kind of surveillance. At the same time, we also need to protect those of us who manage to opt out.
+ </p>
+ </div> \ No newline at end of file
diff --git a/test/test-pages/aclu/source.html b/test/test-pages/aclu/source.html
new file mode 100644
index 0000000..d8e99bb
--- /dev/null
+++ b/test/test-pages/aclu/source.html
@@ -0,0 +1,1264 @@
+<!DOCTYPE html>
+<!--[if IEMobile 7]><html class="iem7" lang="en" dir="ltr"><![endif]--><!--[if lte IE 6]><html class="lt-ie9 lt-ie8 lt-ie7" lang="en" dir="ltr"><![endif]--><!--[if (IE 7)&(!IEMobile)]><html class="lt-ie9 lt-ie8" lang="en" dir="ltr"><![endif]--><!--[if IE 8]><html class="lt-ie9" lang="en" dir="ltr"><![endif]--><!--[if IE 9]><html class="lt-ie10" lang="en" dir="ltr"><![endif]--><!--[if (gte IE 10)|(gt IEMobile 7)]><!-->
+<html lang="en" dir="ltr" prefix="fb: http://ogp.me/ns/fb# og: http://ogp.me/ns# article: http://ogp.me/ns/article# book: http://ogp.me/ns/book# profile: http://ogp.me/ns/profile# video: http://ogp.me/ns/video# product: http://ogp.me/ns/product#" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <!--<![endif]-->
+ <head>
+ <!--[if IE]><![endif]-->
+ <meta charset="utf-8" />
+ <link rel="shortcut icon" href="https://www.aclu.org/misc/favicon.ico" />
+ <meta name="description" content="I don't use Facebook. I'm not technophobic — I'm a geek. I've been using email since the early 1990s, I have accounts on hundreds of services around the net, and I do software development and internet protocol design both for work and for fun. I believe that a globe-spanning communications network like the internet can be a positive social force, and I publish much of my own work on the open web." />
+ <link rel="canonical" href="https://www.aclu.org/blog/privacy-technology/internet-privacy/facebook-tracking-me-even-though-im-not-facebook" />
+ <meta name="generator" content="Drupal 7 (http://drupal.org)" />
+ <link rel="shortlink" href="https://www.aclu.org/node/67865" />
+ <meta property="fb:pages" content="18982436812" />
+ <meta property="og:site_name" content="American Civil Liberties Union" />
+ <meta property="og:type" content="article" />
+ <meta property="og:title" content="Facebook Is Tracking Me Even Though I’m Not on Facebook" />
+ <meta property="og:url" content="https://www.aclu.org/blog/privacy-technology/internet-privacy/facebook-tracking-me-even-though-im-not-facebook" />
+ <meta property="og:image" content="https://www.aclu.org/sites/default/files/styles/metatag_og_image_1200x630/public/field_share_image/web18-facebook-socialshare-1200x628-v02.png?itok=p77cQjOm" />
+ <meta name="twitter:card" content="summary_large_image" />
+ <meta name="twitter:creator" content="@ACLU" />
+ <meta name="twitter:title" content="Facebook Is Tracking Me Even Though I’m Not on Facebook" />
+ <meta name="twitter:description" content="I don't use Facebook. I'm not technophobic — I'm a geek. I've been using email since the early 1990s, I have accounts on hundreds of services around the net, and I do software development and internet protocol design both for work and for fun. I believe that a globe-spanning communications network like the internet can be a positive social force, and I publish much of my own work on the open web.But Facebook and other massive web companies represent a strong push toward unaccountable centralized social control, which I think makes our society more unequal and more unjust. The Cambridge Analytica scandal is one instance of this long-running problem with what I call the &quot;surveillance economy.&quot; I don't want to submit to these power structures, and I don’t want my presence on such platforms to serve as bait that lures other people into the digital panopticon.But while I've never &quot;opted in&quot; to Facebook or any of the other big social networks, Facebook still has a detailed profile that can be used to target me. I've never consented to having Facebook collect my data, which can be used to draw very detailed inferences about my life, my habits, and my relationships. As we aim to take Facebook to task for its breach of user trust, we need to think about what its capabilities imply for society overall. After all, if you do #deleteFacebook, you'll find yourself in my shoes: non-consenting, but still subject to Facebook’s globe-spanning surveillance and targeting network.There are at least two major categories of information available to Facebook about non-participants like me: information from other Facebook users, and information from sites on the open web.Information from other Facebook usersWhen you sign up for Facebook, it encourages you to upload your list of contacts so that the site can &quot;find your friends.&quot; Facebook uses this contact information to learn about people, even if those people don't agree to participate. It also links people together based on who they know, even if the shared contact hasn't agreed to this use.For example, I received an email from Facebook that lists the people who have all invited me to join Facebook: my aunt, an old co-worker, a friend from elementary school, etc. This email includes names and email addresses — including my own name — and at least one web bug designed to identify me to Facebook’s web servers when I open the email. Facebook records this group of people as my contacts, even though I've never agreed to this kind of data collection.Similarly, I'm sure that I'm in some photographs that someone has uploaded to Facebook — and I'm probably tagged in some of them. I've never agreed to this, but Facebook could still be keeping track.So even if you decide you need to join Facebook, remember that you might be giving the company information about someone else who didn't agree to be part of its surveillance platform.Information from sites on the open WebNearly every website that you visit that has a &quot;Like&quot; button is actually encouraging your browser to tell Facebook about your browsing habits. Even if you don't click on the &quot;Like&quot; button, displaying it requires your browser to send a request to Facebook's servers for the &quot;Like&quot; button itself. That request includes information mentioning the name of the page you are visiting and any Facebook-specific cookies your browser might have collected. (See Facebook's own description of this process.) This is called a &quot;third-party request.&quot;This makes it possible for Facebook to create a detailed picture of your browsing history — even if you've never even visited Facebook directly, let alone signed up for a Facebook account.Think about most of the web pages you've visited — how many of them don't have a &quot;Like&quot; button? If you administer a website and you include a &quot;Like&quot; button on every page, you're helping Facebook to build profiles of your visitors, even those who have opted out of the social network. Facebook’s “Share” buttons on other sites — along with other tools — work a bit differently from the “Like” button, but do effectively the same thing.The profiles that Facebook builds on non-users don't necessarily include so-called &quot;personally identifiable information&quot; (PII) like names or email addresses. But they do include fairly unique patterns. Using Chromium's NetLog dumping, I performed a simple five-minute browsing test last week that included visits to various sites — but not Facebook. In that test, the PII-free data that was sent to Facebook included information about which news articles I was reading, my dietary preferences, and my hobbies.Given the precision of this kind of mapping and targeting, &quot;PII&quot; isn’t necessary to reveal my identity. How many vegans examine specifications for computer hardware from the ACLU's offices while reading about Cambridge Analytica? Anyway, if Facebook combined that information with the &quot;web bug&quot; from the email mentioned above — which is clearly linked to my name and e-mail address — no guesswork would be required.I'd be shocked if Facebook were not connecting those dots given the goals they claim for data collection:We use the information we have to improve our advertising and measurement systems so we can show you relevant ads on and off our Services and measure the effectiveness and reach of ads and services.This is, in essence, exactly what Cambridge Analytica did.ConsentFacebook and other tech companies often deflect accusations against excessive data collection by arguing &quot;consent&quot; — that they harvest and use data with the consent of the users involved.But even if we accept that clicking through a &quot;Terms of Service&quot; that no one reads can actually constitute true consent, even if we ignore the fact that these terms are overwhelmingly one-sided and non-negotiable, and even if we accept that it's meaningful for people to give consent when sharing data about other people who may have also opted in — what is the recourse for someone who has not opted into these systems at all?Are those of us who have explicitly avoided agreeing to the Facebook terms of service simply fair game for an industry-wide surveillance and targeting network?PrivilegeI don’t mean to critique people who have created a Facebook profile or suggest they deserve whatever they get.My ability to avoid Facebook comes from privilege — I have existing social contacts with whom I know how to stay in touch without using Facebook's network. My job does not require that I use Facebook. I can afford the time and expense to communicate with my electoral representatives and political allies via other channels.Many people do not have these privileges and are compelled to &quot;opt in&quot; on Facebook's non-negotiable terms.Many journalists, organizers, schools, politicians, and others who have good reasons to oppose Facebook's centralized social control feel compelled by Facebook's reach and scale to participate in their practices, even those we know to be harmful. That includes the ACLU.Privacy should not be a luxury good, and while I'm happy to encourage people to opt out of these subtle and socially fraught arrangements, I do not argue that anyone who has signed up has somehow relinquished concerns about their privacy. We need to evaluate privacy concerns in their full social contexts. These are not problems that can be resolved on an individual level, because of the interpersonal nature of much of this data and the complexities of the tradeoffs involved.Technical countermeasuresWhile they may not solve the problem, there are some technical steps people can take to limit the scope of these surveillance practices. For example, some web browsers do not send &quot;third-party cookies&quot; by default, or they scope cookies so that centralized surveillance doesn't get a single view of one user. The most privacy-preserving modern browser is the Tor Browser, which everyone should have installed and available, even if it's not the browser they choose to use every day. It limits the surveillance ability of systems that you have not signed up for to track you as you move around the web.You can also modify some browsers — for example, with plug-ins for Firefox and Chrome — so that they do not send third-party requests at all. Firefox is also exploring even more privacy-preserving techniques. It can’t be denied, though, that these tools are harder to use than the web browsers most people are accustomed to, and they create barriers to some online activities. (For example, logging in to some sites and accessing some web applications is impossible without third-party cookies.)Some website operators take their visitors' privacy more seriously than others, by reducing the amount of third-party requests. For example, it's possible to display &quot;share on Facebook&quot; or &quot;Like&quot; buttons without sending user requests to Facebook in the first place. The ACLU's own website does this because we believe that the right to read with privacy is a fundamental protection for civic discourse.If you are responsible for running a website, try browsing it with a third-party-blocking extension turned on. Think about how much information you're requiring your users to send to third parties as a condition for using your site. If you care about being a good steward of your visitors' data, you can re-design your website to reduce this kind of leakage.Opting out?Some advertisers claim that you can &quot;opt out&quot; of their targeted advertising, and even offer a centralized place meant to help you do so. However, my experience with these tools isn't a positive one. They don't appear to work all of the time. (In a recent experiment I conducted, two advertisers’ opt-out mechanisms failed to take effect.) And while advertisers claim to allow the user to opt out of &quot;interest-based ads,&quot; it's not clear that the opt-outs govern data collection itself, rather than just the use of the collected data for displaying ads. Moreover, opting out on their terms requires the use of third-party cookies, thereby enabling another mechanism that other advertisers can then exploit.It's also not clear how they function over time: How frequently do I need to take these steps? Do they expire? How often should I check back to make sure I’m still opted out? I'd much prefer an approach requiring me to opt in to surveillance and targeting.Fix the surveillance economy, not just FacebookThese are just a few of the mechanisms that enable online tracking. Facebook is just one culprit in this online &quot;surveillance economy,&quot; albeit a massive one — the company owns Instagram, Atlas, WhatsApp, and dozens of other internet and technology companies and services. But it’s not the only player in this space. Google’s business model also relies on this kind of surveillance, and there are dozens of smaller players as well.As we work to address the fallout from the current storm around Facebook and Cambridge Analytica, we can't afford to lose sight of these larger mechanisms at play. Cambridge Analytica's failures and mistakes are inherent to Facebook's business model. We need to seriously challenge the social structures that encourage people to opt in to this kind of surveillance. At the same time, we also need to protect those of us who manage to opt out." />
+ <meta name="twitter:image" content="https://www.aclu.org/sites/default/files/field_image/web18-facebook-1160x768.jpg" />
+ <link rel="shortcut icon" href="/favicon.ico?v=1" />
+ <link rel="apple-touch-icon" sizes="180x180" href="/sites/all/themes/custom/aclu/favicons/apple-touch-icon.png?v=1" />
+ <link rel="icon" type="image/png" sizes="32x32" href="/sites/all/themes/custom/aclu/favicons/favicon-32x32.png?v=1" />
+ <link rel="icon" type="image/png" sizes="16x16" href="/sites/all/themes/custom/aclu/favicons/favicon-16x16.png?v=1" />
+ <link rel="manifest" href="/sites/all/themes/custom/aclu/favicons/manifest.json?v=1" />
+ <link rel="mask-icon" href="/sites/all/themes/custom/aclu/favicons/safari-pinned-tab.svg?v=1" color="#ef404d" />
+ <meta name="msapplication-config" content="/sites/all/themes/custom/aclu/favicons/browserconfig.xml?v=1" />
+ <meta name="theme-color" content="#ffffff" />
+ <title>
+ Facebook Is Tracking Me Even Though I’m Not on Facebook | American Civil Liberties Union
+ </title>
+ <meta name="MobileOptimized" content="width" />
+ <meta name="HandheldFriendly" content="true" />
+ <meta name="viewport" content="width=device-width" />
+ <meta http-equiv="cleartype" content="on" />
+ <link rel="stylesheet" href="https://www.aclu.org/sites/default/files/advagg_css/css__9cWqptSUNYq5YedfIwh33VxtugFVWjDdEsblT8GhLKI__quUjyhSfbEukHj8a0hYvzm9VTmPALmSZvA0xfM_Oxzo__VITBFqYjCWZ55Wpxq9xcXRqOD9xxPlR-vPRDis8bQN4.css" media="all" />
+ <style>
+ <![CDATA[
+ .pane-aclu-blog-news-signup div.pane-title{line-height:1.77778rem;margin:0 0 .66667rem;color:#423a38;font-family:gtam,Arial,Helvetica,Nimbus Sans L,sans-serif;font-weight:800}@media (min-width:48em){.pane-aclu-blog-news-signup div.pane-title{font-size:1.22222rem;line-height:1.77778rem}}h3{line-height:1.55556rem;margin:0 0 .66667rem;font-family:gtam,Arial,Helvetica,Nimbus Sans L,sans-serif}.more,h3{font-size:1rem;color:#423a38;font-weight:800}.more{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGZpbGw9IiMwMDVBQUEiIGQ9Ik0yNCwyMmMwLDEuMS0wLjksMi0yLDJIMmMtMS4xLDAtMi0wLjktMi0yVjJjMC0xLjEsMC45LTIsMi0yaDIwYzEuMSwwLDIsMC45LDIsMlYyMnoiLz4NCjwvZz4NCjxnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgICAgIj4NCgk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMTMuMzE2LDE5LjM0MWgtMS42OTJsNi41NzItNi41NTRIMy45OXYtMS4yNjFoMTQuMjA2bC02LjU3Mi02LjU1NGgxLjY5Mmw3LjE4NSw3LjE4NEwxMy4zMTYsMTkuMzQxeiIvPg0KPC9nPg0KPC9zdmc+DQo=);padding-top:.05556rem;padding-right:2rem;padding-bottom:.05556rem;text-transform:uppercase;text-decoration:none;vertical-align:middle;cursor:pointer;font-family:gtamcond,Arial,Helvetica,Nimbus Sans L,sans-serif;line-height:1.33333rem;background-position:100% 0;background-repeat:no-repeat}.more:link{color:#423a38}.item-list ul{padding-left:0}.item-list ul li{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAgLS0+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiIFsNCgk8IUVOVElUWSBuc19mbG93cyAiaHR0cDovL25zLmFkb2JlLmNvbS9GbG93cy8xLjAvIj4NCl0+DQo8c3ZnIHZlcnNpb249IjEuMSINCgkgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sbnM6YT0iaHR0cDovL25zLmFkb2JlLmNvbS9BZG9iZVNWR1ZpZXdlckV4dGVuc2lvbnMvMy4wLyINCgkgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIxOHB4IiBoZWlnaHQ9IjE1cHgiIHZpZXdCb3g9Ii0xLjYyNSAtMC40ODkgMTggMTUiDQoJIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IC0xLjYyNSAtMC40ODkgMTggMTUiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGRlZnM+DQo8L2RlZnM+DQo8cGF0aCBmaWxsPSIjOEREQkZGIiBkPSJNMTAuMDEzLDEzLjU3Nkg2LjMxOWw1LjQ3Ny01LjRIMFY1LjQwMWgxMS43OTZMNi4zMTksMGgzLjY5M0wxNi44LDYuNzg5TDEwLjAxMywxMy41NzZ6Ii8+DQo8L3N2Zz4NCg==);color:#423a38;list-style:none;padding-left:1.83333rem;background-position:0 .44444rem;background-repeat:no-repeat}.date,.item-list ul li{margin-bottom:1.11111rem}.date{font-family:gtam,Arial,Helvetica,Nimbus Sans L,sans-serif;font-weight:400;font-size:1rem;text-transform:uppercase}.pane-aclu-blog-news-signup form input{display:inline-block;vertical-align:middle}.pane-aclu-blog-news-signup form input[type=text]{margin-right:.55556rem;width:11.55556rem}.pane-aclu-blog-news-signup form input[type=submit]{background-color:transparent;padding:0;text-indent:-119988px;overflow:hidden;text-align:left;text-transform:capitalize;background-image:none,url(../images/arrows/more-arrow.svg?1512413232);display:inline-block;vertical-align:middle;background-size:28px;width:28px;height:28px;background-repeat:no-repeat}.pane-aclu-blog-news-signup{box-shadow:inset 0 0 0 1px #cfcfcf;padding:1.11111rem .88889rem;margin:0}.pane-aclu-blog-news-signup div.pane-title{margin-bottom:1.11111rem}.pane-aclu-blog-news-signup .form-item{float:left;margin-bottom:.33333rem;margin-top:0}.element-focusable,.element-invisible{height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);position:absolute!important}@media (min-width:0){.small-viewport-hide{display:none}}@media (min-width:60em){.small-viewport-hide{display:block}}.scrollbar-swiper .mCSB_scrollTools.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{display:none}body{min-width:320px}body:after{display:none;content:small}@media (max-width:59.9375em) and (min-width:48em){body:after{content:medium}}@media (max-width:74.9375em) and (min-width:60em){body:after{content:large}}@media (min-width:75em){body:after{content:wide}}#page{margin-left:auto;margin-right:auto}#header>.inner{clear:both}@media (max-width:47.9375em) and (min-width:0){#header>.inner{max-width:90%;margin-left:auto;margin-right:auto}#header>.inner:after{content:" ";display:block;clear:both}}@media (max-width:59.9375em) and (min-width:48em){#header>.inner{width:748px;margin-left:auto;margin-right:auto}#header>.inner:after{content:" ";display:block;clear:both}}@media (max-width:74.9375em) and (min-width:60em){#header>.inner{width:880px;margin-left:auto;margin-right:auto}#header>.inner:after{content:" ";display:block;clear:both}}@media (min-width:75em){#header>.inner{width:1180px;margin-left:auto;margin-right:auto}#header>.inner:after{content:" ";display:block;clear:both}}#page>.menu-panel .inner{clear:both}@media (min-width:60em){#page>.menu-panel .inner{width:880px;margin-left:auto;margin-right:auto}#page>.menu-panel .inner:after{content:" ";display:block;clear:both}}@media (min-width:75em){#page>.menu-panel .inner{width:1180px;margin-left:auto;margin-right:auto}#page>.menu-panel .inner:after{content:" ";display:block;clear:both}}@media (max-width:59.9375em) and (min-width:48em){#header .region-header{padding-left:64px;padding-right:64px}}@media (min-width:75em){#header .region-header{padding-left:75px;padding-right:75px}}#page>.menu-panel .inner .inner-inner{overflow:visible}@media (min-width:75em){#page>.menu-panel .inner .inner-inner{padding-left:75px;padding-right:75px}}#header .region-header{overflow:hidden}@media (min-width:75em){#header .region-header{padding:0;margin-left:75px;margin-right:75px}}#block-search-api-page-search-aclu .search-header span{display:inline-block;vertical-align:middle;text-indent:-119988px;overflow:hidden;text-align:left;text-transform:capitalize;height:16px;width:16px;background-image:url(../images/sprites/icons-s48fdd0f329.png);background-position:0 -490px;background-repeat:no-repeat}@media (-webkit-min-device-pixel-ratio:1.5),(min-resolution:144dpi),not all{#block-search-api-page-search-aclu .search-header span{background-image:url(../images/sprites/icons2x-s56d40e25f8.png);background-size:92px;background-position:0 -490px}}@media (min-width:60em){.not-sticky #block-search-api-page-search-aclu .search-header span{display:inline-block;vertical-align:middle;text-indent:-119988px;overflow:hidden;text-align:left;text-transform:capitalize;height:20px;width:20px;background-image:url(../images/sprites/icons-s48fdd0f329.png);background-position:0 -294px;background-repeat:no-repeat}}@media (-webkit-min-device-pixel-ratio:1.5) and (min-width:60em),(min-resolution:144dpi) and (min-width:60em),not all{.not-sticky #block-search-api-page-search-aclu .search-header span{background-image:url(../images/sprites/icons2x-s56d40e25f8.png);background-size:92px;background-position:0 -294px}}header{display:block}html{font-family:cschoolbook,Georgia,Times New Roman,DejaVu Serif,serif;font-size:112.5%;line-height:1.55556em;color:#423a38}body{margin:0;padding:0}a:link{color:#005aaa}a:link,h3 a:link{text-decoration:none}h3 a:link,p{color:#423a38}p,ul{margin:0 0 1.55556em}ul ul{margin:0}ul{padding:0 0 0 30px}img{border:0;max-width:100%}button,input{font-family:inherit;font-size:100%;margin:0;max-width:100%;box-sizing:border-box;line-height:normal}button{text-transform:none}button,input[type=submit]{-webkit-appearance:none;font-family:gtamcond,Arial,Helvetica,Nimbus Sans L,sans-serif;background-color:#005aaa;border:0;color:#fff;cursor:pointer;font-size:1.22222rem;font-weight:800;padding:.66667rem;text-transform:uppercase}form{position:relative}input{box-sizing:border-box;background-image:none;color:#423a38;font-family:gtamcond,Arial,Helvetica,Nimbus Sans L,sans-serif;font-size:.77778rem;line-height:1.22222rem;height:1.55556rem;font-weight:400;padding:.11111rem .44444rem;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;-webkit-appearance:none;border:1px solid #423a38}@media (min-width:48em){input{width:14.44444rem}}input[type=submit]{height:auto;width:auto}label{color:#423a38;display:block;font-family:gtamcond,Arial,Helvetica,Nimbus Sans L,sans-serif;font-size:1rem;font-weight:400}@media (min-width:48em){label{font-size:1.22222rem}}@media (max-width:47.9375em) and (min-width:0){#block-superfish-1{float:right;margin-right:.16667rem}#block-superfish-1>ul.menu>li.menu-link-title-take-action{display:none}}@media (min-width:48em){#block-superfish-1{display:block;margin-left:18.05556rem}}@media (min-width:60em){#block-superfish-1{margin-left:15.55556rem}.not-sticky #block-superfish-1{bottom:0;position:absolute;right:5px;clear:right}}#block-superfish-1>ul.menu{padding:0;margin:0}#block-superfish-1>ul.menu>li.sf-depth-1{height:2.83333rem;line-height:2.83333rem;margin-left:.44444rem;outline:none}#block-superfish-1>ul.menu>li.sf-depth-1:after{content:"/";font-family:Georgia,Times New Roman,DejaVu Serif,serif;font-weight:600;position:absolute;color:#b8e7ee}@media (min-width:60em){.not-sticky #block-superfish-1>ul.menu>li.sf-depth-1{height:2.72222rem;line-height:2.72222rem}.not-sticky #block-superfish-1>ul.menu>li.sf-depth-1:after{color:#414141}}#block-superfish-1>ul.menu>li.sf-depth-1>a{display:inline-block;font-family:gtamcond,Arial,Helvetica,Nimbus Sans L,sans-serif;text-transform:uppercase;font-size:.88889rem;line-height:2.83333rem;padding:0 .38889rem}#block-superfish-1>ul.menu>li.sf-depth-1>a:link{color:#b8e7ee;text-decoration:none}@media (min-width:48em){#block-superfish-1>ul.menu>li.sf-depth-1>a{font-size:1rem;padding:0 1rem}}@media (min-width:60em){.not-sticky #block-superfish-1>ul.menu>li.sf-depth-1>a{font-size:1.05556rem;line-height:2.72222rem}.not-sticky #block-superfish-1>ul.menu>li.sf-depth-1>a:link{color:#ef404d;text-decoration:none}}#block-superfish-1>ul.menu>li.menu-link-title-get-updates{display:none}@media (max-width:59.9375em) and (min-width:48em){#block-superfish-1>ul.menu>li.menu-link-title-get-updates{display:block}}#block-superfish-1>ul.menu>li.sf-depth-1.menu-link-title-become-a-member{display:none}@media (min-width:60em){.not-sticky #block-superfish-1>ul.menu>li.sf-depth-1.menu-link-title-become-a-member{display:block}}#block-superfish-1>ul.menu>li.menu-link-title-renew{display:none}@media (min-width:60em){.not-sticky #block-superfish-1>ul.menu>li.menu-link-title-renew{display:block}}@media (max-width:59.9375em) and (min-width:48em){#block-superfish-1>ul.menu>li.menu-link-title-take-action{display:none}}#block-superfish-1>ul.menu>li.menu-link-title-donate:after{display:none}#block-superfish-1>ul.menu ul{font-family:gtamcond,Arial,Helvetica,Nimbus Sans L,sans-serif;background-color:#fff;border:1px solid #423a38;display:none;left:auto!important}@media (max-width:59.9375em) and (min-width:0){#block-superfish-1>ul.menu ul{display:none!important}}@media (min-width:48em){#block-superfish-1>ul.menu ul{top:1.66667rem;right:-5.55556rem}}@media (min-width:60em){#block-superfish-1>ul.menu ul{top:2.72222rem;right:1.27778rem}}#block-superfish-1>ul.menu ul li{border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#423a38}#block-superfish-1>ul.menu ul li:last-child{border-bottom-width:0}#block-superfish-1>ul.menu ul a{color:#005aaa;padding:.83333rem 1.11111rem .5rem;text-transform:none;font-size:1rem;line-height:1.44444rem}@media (min-width:48em){#block-superfish-1>ul.menu ul a{padding:.61111rem 1.11111rem .55556rem}}a.main-menu--burger{vertical-align:middle;text-indent:-119988px;overflow:hidden;text-align:left;text-transform:capitalize;height:28px;width:34px;background-image:url(../images/sprites/icons-s48fdd0f329.png);display:block;float:left;margin-top:.61111rem;margin-right:1rem;cursor:pointer;background-position:0 -186px;background-repeat:no-repeat}@media (-webkit-min-device-pixel-ratio:1.5),(min-resolution:144dpi),not all{a.main-menu--burger{background-image:url(../images/sprites/icons2x-s56d40e25f8.png);background-size:92px;background-position:0 -186px}}@media (min-width:60em){a.main-menu--burger{display:none}}#navigation .block{margin-bottom:0}@media (max-width:59.9375em) and (min-width:48em){#navigation .block{position:relative}}#navigation .menu{margin:0;padding:0;text-align:left;display:none}@media (min-width:60em){#navigation .menu{display:block}}#navigation .menu li{padding:0;list-style-type:none;list-style-image:none}@media (min-width:60em){#navigation .menu li{float:left}}@media (max-width:47.9375em) and (min-width:0){#navigation .block>.menu{background-color:#fff;list-style:none;padding:0;margin:0;z-index:15;position:absolute;border:1px solid #423a38;width:13.77778rem;background-position:initial initial;background-repeat:initial initial}#navigation .block>.menu li .menu__link,#navigation .block>.menu li a{display:block;cursor:pointer;padding:.61111rem 1.22222rem;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#423a38;font-weight:400;font-size:.88889rem;line-height:1.11111rem;color:#005aaa;text-decoration:none}}@media (max-width:47.9375em) and (min-width:0) and (min-width:48em){#navigation .block>.menu li .menu__link,#navigation .block>.menu li a{padding:.5rem 1.22222rem;font-size:1rem;line-height:1.44444rem}}@media (max-width:47.9375em) and (min-width:0){#navigation .block>.menu li:last-child .menu__link,#navigation .block>.menu li:last-child a{border-bottom-style:none}}@media (max-width:59.9375em) and (min-width:48em){#navigation .block>.menu{background-color:#fff;list-style:none;padding:0;margin:0;z-index:15;position:absolute;border:1px solid #423a38;width:16.88889rem;background-position:initial initial;background-repeat:initial initial}#navigation .block>.menu li .menu__link,#navigation .block>.menu li a{display:block;cursor:pointer;padding:.61111rem 1.22222rem;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#423a38;font-weight:400;font-size:.88889rem;line-height:1.11111rem;color:#005aaa;text-decoration:none;padding:.5rem 1.22222rem;font-size:1rem;line-height:1.44444rem}}@media (max-width:59.9375em) and (min-width:48em){#navigation .block>.menu li:last-child .menu__link,#navigation .block>.menu li:last-child a{border-bottom-style:none}}@media (min-width:60em){#navigation .block>.menu{overflow:hidden}}#navigation .block>.menu>li{font-family:gtamcond,Arial,Helvetica,Nimbus Sans L,sans-serif;font-weight:600;font-size:.88889rem;line-height:2.66667rem}#navigation .block>.menu>li>.menu__link{cursor:pointer;text-transform:capitalize}@media (min-width:60em){#navigation .block>.menu>li>.menu__link{color:#b8e7ee;text-transform:uppercase;font-weight:800;display:block}}#navigation .block>.menu>li.menu-link-title-become-a-member,#navigation .block>.menu>li.menu-link-title-get-updates,#navigation .block>.menu>li.menu-link-title-renew{display:none}#navigation .block>.menu>li.sf-depth-1{float:left;text-transform:uppercase;background-color:#ff8a00;text-align:center;width:50%;background-position:initial initial;background-repeat:initial initial}#navigation .block>.menu>li.sf-depth-1 a:link{color:#423a38;text-decoration:none}#navigation .block>.menu>li.sf-depth-1 a .wrap-arrow{background-image:none;padding-right:0;background-position:initial initial;background-repeat:initial initial}#navigation .block>.menu>li.sf-depth-1.menu-link-title-take-action{position:relative;z-index:1;background-color:#ef404d;width:48%}#navigation .block>.menu>li.sf-depth-1.menu-link-title-take-action:after{content:" ";position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;background-color:#ef404d;-webkit-transform-origin:0 100%;-webkit-transform:skew(-28deg,0deg)}#navigation .block>.menu>li.sf-depth-1.menu-link-title-donate{background-color:#ff8a00;width:52%}#navigation .block>.menu>li.sf-depth-1.menu-link-title-donate>ul{display:none!important}#navigation .block>.menu>li.js-added{clear:both}@media (min-width:60em){#navigation .block>.menu>li.issues a{display:inline-block;padding-left:1.38889rem;vertical-align:top;background-image:url(../images/icons/burger-small-sprite.png?1512413232);background-position:0 18px;background-repeat:no-repeat}}@media (max-width:74.9375em) and (min-width:60em){#navigation .block>.menu>li.issues a{width:6rem}}@media (min-width:60em) and (min-width:75em){#navigation .block>.menu>li.issues a{width:7.61111rem}}@media not all,only screen and (-webkit-min-device-pixel-ratio:1.3) and (min-width:60em),only screen and (-webkit-min-device-pixel-ratio:1.3020833333333333) and (min-width:60em),only screen and (min-resolution:1.3dppx) and (min-width:60em),only screen and (min-resolution:125dpi) and (min-width:60em){#navigation .block>.menu>li.issues a{background-image:url(../images/icons2x/burger-small-sprite.png?1512413232);background-size:18px}}#navigation .block-taxonomy-menu-block,#navigation .sf-hidden{display:none}#navigation li .wrapArrow-processed.closed .wrap-arrow{display:block}@media (min-width:0){#navigation li .wrapArrow-processed.closed .wrap-arrow{padding-right:1.38889rem;background-image:url(../images/arrows/mobile-menu-right.png?1487181507);background-position:100% 3px;background-repeat:no-repeat}}@media not all,only screen and (-webkit-min-device-pixel-ratio:1.3) and (min-width:0),only screen and (-webkit-min-device-pixel-ratio:1.3020833333333333) and (min-width:0),only screen and (min-resolution:1.3dppx) and (min-width:0),only screen and (min-resolution:125dpi) and (min-width:0){#navigation li .wrapArrow-processed.closed .wrap-arrow{background-image:url(../images/arrows2x/mobile-menu-right.png?1487181507);background-size:6px}}@media (min-width:48em){#navigation li .wrapArrow-processed.closed .wrap-arrow{background-position:100% 7px}}@media (min-width:60em){#navigation li .wrapArrow-processed.closed .wrap-arrow{display:inline;background-image:none;padding-right:0;background-position:initial initial;background-repeat:initial initial}}@media not all,only screen and (-webkit-min-device-pixel-ratio:1.3) and (min-width:60em),only screen and (-webkit-min-device-pixel-ratio:1.3020833333333333) and (min-width:60em),only screen and (min-resolution:1.3dppx) and (min-width:60em),only screen and (min-resolution:125dpi) and (min-width:60em){#navigation li .wrapArrow-processed.closed .wrap-arrow{background-image:none;background-size:inherit}}#page>.menu-panel{overflow:hidden;background-color:#b8e7ee;font-family:gtamcond,Arial,Helvetica,Nimbus Sans L,sans-serif;padding:1.38889rem 0 1.94444rem;background-position:initial initial;background-repeat:initial initial}@media (max-width:47.9375em) and (min-width:0){#page>.menu-panel{display:none!important}}@media (max-width:59.9375em) and (min-width:48em){#page>.menu-panel{display:none!important}}#page>.menu-panel a{font-family:gtamcond,Arial,Helvetica,Nimbus Sans L,sans-serif}#page>.menu-panel a:link{color:#005aaa;text-decoration:none}#page>.menu-panel a.more{font-family:gtamcond,Arial,Helvetica,Nimbus Sans L,sans-serif;padding-top:0;padding-bottom:0;background-size:18px;line-height:1.22222rem;display:inline-block;background-position:100% 50%}#page>.menu-panel .menu-panel-bbs{float:left;width:205px;font-size:1.11111rem;line-height:1.55556rem}@media (min-width:75em){#page>.menu-panel .menu-panel-bbs{width:280px}}#page>.menu-panel .menu-panel-container,#page>.menu-panel .menu-panel-content{font-size:1.11111rem;line-height:1.44444rem}#page>.menu-panel .menu-panel-container .item-list ul,#page>.menu-panel .menu-panel-content .item-list ul{overflow:hidden;margin:0}#page>.menu-panel .menu-panel-container .item-list ul li,#page>.menu-panel .menu-panel-content .item-list ul li{background-image:none;padding:0;margin:0;background-position:initial initial;background-repeat:initial initial}#page>.menu-panel .menu-panel-container h3{font-family:gtamcond,Arial,Helvetica,Nimbus Sans L,sans-serif;text-transform:uppercase;padding-bottom:.27778rem;margin-bottom:.66667rem;border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#7cbcda}#page>.menu-panel .menu-panel-container h3 a{color:#423a38}#page>.menu-panel .menu-panel-container .item-list ul li:nth-child(3n){margin-right:0}#page>.menu-panel .menu-panel-content{border-left-width:1px;border-left-style:solid;border-left-color:#fff;float:right;width:580px;padding-left:20px}@media (min-width:75em){#page>.menu-panel .menu-panel-content{width:580px;padding-left:75px}}#page>.menu-panel .menu-panel-content img{display:block;margin-bottom:.33333rem}#page>.menu-panel .menu-panel-content ul.menu{overflow:hidden;padding:0;margin:0}#page>.menu-panel .menu-panel-content .item-list ul li,#page>.menu-panel .menu-panel-content ul.menu li.menu__item{float:left;width:130px;margin-right:95px;margin-bottom:1.38889rem}#page>.menu-panel .menu-panel-content .item-list ul li:nth-child(4n),#page>.menu-panel .menu-panel-content ul.menu li.menu__item:nth-child(3n+1){margin-right:0}#page>.menu-panel .menu-panel-content .menu__item.is-leaf{list-style:none}@media (min-width:60em){a.submenu-header{display:none}}#page>.menu-panel#main_menu-dor-dropdown .menu-panel-content ul.menu{overflow:hidden;padding:0;margin:0}#page>.menu-panel#main_menu-dor-dropdown .menu-panel-content ul.menu li.menu__item{float:left;width:205px;margin-right:170px;margin-bottom:1.11111rem}#page>.menu-panel#main_menu-dor-dropdown .menu-panel-content ul.menu li.menu__item:nth-child(odd){margin-right:0}#page>.menu-panel#main_menu-dor-dropdown .menu-panel-content .menu__item.is-leaf{list-style:none}#page>.menu-panel#main_menu-blogs-dropdown .menu-panel-container{margin-bottom:1.66667rem}#page>.menu-panel#main_menu-blogs-dropdown .menu-panel-container img{float:left;margin-right:.55556rem}#page>.menu-panel#main_menu-blogs-dropdown .menu-panel-container .item-list ul li{float:left;width:280px;margin-right:20px}#page>.menu-panel#main_menu-blogs-dropdown .menu-panel-container .item-list ul li a{position:relative}@media (min-width:75em){#page>.menu-panel#main_menu-blogs-dropdown .menu-panel-container .item-list ul li{margin-right:95px}}#page>.menu-panel#main_menu-blogs-dropdown .menu-panel-container .item-list ul li:nth-child(3n){margin-right:0}#block-taxonomy-menu-block-2{z-index:1}@media (min-width:60em){#block-taxonomy-menu-block-2{background-color:#fff;list-style:none;padding:0;margin:2.61111rem 0 0;border:1px solid #423a38;width:11.38889rem;position:absolute;z-index:40;background-position:initial initial;background-repeat:initial initial}}body,html{width:100%}#page{overflow:hidden}#header{background-color:#423a38;padding-top:0;padding-bottom:0}@media (min-width:60em){#header{background-color:#fff;padding-top:1.11111rem;padding-bottom:0;top:-3.88889rem;transition:top .25s ease-out;-webkit-transition:top .25s ease-out}}#header .region-header{overflow:visible;position:relative}#header .block{margin-bottom:0}#block-blockify-blockify-logo{float:left}#block-blockify-blockify-site-name{height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);position:absolute!important}#block-search-api-page-search-aclu{float:right;margin-top:9px;margin-right:0;position:static}@media (max-width:59.9375em) and (min-width:48em){#block-search-api-page-search-aclu{margin-right:0;float:right}}@media (min-width:60em){.not-sticky #block-search-api-page-search-aclu{position:absolute;right:1.55556rem;float:none;margin-left:.55556rem;margin-top:.16667rem}}#block-search-api-page-search-aclu .search-header{cursor:pointer;outline:none;display:block;padding:.44444rem .16667rem .38889rem .83333rem;position:relative;z-index:999;line-height:1}#block-search-api-page-search-aclu .search-header span{display:block;position:relative}@media (min-width:60em){.not-sticky #block-search-api-page-search-aclu .search-header{border:1px solid #005aaa;padding:.11111rem .16667rem}}#block-search-api-page-search-aclu .content{display:none;position:absolute;top:2.83333rem;right:0;z-index:998;background-color:#b8e7ee;padding:.83333rem;width:14.22222rem;background-position:initial initial;background-repeat:initial initial}@media (max-width:59.9375em) and (min-width:48em){#block-search-api-page-search-aclu .content{right:3.5rem}}@media (min-width:60em){.not-sticky #block-search-api-page-search-aclu .content{top:0;right:0;width:13.33333rem;padding:1.66667rem 1.55556rem}}#block-search-api-page-search-aclu .content form{position:relative}#block-search-api-page-search-aclu .content form .form-item{margin:0;float:left}#block-search-api-page-search-aclu .content form .form-text{font-family:gtamcond,Arial,Helvetica,Nimbus Sans L,sans-serif;font-size:1rem;line-height:1.77778rem;padding:.33333rem .5rem;border:1px solid #423a38;height:2.55556rem;color:#423a38;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;-webkit-appearance:none;width:11.33333rem;margin-right:.55556rem;outline:none}@media (min-width:60em){.not-sticky #block-search-api-page-search-aclu .content form .form-text{font-size:.77778rem;line-height:1.22222rem;padding:.22222rem .55556rem .16667rem;height:1.66667rem}}#block-search-api-page-search-aclu .content form input[type=submit]{position:absolute;right:0;top:0;font-size:1rem;margin:0;padding:0;background-color:transparent;outline:none;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;-webkit-appearance:none;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGZpbGw9IiMwMDVBQUEiIGQ9Ik0yNCwyMmMwLDEuMS0wLjksMi0yLDJIMmMtMS4xLDAtMi0wLjktMi0yVjJjMC0xLjEsMC45LTIsMi0yaDIwYzEuMSwwLDIsMC45LDIsMlYyMnoiLz4NCjwvZz4NCjxnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgICAgIj4NCgk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMTMuMzE2LDE5LjM0MWgtMS42OTJsNi41NzItNi41NTRIMy45OXYtMS4yNjFoMTQuMjA2bC02LjU3Mi02LjU1NGgxLjY5Mmw3LjE4NSw3LjE4NEwxMy4zMTYsMTkuMzQxeiIvPg0KPC9nPg0KPC9zdmc+DQo=);background-size:46px;width:46px;height:46px;text-indent:-9999px;background-position:50% 50%;background-repeat:no-repeat}@media (min-width:60em){.not-sticky #block-search-api-page-search-aclu .content form input[type=submit]{font-size:.77778rem;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGZpbGw9IiMwMDVBQUEiIGQ9Ik0yNCwyMmMwLDEuMS0wLjksMi0yLDJIMmMtMS4xLDAtMi0wLjktMi0yVjJjMC0xLjEsMC45LTIsMi0yaDIwYzEuMSwwLDIsMC45LDIsMlYyMnoiLz4NCjwvZz4NCjxnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgICAgIj4NCgk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMTMuMzE2LDE5LjM0MWgtMS42OTJsNi41NzItNi41NTRIMy45OXYtMS4yNjFoMTQuMjA2bC02LjU3Mi02LjU1NGgxLjY5Mmw3LjE4NSw3LjE4NEwxMy4zMTYsMTkuMzQxeiIvPg0KPC9nPg0KPC9zdmc+DQo=);background-size:30px;width:30px;height:30px;text-indent:-9999px;background-position:50% 50%;background-repeat:no-repeat}}#block-blockify-blockify-logo .button--expand-minimized-nav{display:none;cursor:pointer;position:absolute;right:-1.55556rem;bottom:0;padding-bottom:12px}#logo{text-indent:-119988px;overflow:hidden;text-align:left;text-transform:capitalize;background-image:url(../images/logos/logo-small.png?1512413232);width:80px;height:28px;margin-top:11px;margin-bottom:12px;outline:none;display:block;background-position:50% 50%;background-repeat:no-repeat}@media not all,only screen and (-webkit-min-device-pixel-ratio:1.3),only screen and (-webkit-min-device-pixel-ratio:1.3020833333333333),only screen and (min-resolution:1.3dppx),only screen and (min-resolution:125dpi){#logo{background-image:url(../images/logos2x/logo-small.png?1512413232);background-size:cover}}@media (min-width:60em){.not-sticky #logo{text-indent:-119988px;overflow:hidden;text-align:left;text-transform:capitalize;background-image:url(../images/logos/logo-large.png?1512413232);width:190px;height:67px;margin-top:8px;margin-bottom:25px;background-position:50% 50%;background-repeat:no-repeat}}@media not all,only screen and (-webkit-min-device-pixel-ratio:1.3) and (min-width:60em),only screen and (-webkit-min-device-pixel-ratio:1.3020833333333333) and (min-width:60em),only screen and (min-resolution:1.3dppx) and (min-width:60em),only screen and (min-resolution:125dpi) and (min-width:60em){.not-sticky #logo{background-image:url(../images/logos2x/logo-large.png?1512413232);background-size:cover}}#logo img,#site-name{display:none}@media (max-width:47.9375em) and (min-width:0){#page .block-aclu-promotions{margin-bottom:0}}@media (max-width:59.9375em) and (min-width:48em){#page .block-aclu-promotions{margin-bottom:0}}#page .block-aclu-promotions.aclu-promotions-banner-eoy{margin:0;height:90px}@media (max-width:47.9375em) and (min-width:0){#page .block-aclu-promotions.aclu-promotions-banner-eoy{padding-top:0}}#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner{overflow:auto;display:table;margin:auto;width:100%;height:100%;text-align:center;vertical-align:middle}@media (max-width:59.9375em) and (min-width:48em){#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner{width:auto}}@media (max-width:47.9375em) and (min-width:0){#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner{width:auto}}#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-nav{margin:auto;padding:0;display:table;vertical-align:middle;overflow:auto;text-align:center;width:100%;height:100%}@media (max-width:47.9375em) and (min-width:0){#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-nav{width:auto}}@media (max-width:59.9375em) and (min-width:48em){#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-nav .banner-left,#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-nav .banner-right{display:none}}@media (max-width:47.9375em) and (min-width:0){#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-nav .banner-left,#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-nav .banner-right{display:none}}#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-nav .banner-middle{overflow:hidden;padding:0 20px;width:auto;background-color:#ffdf69;display:table-cell;vertical-align:middle}@media (max-width:47.9375em) and (min-width:0){#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-nav .banner-middle{padding:0}}@media (max-width:59.9375em) and (min-width:48em){#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-nav .banner-middle{padding:0}}#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-eoy-text-container{text-align:left;line-height:23px;display:inline-block;margin-right:1.11111rem}@media (max-width:47.9375em) and (min-width:0){#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-eoy-text-container{text-align:left;float:left;margin-right:0;width:50%;padding-left:15px}}@media (max-width:59.9375em) and (min-width:48em){#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-eoy-text-container{margin-right:.94444rem}}#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-eoy-alert-text{font-size:1.94444rem;font-family:gtam,Arial,Helvetica,Nimbus Sans L,sans-serif;font-weight:600;color:#005aaa}@media (max-width:47.9375em) and (min-width:0){#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-eoy-alert-text{margin:0 .83333rem 0 0;font-size:1rem;line-height:1rem}}@media (max-width:59.9375em) and (min-width:48em){#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-eoy-alert-text{font-size:1.55556rem;line-height:1.66667rem}}#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-eoy-alert-subtext{font-size:1.33333rem;font-family:gtam,Arial,Helvetica,Nimbus Sans L,sans-serif;font-weight:600;color:#005aaa;margin-top:.44444rem}@media (max-width:47.9375em) and (min-width:0){#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-eoy-alert-subtext{margin:0 .83333rem 0 0;font-size:.83333rem;line-height:.83333rem}}@media (max-width:59.9375em) and (min-width:48em){#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-eoy-alert-subtext{font-size:.88889rem;line-height:.88889rem;padding-top:0}}#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-eoy-alert-linktext{padding:0;display:inline-block;width:auto}@media (max-width:47.9375em) and (min-width:0){#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-eoy-alert-linktext{margin-right:0}}@media (max-width:59.9375em) and (min-width:48em){#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-eoy-alert-linktext{margin-right:1rem}}#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-eoy-alert-linktext a{width:auto;color:#fff;font-size:1.33333rem;background-color:#ef404d;padding:0 2.11111rem;line-height:3.55556rem;height:3.44444rem;font-family:gtam,Arial,Helvetica,Nimbus Sans L,sans-serif;font-weight:600;vertical-align:middle;text-align:center;display:inline-block}#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-eoy-alert-linktext a:link{color:#fff;text-decoration:none}@media (max-width:74.9375em) and (min-width:60em){#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-eoy-alert-linktext a{font-weight:400}}@media (max-width:47.9375em) and (min-width:0){#page .block-aclu-promotions.aclu-promotions-banner-eoy .banner-eoy-inner .banner-eoy-alert-linktext a{width:100px;padding:.55556rem .83333rem;line-height:1;height:2.77778rem}}#block-aclu-promotions-aclu-promotions-banner{display:block;background-color:#ffdf69;overflow:hidden;margin-bottom:1.11111rem;margin-top:-1.11111rem}@media (max-width:74.9375em) and (min-width:60em){#block-aclu-promotions-aclu-promotions-banner{margin-left:-40px;margin-right:-40px}}@media (min-width:75em){#block-aclu-promotions-aclu-promotions-banner{margin-left:-80px;margin-right:-80px}}@media (max-width:47.9375em) and (min-width:0){#block-aclu-promotions-aclu-promotions-banner{margin:0}}@media (max-width:59.9375em) and (min-width:48em){#block-aclu-promotions-aclu-promotions-banner{margin:0;height:100px}}#block-aclu-promotions-aclu-promotions-banner div{vertical-align:middle}#block-aclu-promotions-aclu-promotions-banner .banner-eoy-alert-text{display:inline-block;font-family:gtam,Arial,Helvetica,Nimbus Sans L,sans-serif;font-weight:600;font-size:1.44444rem;color:#005aaa}#skip-link{margin:0}#skip-link a{display:block;width:100%;padding:2px 0 3px;text-align:center;background-color:#666;color:#fff}.header__region{clear:both}.inline{display:inline;padding:0}.inline li{display:inline;list-style-type:none;padding:0 1em 0 0}.block{margin-bottom:1.55556em}.form-item{margin:1.55556em 0}.form-required{color:#c00}#block-aclu-social-get-updates{float:right;margin-right:4.66667rem;line-height:1}@media (max-width:47.9375em) and (min-width:0){#block-aclu-social-get-updates{display:none}}@media (max-width:59.9375em) and (min-width:48em){#block-aclu-social-get-updates{display:none;padding:.83333rem;position:absolute;right:0;top:2.83333rem;z-index:10;background-color:#b8e7ee}}@media (min-width:60em){.not-sticky #block-aclu-social-get-updates{margin-top:.16667rem;display:block!important}}#block-aclu-social-get-updates .form-item{float:left;margin:0 .44444rem 0 0}#block-aclu-social-get-updates .form-item.form-item-signup-email{width:9rem}@media (max-width:59.9375em) and (min-width:48em){#block-aclu-social-get-updates .form-item.form-item-signup-email{width:11.11111rem}}#block-aclu-social-get-updates .form-item.form-item-signup-zip{width:4.55556rem}#block-aclu-social-get-updates .form-item .form-text{font-size:1rem;line-height:1.77778rem;padding:.33333rem .5rem;height:2.55556rem}@media (min-width:60em){.not-sticky #block-aclu-social-get-updates .form-item .form-text{font-size:.77778rem;line-height:1.11111rem;padding:.16667rem .5rem;height:1.55556rem}}#block-aclu-social-get-updates input[type=submit]{background-color:transparent;padding:0;outline:none;border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:0;-webkit-appearance:none}@media (max-width:59.9375em) and (min-width:48em){#block-aclu-social-get-updates input[type=submit]{float:left;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxwYXRoIGZpbGw9IiMwMDVBQUEiIGQ9Ik0yNCwyMmMwLDEuMS0wLjksMi0yLDJIMmMtMS4xLDAtMi0wLjktMi0yVjJjMC0xLjEsMC45LTIsMi0yaDIwYzEuMSwwLDIsMC45LDIsMlYyMnoiLz4NCjwvZz4NCjxnIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgICAgIj4NCgk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJNMTMuMzE2LDE5LjM0MWgtMS42OTJsNi41NzItNi41NTRIMy45OXYtMS4yNjFoMTQuMjA2bC02LjU3Mi02LjU1NGgxLjY5Mmw3LjE4NSw3LjE4NEwxMy4zMTYsMTkuMzQxeiIvPg0KPC9nPg0KPC9zdmc+DQo=);background-size:2.55556rem;width:2.55556rem;height:2.55556rem;text-indent:-9999px;background-position:100% 50%;background-repeat:no-repeat}}@media (min-width:60em){.not-sticky #block-aclu-social-get-updates input[type=submit]{font-family:gtamcond,Arial,Helvetica,Nimbus Sans L,sans-serif;font-weight:600;font-size:.77778rem;line-height:1.11111rem;padding:.22222rem .5rem;height:1.55556rem;background-color:#005aaa}}.pane-aclu-blog-news-signup{padding:0}.pane-aclu-blog-news-signup .form-item.form-item-signup-email{float:none}.node-type-blog .pane-aclu-blog-news-signup{box-shadow:none}.node-type-blog .pane-aclu-blog-news-signup #aclu-social-signup-form .form-item.form-item-signup-email{float:none}@media (min-width:48em){.node-type-blog .pane-aclu-blog-news-signup #aclu-social-signup-form .form-item.form-item-signup-email{float:left}}.pane-aclu-blog-news-signup .close{display:none}.node-type-blog .pane-aclu-blog-news-signup .close{display:block}.pane-aclu-blog-news-signup div.pane-title{font-family:gtamcond,Arial,Helvetica,Nimbus Sans L,sans-serif;margin-bottom:.66667rem;text-transform:uppercase;font-size:1.22222rem;line-height:1.33333rem}.node-type-blog .pane-aclu-blog-news-signup div.pane-title{margin-bottom:.16667rem;font-size:.94444rem;line-height:.94444rem}@media (min-width:48em){.node-type-blog .pane-aclu-blog-news-signup div.pane-title{font-size:1.22222rem;line-height:1.33333rem}}
+ ]]>
+ </style>
+ <link rel="stylesheet" href="https://www.aclu.org/sites/default/files/advagg_css/css__9spNr2y6sE7534vMtObhB-C6V7JoL17hQl6yVpVQHu0__jAYGrhJFgVdQGXTwGEQcuOV8h8Wa9vZRjf8mDLqYdNI__VITBFqYjCWZ55Wpxq9xcXRqOD9xxPlR-vPRDis8bQN4.css" media="all" />
+ <style>
+ <![CDATA[
+ .aclu-name-textfield{display:none !important;}
+ ]]>
+ </style>
+ <link rel="stylesheet" href="https://www.aclu.org/sites/default/files/advagg_css/css___ZnduM86wslayiEyMdexZdaCufgTPtFrrb78WVTtAuo__4rm0A7gt5xkfaPFTzbLqhPPFeiUfgjOnqlkui-UV0fU__VITBFqYjCWZ55Wpxq9xcXRqOD9xxPlR-vPRDis8bQN4.css" media="all" />
+ <link rel="stylesheet" href="https://www.aclu.org/sites/default/files/advagg_css/css__pRDlzt0BVbbFqHQ3wQZq9xZxqgvQn100X3uSS1nLkiA__-VJy8i6iAowOFfi_Ts9NFnSSGv1dL4JaHTbh_a5yltM__VITBFqYjCWZ55Wpxq9xcXRqOD9xxPlR-vPRDis8bQN4.css" media="all" />
+ <link rel="stylesheet" href="https://www.aclu.org/sites/default/files/advagg_css/css__xtweB_zAlOiZIBl2jHti46I8SiqUqqkHZATEYclfit0__j-rVGQJFT35ljMsuo5uEiaKeXg2xOVCo1SaqcUGZc7I__VITBFqYjCWZ55Wpxq9xcXRqOD9xxPlR-vPRDis8bQN4.css" media="all" />
+ <link rel="stylesheet" href="https://www.aclu.org/sites/default/files/advagg_css/css__af8bNHU4hQBa2-PQX1X50gCJDA4cQ5w1rkPz8PsW4_4__6H7TVPMkdrIGuW35oghJ6A5hL9K-A825oBniIdmgc30__VITBFqYjCWZ55Wpxq9xcXRqOD9xxPlR-vPRDis8bQN4.css" media="all" />
+ <script defer="defer" src="https://www.aclu.org/sites/all/libraries/modernizr/modernizr.min.js?p7vly2"></script><!--[if lt IE 9]>
+ <script src="/sites/all/themes/contrib/zen/js/respond.js"></script>
+ <![endif]-->
+ </head>
+ <body class="html not-front not-logged-in no-sidebars page-node page-node- page-node-67865 node-type-blog section-blog page-panels panel-layout-two-col-sidebar-right-mix">
+ <p id="skip-link">
+ <a href="#block-system-main-menu" class="element-invisible element-focusable skip-to-nav">Jump to navigation</a> <a href="#content" class="element-invisible element-focusable skip-nav">Skip navigation</a>
+ </p>
+ <div id="page">
+ <header class="header not-sticky" id="header" role="banner">
+ <div class="inner">
+ <div class="inner-inner">
+ <div class="header__region region region-header clearfix">
+ <div id="block-aclu-promotions-aclu-promotions-banner" class="block block-aclu-promotions eoy-banner first odd aclu-promotions-banner-eoy">
+ <div class="banner-eoy-inner">
+ <div class="banner-nav">
+ <div class="banner-left"></div>
+ <div class="banner-middle">
+ <div class="banner-eoy-text-container">
+ <div class="banner-eoy-alert-text">
+ ACLU Conference
+ </div>
+ <div class="banner-eoy-alert-subtext">
+ Early bird discount ends today
+ </div>
+ </div>
+ <div class="banner-eoy-alert-linktext">
+ <a href="https://www.aclu.org/membership-conference-banner-2018">SIGN UP NOW</a>
+ </div>
+ </div>
+ <div class="banner-right"></div>
+ </div>
+ </div>
+ </div>
+ <div id="block-blockify-blockify-logo" class="block block-blockify even">
+ <a href="/" id="logo" rel="home" title="Return to the American Civil Liberties Union home page"><img src="https://www.aclu.org/sites/all/themes/custom/aclu/logo.png" alt="American Civil Liberties Union logo" /></a>
+ </div>
+ <div id="block-blockify-blockify-site-name" class="block block-blockify odd">
+ <span id="site-name"><a href="/" title="Return to the American Civil Liberties Union home page" rel="home"><span>American Civil Liberties Union</span></a></span>
+ </div>
+ <div id="block-aclu-social-get-updates" class="block block-aclu-social even">
+ <div class="signup">
+ <div class="signup__form">
+ <form action="/blog/privacy-technology/internet-privacy/facebook-tracking-me-even-though-im-not-facebook" method="post" id="aclu-social-signup-form--2" accept-charset="UTF-8" name="aclu-social-signup-form--2">
+ <div>
+ <div class="form-item form-type-textfield form-item-signup-email">
+ <label class="element-invisible" for="edit-signup-email--2">Email Address <span class="form-required" title="This field is required.">*</span></label> <input placeholder="Email address" type="text" id="edit-signup-email--2" name="signup_email" value="" size="60" maxlength="128" class="form-text required" />
+ </div>
+ <div class="form-item form-type-textfield form-item-signup-zip">
+ <label class="element-invisible" for="edit-signup-zip--2">ZIP Code <span class="form-required" title="This field is required.">*</span></label> <input placeholder="ZIP code" type="text" id="edit-signup-zip--2" name="signup_zip" value="" size="60" maxlength="128" class="form-text required" />
+ </div><input type="hidden" name="location" value="header" /> <input type="submit" id="edit-submit--3" name="op" value="Get updates" class="form-submit" /><input type="hidden" name="form_build_id" value="form-hGG60UoLJiORDthH98ot7Z00BGE0w7ibTdtstuGQ8zM" /> <input type="hidden" name="form_id" value="aclu_social_signup_form" />
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ <div id="block-search-api-page-search-aclu" class="block block-search-api-page odd">
+ <div class="container-inline">
+ <div class="search-header">
+ <span>Search form</span>
+ </div>
+ <div class="content">
+ <form action="/issues/capital-punishment/mental-illness-and-death-penalty" method="post" id="search-api-page-search-form-search-aclu" accept-charset="UTF-8" name="search-api-page-search-form-search-aclu">
+ <div>
+ <div class="form-item form-type-textfield form-item-keys-1">
+ <label class="element-invisible" for="edit-keys-1">Enter your keywords</label> <input placeholder="Keyword Search" tabindex="1" type="text" id="edit-keys-1" name="keys_1" value="" size="15" maxlength="128" class="form-text" />
+ </div><input type="hidden" name="id" value="1" /> <input type="submit" id="edit-submit-1" name="op" value="Search" class="form-submit" /><input type="hidden" name="form_build_id" value="form-A7n1UyigMND-e8scTxRdWLVL5n3t6OlyQ_u6dUsHiXM" /> <input type="hidden" name="form_id" value="search_api_page_search_form_search_aclu" />
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ <div id="block-superfish-1" class="block block-superfish last even">
+ <ul id="superfish-1" class="menu sf-menu sf-menu-secondary-main-menu sf-horizontal sf-style-none sf-total-items-5 sf-parent-items-1 sf-single-items-4">
+ <li id="menu-4854-1" class="first odd sf-item-1 sf-depth-1 sf-no-children menu-link-title-get-updates">
+ <a href="/" class="menu-item-get-updates sf-depth-1">Get Updates</a>
+ </li>
+ <li id="menu-5048-1" class="middle even sf-item-2 sf-depth-1 sf-no-children menu-link-title-become-a-member">
+ <a href="https://action.aclu.org/give/become-freedom-fighter-join-aclu?cid=70136000001Oa5D&amp;alt_src=70136000001OZf5&amp;ms=horiz_nav_hp_join&amp;ms_aff=NAT&amp;ms_chan=web&amp;initms=horiz_nav_hp_join&amp;initms_aff=NAT&amp;initms_chan=web" class="sf-depth-1">Become a Member</a>
+ </li>
+ <li id="menu-1661-1" class="middle odd sf-item-3 sf-depth-1 sf-no-children menu-link-title-renew">
+ <a href="https://action.aclu.org/give/renew-your-aclu-membership?cid=70136000001OYGR&amp;ms=horiz_nav_hp_renew&amp;ms_aff=NAT&amp;ms_chan=web&amp;initms=horiz_nav_hp_renew&amp;initms_aff=NAT&amp;initms_chan=web" id="menu-item-renew" class="small-viewport-hide sf-depth-1">Renew</a>
+ </li>
+ <li id="menu-1662-1" class="middle even sf-item-4 sf-depth-1 sf-no-children menu-link-title-take-action">
+ <a href="/action" id="menu-item-take-action" class="sf-depth-1">Take Action</a>
+ </li>
+ <li id="menu-1663-1" class="last odd sf-item-5 sf-depth-1 sf-total-children-5 sf-parent-children-0 sf-single-children-5 menuparent menu-link-title-donate">
+ <a href="https://action.aclu.org/donate-aclu?&amp;ms=horiz_nav_hp&amp;ms_aff=NAT&amp;ms_chan=web&amp;initms=horiz_nav_hp&amp;initms_aff=NAT&amp;initms_chan=web" id="menu-item-donate" class="sf-depth-1 menuparent">Donate</a>
+ <ul>
+ <li id="menu-1664-1" class="first odd sf-item-1 sf-depth-2 sf-no-children menu-link-title-make-a-gift">
+ <a href="https://action.aclu.org/donate-aclu?ms=menu_gift&amp;ms_aff=NAT&amp;ms_chan=web&amp;initms=menu_gift&amp;initms_aff=NAT&amp;initms_chan=web" class="sf-depth-2">Make a Gift</a>
+ </li>
+ <li id="menu-2667-1" class="middle even sf-item-2 sf-depth-2 sf-no-children menu-link-title-join-become-a-member">
+ <a href="https://action.aclu.org/give/become-aclu-member?cid=70136000001Oa5D&amp;ms=menu_join&amp;ms_aff=NAT&amp;ms_chan=web&amp;initms=menu_join&amp;initms_aff=NAT&amp;initms_chan=web" class="sf-depth-2">Join/Become a Member</a>
+ </li>
+ <li id="menu-3830-1" class="middle odd sf-item-3 sf-depth-2 sf-no-children menu-link-title-renew-your-membership">
+ <a href="https://action.aclu.org/give/renew-your-aclu-membership?cid=70136000001Ob7Z&amp;ms=menu_renew&amp;ms_aff=NAT&amp;ms_chan=web&amp;initms=menu_renew&amp;initms_aff=NAT&amp;initms_chan=web" class="sf-depth-2">Renew Your Membership</a>
+ </li>
+ <li id="menu-3831-1" class="middle even sf-item-4 sf-depth-2 sf-no-children menu-link-title-monthly-giving">
+ <a href="https://action.aclu.org/give/fight-back-against-attacks-our-civil-liberties?cid=70136000001OZf5&amp;ms=menu_monthly&amp;ms_aff=NAT&amp;ms_chan=web&amp;initms=menu_monthly&amp;initms_aff=NAT&amp;initms_chan=web" class="sf-depth-2">Monthly Giving</a>
+ </li>
+ <li id="menu-3832-1" class="last odd sf-item-5 sf-depth-2 sf-no-children menu-link-title-other-ways-to-give">
+ <a href="https://www.aclu.org/donate-aclu?ms=menu_other&amp;ms_aff=NAT&amp;ms_chan=web&amp;initms=menu_other&amp;initms_aff=NAT&amp;initms_chan=web" class="sf-depth-2">Other Ways to Give</a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </header>
+ <div id="navigation" role="navigation">
+ <div class="inner">
+ <div class="region region-navigation">
+ <div id="block-taxonomy-menu-block-2" class="block block-taxonomy-menu-block first odd">
+ <ul class="menu"></ul>
+ </div>
+ <div id="block-system-main-menu" class="block block-system block-menu last even" role="navigation">
+ <ul class="menu">
+ <li class="menu__item is-expanded first expanded">
+ <span id="main_menu-kyr" class="menu__link aclu_menu_expand-bbs_images nolink">Know your rights</span>
+ <div class="menu-panel">
+ <div class="inner">
+ <div class="inner-inner">
+ <div class="menu-panel-content">
+ <div class="item-list">
+ <ul>
+ <li class="first">
+ <a href="/know-your-rights" class="submenu-header">Know Your Rights</a>
+ </li>
+ <li>
+ <a href="https://www.aclu.org/know-your-rights/demonstrations-and-protests"><img src="https://www.aclu.org/sites/default/files/styles/blog_index_thumbnail_130x110/public/field_image/web16-kyr-featuredimg-560x480-v01.jpg?itok=d6YrpMuP" width="130" height="110" alt="" /> Demonstrations and Protests</a>
+ </li>
+ <li>
+ <a href="https://www.aclu.org/know-your-rights/know-your-rights-about-daca"><img src="https://www.aclu.org/sites/default/files/styles/blog_index_thumbnail_130x110/public/field_image/web17-dreamersconcerned-kyr-560x480.jpg?itok=F0bxbZUi" width="130" height="110" alt="" /> For DACA Recipients</a>
+ </li>
+ <li class="last">
+ <a href="https://www.aclu.org/know-your-rights/what-do-if-youre-stopped-police-immigration-agents-or-fbi"><img src="https://www.aclu.org/sites/default/files/styles/blog_index_thumbnail_130x110/public/field_image/kyr-stoppedbythepolice-560x480-v01.jpg?itok=TZ3ks829" width="130" height="110" alt="" /> What To Do If You're Stopped By Police</a>
+ </li>
+ </ul>
+ </div><a href="/know-your-rights" class="more">See all Know Your Rights</a>
+ </div>
+ <div class="menu-panel-bbs">
+ Do you know your rights? These easy-to-use resources were created by the ACLU so you can have your rights at your fingertips.
+ </div>
+ </div>
+ </div>
+ </div>
+ </li>
+ <li class="menu__item is-expanded expanded">
+ <span id="main_menu-dor" class="menu__link aclu_menu_expand-bbs nolink">Defending our rights</span>
+ <div class="menu-panel">
+ <div class="inner">
+ <div class="inner-inner">
+ <div class="menu-panel-content">
+ <ul class="menu">
+ <li class="menu__item is-leaf leaf">
+ <a href="/defending-our-rights" class="menu__link submenu-header">Defending Our Rights</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/defending-our-rights/court-battles" title="Court Battles" class="menu__link">Court Battles</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/defending-our-rights/court-battles/supreme-court" class="menu__link">Supreme Court Cases</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/issues/public-policy" class="menu__link">Federal Advocacy</a>
+ </li>
+ <li class="menu__item is-leaf last leaf">
+ <a href="/about/affiliates" class="menu__link">Find Your Local Affiliate</a>
+ </li>
+ </ul><a href="/defending-our-rights" class="more">Go to Defending Our Rights</a>
+ </div>
+ <div class="menu-panel-bbs">
+ The ACLU works tirelessly in courts, legislatures, and communities to defend and preserve the Constitution’s promise of liberty for everyone in our country.
+ </div>
+ </div>
+ </div>
+ </div>
+ </li>
+ <li class="menu__item is-expanded expanded">
+ <span id="main_menu-blogs" class="menu__link aclu_menu_expand-images nolink">Blogs</span>
+ <div class="menu-panel">
+ <div class="inner">
+ <div class="inner-inner">
+ <div class="menu-panel-container">
+ <h3>
+ <a href="/blog">Blogs</a>
+ </h3>
+ <div class="item-list">
+ <ul>
+ <li class="first">
+ <a href="https://www.aclu.org/blog/speak-freely"><img src="https://www.aclu.org/sites/default/files/styles/blog_index_thumbnail_130x110/public/field_banner_image/web18-siteimages-blog-speakfreely-2400x720-v02.jpg?itok=CGvxNq0e" width="130" height="110" alt="" /> Speak Freely</a>
+ </li>
+ <li>
+ <a href="https://www.aclu.org/blog/free-future"><img src="https://www.aclu.org/sites/default/files/styles/blog_index_thumbnail_130x110/public/field_banner_image/web15-siteimages-blog-ff-2400x960-v06_0.jpg?itok=Nfp3z-1K" width="130" height="110" alt="" /> Free Future</a>
+ </li>
+ <li class="last">
+ <a href="https://www.aclu.org/blog/washington-markup"><img src="https://www.aclu.org/sites/default/files/styles/blog_index_thumbnail_130x110/public/field_banner_image/web15-siteimages-blog-wshgtnmu-2400-960_5.jpg?itok=f7CaqQ76" width="130" height="110" alt="" /> Washington Markup</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ <div class="menu-panel-container">
+ <h3>
+ <a href="/blog">Feeds</a>
+ </h3>
+ <div class="item-list">
+ <ul>
+ <li class="first">
+ <a href="https://www.aclu.org/blog-feed/editors-picks"><img src="https://www.aclu.org/sites/default/files/styles/blog_index_thumbnail_130x110/public/field_banner_image/web15-blog-editorspicks-2400x960_1.jpg?itok=1ognkSD7" width="130" height="110" alt="" /> Editor's Picks</a>
+ </li>
+ <li>
+ <a href="https://www.aclu.org/blog-feed/people-power"><img src="https://www.aclu.org/sites/default/files/styles/blog_index_thumbnail_130x110/public/field_banner_image/web17-siteimages-blog-peoplepower-2400x720-v01.jpg?itok=u0hNyyaH" width="130" height="110" alt="" /> People Power</a>
+ </li>
+ <li class="last">
+ <a href="https://www.aclu.org/blog-feed/breaking-news"><img src="https://www.aclu.org/sites/default/files/styles/blog_index_thumbnail_130x110/public/field_banner_image/web16-siteimages-blog-breakingnews-2400x720-rel02.jpg?itok=DDzAKoR7" width="130" height="110" alt="" /> Breaking News</a>
+ </li>
+ </ul>
+ </div>
+ </div><a href="/blog" class="more">See all blogs and feeds</a>
+ </div>
+ </div>
+ </div>
+ </li>
+ <li class="menu__item is-expanded expanded">
+ <span id="main_menu-about" class="menu__link aclu_menu_expand-bbs nolink">About</span>
+ <div class="menu-panel">
+ <div class="inner">
+ <div class="inner-inner">
+ <div class="menu-panel-content">
+ <ul class="menu">
+ <li class="menu__item is-leaf leaf">
+ <a href="/about-aclu" class="menu__link submenu-header">About</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/about/leadership" class="menu__link">Leadership</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/about/aclu-history" class="menu__link">History</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/about/media" class="menu__link">Media</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/about/affiliates" class="menu__link">Local Affiliates</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/careers" class="menu__link">Careers</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/issues/aclu-ambassador-project" class="menu__link">Ambassadors</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/officers-board-directors" class="menu__link">Officers and Board</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/finances" class="menu__link">Financial Info and Reports</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/how-you-can-help" class="menu__link">How You Can Help</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/faqs" class="menu__link">FAQ</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/aclu-centers" class="menu__link">Centers</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/contact-us" class="menu__link">Contact Us</a>
+ </li>
+ </ul><a href="/about-aclu" class="more">Go to About the ACLU</a>
+ </div>
+ <div class="menu-panel-bbs">
+ For almost 100 years, the ACLU has worked to defend and preserve the individual rights and liberties guaranteed by the Constitution and laws of the United States.
+ </div>
+ </div>
+ </div>
+ </div>
+ </li>
+ <li class="menu__item is-leaf last leaf">
+ <a href="https://shop.aclu.org/?a=mainsite_nav" id="main_menu-shop" class="menu__link">Shop</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div id="main">
+ <div id="content" class="column" role="main">
+ <div class="full-page-width">
+ <div class="inner">
+ <a id="main-content"></a>
+ <div class="region region-help">
+ <div id="block-blockify-blockify-messages" class="block block-blockify first last odd"></div>
+ </div>
+ </div>
+ </div>
+ <div class="panel-display panel-two-col-sidebar-right-mix">
+ <div class="panel-panel panel-header-full-bleed full-bleed">
+ <div class="panel-pane pane-aclu-blog-channel-header">
+ <a href="https://www.aclu.org/blog/free-future"><noscript class="adaptive-image" data-adaptive-image-breakpoints="480 768" data-adaptive-image-480-img="&lt;img class=&quot;adaptive-image&quot; data-adaptive-image-breakpoint=&quot;480&quot; src=&quot;https://www.aclu.org/sites/default/files/styles/blog_channel_header_small_480x63/public/field_banner_image/web15-siteimages-blog-ff-2400x960-v06_0.jpg?itok=Z5RaZm46&quot; width=&quot;480&quot; height=&quot;63&quot; alt=&quot;&quot; /&gt;" data-adaptive-image-768-img="&lt;img class=&quot;adaptive-image&quot; data-adaptive-image-breakpoint=&quot;768&quot; src=&quot;https://www.aclu.org/sites/default/files/styles/blog_channel_header_medium_768x100/public/field_banner_image/web15-siteimages-blog-ff-2400x960-v06_0.jpg?itok=IckmIOhh&quot; width=&quot;768&quot; height=&quot;100&quot; alt=&quot;&quot; /&gt;" data-adaptive-image-max-img="&lt;img class=&quot;adaptive-image&quot; data-adaptive-image-breakpoint=&quot;max&quot; src=&quot;https://www.aclu.org/sites/default/files/styles/blog_channel_header_wide_1200x100/public/field_banner_image/web15-siteimages-blog-ff-2400x960-v06_0.jpg?itok=bQHln3c_&quot; width=&quot;1200&quot; height=&quot;100&quot; alt=&quot;&quot; /&gt;"><img src="https://www.aclu.org/sites/default/files/styles/blog_channel_header_wide_1200x100/public/field_banner_image/web15-siteimages-blog-ff-2400x960-v06_0.jpg?itok=bQHln3c_" width="1200" height="100" alt="" /></noscript></a>
+ <div class="blog_channel_header--title text-large">
+ <a href="https://www.aclu.org/blog/free-future">Free Future</a>
+ </div>
+ </div>
+ </div>
+ <div class="panel-panel panel-full-width-1 full-page-width">
+ <div class="inner">
+ <div class="panel-pane pane-node-title">
+ <h1>
+ Facebook Is Tracking Me Even Though I’m Not on Facebook
+ </h1>
+ </div>
+ <div class="panel-pane pane-aclu-blog-byline">
+ <div class="blog-image">
+ <div class="field-image">
+ <img src="https://www.aclu.org/sites/default/files/styles/blog_author_54x46/public/biography-images/web16-dkg-final2.jpg?itok=yZxVPbHI" width="55" height="46" alt="" />
+ </div>
+ </div>
+ <div class="blog-author">
+ By <a href="/bio/daniel-kahn-gillmor">Daniel Kahn Gillmor</a>, Senior Staff Technologist, ACLU Speech, Privacy, and Technology Project
+ </div>
+ <div class="updated-date">
+ April 5, 2018 | 6:00 PM
+ </div>
+ </div>
+ <div class="panel-pane pane-aclu-components-issue-area related-issues">
+ <div class="issues-horizontal">
+ <span class="label">Tags</span>
+ <div class="item-list">
+ <ul>
+ <li class="first">
+ <a href="/search/%20?f%5B0%5D=field_issues%3A99&amp;f%5B1%5D=type%3Ablog">Internet Privacy</a>
+ </li>
+ <li>
+ <a href="/search/%20?f%5B0%5D=field_issues%3A98&amp;f%5B1%5D=type%3Ablog">Privacy &amp; Technology</a>
+ </li>
+ <li class="last">
+ <a href="/search/%20?f%5B0%5D=field_issues%3A125&amp;f%5B1%5D=type%3Ablog">Consumer Privacy</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ <div class="panel-pane pane-aclu-components-share-icons share-icons">
+ <ul>
+ <li class="facebook">
+ <a href="https://www.facebook.com/v2.7/dialog/feed?app_id=782898798486624&amp;link=https%3A//www.aclu.org/blog/privacy-technology/internet-privacy/facebook-tracking-me-even-though-im-not-facebook&amp;name=Facebook%20Is%20Tracking%20Me%20Even%20Though%20I%E2%80%99m%20Not%20on%20Facebook&amp;redirect_uri=https%3A//www.aclu.org/blog/privacy-technology/internet-privacy/facebook-tracking-me-even-though-im-not-facebook" target="_blank" title="Submit this to Facebook">Facebook</a>
+ </li>
+ <li class="twitter">
+ <a href="http://twitter.com/intent/tweet?text=Facebook%20Is%20Tracking%20Me%20Even%20Though%20I%E2%80%99m%20Not%20on%20Facebook&amp;via=aclu&amp;title=Facebook%20Is%20Tracking%20Me%20Even%20Though%20I%E2%80%99m%20Not%20on%20Facebook&amp;url=https%3A//www.aclu.org/blog/privacy-technology/internet-privacy/facebook-tracking-me-even-though-im-not-facebook" target="_blank" title="Submit this to Twitter">Twitter</a>
+ </li>
+ <li class="reddit">
+ <a href="http://reddit.com/submit?title=Facebook%20Is%20Tracking%20Me%20Even%20Though%20I%E2%80%99m%20Not%20on%20Facebook%20%7C%20American%20Civil%20Liberties%20Union&amp;url=https%3A//www.aclu.org/blog/privacy-technology/internet-privacy/facebook-tracking-me-even-though-im-not-facebook" target="_blank" title="Submit this to Reddit">Reddit</a>
+ </li>
+ <li class="email">
+ <a href="mailto:?body=https%3A%2F%2Fwww.aclu.org%2Fblog%2Fprivacy-technology%2Finternet-privacy%2Ffacebook-tracking-me-even-though-im-not-facebook%0D%0A%0D%0AI%20don't%20use%20Facebook.%20I'm%20not%20technophobic%20%E2%80%94%20I'm%20a%20geek.%20I've%20been%20using%20email%20since%20the%20early%201990s,%20I%20have%20accounts%20on%20hundreds%20of%20services%20around%20the%20net,%20and%20I%20do%20software%20development%20and%20internet%20protocol%20design%20both%20for%20work%20and%20for%20fun.%20I%20believe%20that%20a%20globe-spanning%20communications%20network%20like%20the%20internet%20can%20be%20a%20positive%20social%20force,%20and%20I%20publish%20much%20of%20my%20own%20work%20on%20the%20open%20web.&amp;subject=Facebook%20Is%20Tracking%20Me%20Even%20Though%20I%E2%80%99m%20Not%20on%20Facebook%20%7C%20American%20Civil%20Liberties%20Union" target="_blank" title="Submit this to Email">Email</a>
+ </li>
+ <li class="print">
+ <a href="/print/node/67865" target="_blank" title="Submit this to Print">Print</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ <div class="center-wrapper clearfix full-page-width">
+ <div class="inner">
+ <div class="panel-panel panel-main-3 content-column">
+ <div class="panel-pane pane-aclu-blog-multimedia">
+ <div class="node node-blog view-mode-blog_multimedia">
+ <div class="blog-multimedia--figure-caption">
+ <figure class="field-image">
+ <div id="file-39939" class="file file-image file-image-jpeg">
+ <h2 class="element-invisible">
+ <a href="/file/39939">WEB18-Facebook-1160x768.jpg</a>
+ </h2>
+ <div class="content">
+ <img src="https://www.aclu.org/sites/default/files/styles/blog_main_wide_580x384/public/field_image/web18-facebook-1160x768.jpg?itok=V5vZM_G3" width="580" height="384" alt="Cell phone with Facebook on it in front of blue data" />
+ </div>
+ </div>
+ </figure>
+ </div>
+ </div>
+ </div>
+ <div class="panel-pane pane-aclu-components-description description">
+ <p class="FirstParagraph">
+ I don't use Facebook. I'm not technophobic — I'm a geek. I've been using email since the early 1990s, I have accounts on hundreds of services around the net, and I do software development and internet protocol design both for work and for fun. I believe that a globe-spanning communications network like the internet can be a positive social force, and I publish much of my own work on the open web.
+ </p>
+ <p class="MsoBodyText">
+ But Facebook and other massive web companies represent a strong push toward unaccountable centralized social control, which I think makes our society more unequal and more unjust. The Cambridge Analytica scandal is one instance of this long-running problem with what I call the "surveillance economy." I don't want to submit to these power structures, and I don’t want my presence on such platforms to serve as bait that lures other people into the digital panopticon.
+ </p>
+ <p class="MsoBodyText">
+ But while I've never "opted in" to Facebook or any of the other big social networks, Facebook still has a detailed profile that can be used to target me. I've never consented to having Facebook collect my data, which can be used to draw very detailed inferences about my life, my habits, and my relationships. As we aim to take Facebook to task for its breach of user trust, we need to think about what its capabilities imply for society overall. After all, if you do #deleteFacebook, you'll find yourself in my shoes: non-consenting, but still subject to Facebook’s globe-spanning surveillance and targeting network.
+ </p>
+ <p class="MsoBodyText">
+ There are at least two major categories of information available to Facebook about non-participants like me: information from other Facebook users, and information from sites on the open web.
+ </p>
+ <h3 class="node-type-blog">
+ <strong>Information from other Facebook users</strong>
+ </h3>
+ <p class="FirstParagraph">
+ When you sign up for Facebook, it encourages you to upload your list of contacts so that the site can "find your friends." Facebook uses this contact information to learn about people, even if those people don't agree to participate. It also links people together based on who they know, even if the shared contact hasn't agreed to this use.
+ </p>
+ <p class="MsoBodyText">
+ For example, I received an email from Facebook that lists the people who have all invited me to join Facebook: my aunt, an old co-worker, a friend from elementary school, etc. This email includes names and email addresses — including my own name — and at least one <a href="https://en.wikipedia.org/wiki/Web_bug">web bug</a> designed to identify me to Facebook’s web servers when I open the email. Facebook records this group of people as my contacts, even though I've never agreed to this kind of data collection.
+ </p>
+ <p class="MsoBodyText">
+ Similarly, I'm sure that I'm in some photographs that someone has uploaded to Facebook — and I'm probably tagged in some of them. I've never agreed to this, but Facebook could still be keeping track.
+ </p>
+ <p class="MsoBodyText">
+ So even if you decide you need to join Facebook, remember that you might be giving the company information about someone else who didn't agree to be part of its surveillance platform.
+ </p>
+ <h3 class="node-type-blog">
+ <strong>Information from sites on the open Web</strong>
+ </h3>
+ <p class="FirstParagraph">
+ Nearly every website that you visit that has a "Like" button is actually encouraging your browser to tell Facebook about your browsing habits. Even if you don't click on the "Like" button, displaying it requires your browser to send a request to Facebook's servers for the "Like" button itself. That request includes <a href="https://en.wikipedia.org/wiki/HTTP_referer">information</a> mentioning the name of the page you are visiting and any Facebook-specific <a href="https://en.wikipedia.org/wiki/HTTP_cookie">cookies</a> your browser might have collected. (See <a href="https://www.facebook.com/help/186325668085084">Facebook's own description of this process</a>.) This is called a "third-party request."
+ </p>
+ <p class="MsoBodyText">
+ This makes it possible for Facebook to create a detailed picture of your browsing history — even if you've never even visited Facebook directly, let alone signed up for a Facebook account.
+ </p>
+ <p class="MsoBodyText">
+ Think about most of the web pages you've visited — how many of them <em>don't</em> have a "Like" button? If you administer a website and you include a "Like" button on every page, you're helping Facebook to build profiles of your visitors, even those who have opted out of the social network. Facebook’s <a href="https://developers.facebook.com/docs/plugins/">“Share” buttons</a> on other sites — along with <a href="https://www.facebook.com/business/learn/facebook-ads-pixel">other tools</a> — work a bit differently from the “Like” button, but do effectively the same thing.
+ </p>
+ <p class="MsoBodyText">
+ The profiles that Facebook builds on non-users don't necessarily include so-called "personally identifiable information" (PII) like names or email addresses. But they do include fairly unique patterns. Using <a href="https://dev.chromium.org/for-testers/providing-network-details">Chromium's NetLog dumping</a>, I performed a simple five-minute browsing test last week that included visits to various sites — but not Facebook. In that test, the PII-free data that was sent to Facebook included information about which news articles I was reading, my dietary preferences, and my hobbies.
+ </p>
+ <p class="MsoBodyText">
+ Given the precision of this kind of mapping and targeting, "PII" isn’t necessary to reveal my identity. How many vegans examine specifications for computer hardware from the ACLU's offices while reading about Cambridge Analytica? Anyway, if Facebook combined that information with the "web bug" from the email mentioned above — which <em>is</em> clearly linked to my name and e-mail address — no guesswork would be required.
+ </p>
+ <p class="MsoBodyText">
+ I'd be shocked if Facebook were not connecting those dots given the goals <a href="https://www.facebook.com/about/privacy/cookies">they claim for data collection</a>:
+ </p>
+ <blockquote>
+ <p class="MsoBlockText">
+ We use the information we have to improve our advertising and measurement systems so we can show you relevant ads on and off our Services and measure the effectiveness and reach of ads and services.
+ </p>
+ </blockquote>
+ <p class="FirstParagraph">
+ This is, in essence, exactly what Cambridge Analytica did.
+ </p>
+ <h3 class="node-type-blog">
+ <strong>Consent</strong>
+ </h3>
+ <p class="FirstParagraph">
+ Facebook and other tech companies often deflect accusations against excessive data collection by arguing "consent" — that they harvest and use data with the consent of the users involved.
+ </p>
+ <p class="MsoBodyText">
+ But even if we accept that clicking through a "Terms of Service" that <a href="https://tosdr.org/">no one reads</a> can actually constitute true consent, even if we ignore the fact that these terms are overwhelmingly one-sided and non-negotiable, and even if we accept that it's meaningful for people to give consent when sharing data about other people who may have also opted in — what is the recourse for someone who has not opted into these systems at all?
+ </p>
+ <p class="MsoBodyText">
+ Are those of us who have explicitly avoided agreeing to the Facebook terms of service simply fair game for an industry-wide surveillance and targeting network?
+ </p>
+ <h3 class="node-type-blog">
+ <strong>Privilege</strong>
+ </h3>
+ <p class="FirstParagraph">
+ I don’t mean to critique people who have created a Facebook profile or suggest they deserve whatever they get.
+ </p>
+ <p class="MsoBodyText">
+ My ability to avoid Facebook comes from privilege — I have existing social contacts with whom I know how to stay in touch without using Facebook's network. My job does not require that I use Facebook. I can afford the time and expense to communicate with my electoral representatives and political allies via other channels.
+ </p>
+ <p class="MsoBodyText">
+ Many people do not have these privileges and are compelled to "opt in" on Facebook's non-negotiable terms.
+ </p>
+ <p class="MsoBodyText">
+ Many journalists, organizers, schools, politicians, and others who have good reasons to oppose Facebook's centralized social control feel compelled by Facebook's reach and scale to participate in their practices, even those we know to be harmful. That includes the ACLU.
+ </p>
+ <p class="MsoBodyText">
+ Privacy should not be a luxury good, and while I'm happy to encourage people to opt out of these subtle and socially fraught arrangements, I do not argue that anyone who has signed up has somehow relinquished concerns about their privacy. We need to evaluate privacy concerns in their full social contexts. These are not problems that can be resolved on an individual level, because of the interpersonal nature of much of this data and the complexities of the tradeoffs involved.
+ </p>
+ <h3 class="node-type-blog">
+ <strong>Technical countermeasures</strong>
+ </h3>
+ <p class="FirstParagraph">
+ While they may not solve the problem, there are some technical steps people can take to limit the scope of these surveillance practices. For example, some web browsers do not send "third-party cookies" by default, or <a href="https://wiki.mozilla.org/Thirdparty">they scope cookies</a> so that centralized surveillance doesn't get a single view of one user. The most privacy-preserving modern browser is <a href="https://www.torproject.org/">the Tor Browser</a>, which everyone should have installed and available, even if it's not the browser they choose to use every day. It limits the surveillance ability of systems that you have not signed up for to track you as you move around the web.
+ </p>
+ <p class="MsoBodyText">
+ You can also modify some browsers — for example, with plug-ins for <a href="https://requestpolicycontinued.github.io/">Firefox</a> and <a href="https://chrome.google.com/webstore/detail/umatrix/ogfcmafjalglgifnmanfmnieipoejdcf">Chrome</a> — so that they <a href="https://addons.mozilla.org/en-US/firefox/addon/umatrix/">do not send third-party</a> <a href="https://requestpolicycontinued.github.io/">requests at all</a>. Firefox is also exploring even more <a href="https://addons.mozilla.org/en-US/firefox/addon/multi-account-containers/">privacy-preserving techniques</a><a href="https://addons.mozilla.org/en-US/firefox/addon/multi-account-containers/">.</a>
+ </p>
+ <p class="MsoBodyText">
+ It can’t be denied, though, that these tools are harder to use than the web browsers most people are accustomed to, and they create barriers to some online activities. (For example, logging in to <a href="https://offcampushousing.uconn.edu/login">some sites</a> and accessing some <a href="https://filestore.community.support.microsoft.com/api/images/0253d8fb-b050-401a-834d-9d80a99c0b12">web applications</a> is impossible without third-party cookies.)
+ </p>
+ <p class="MsoBodyText">
+ Some website operators take their visitors' privacy more seriously than others, by reducing the amount of third-party requests. For example, it's possible to display "share on Facebook" or "Like" buttons without sending user requests to Facebook in the first place. The ACLU's own website does this because we believe that the right to read with privacy is a fundamental protection for civic discourse.
+ </p>
+ <p class="MsoBodyText">
+ If you are responsible for running a website, try browsing it with a third-party-blocking extension turned on. Think about how much information you're requiring your users to send to third parties as a condition for using your site. If you care about being a good steward of your visitors' data, you can re-design your website to reduce this kind of leakage.
+ </p>
+ <h3 class="node-type-blog">
+ <strong>Opting out?</strong>
+ </h3>
+ <p class="MsoBodyText">
+ Some advertisers claim that you can "opt out" of their targeted advertising, and even offer <a href="http://optout.aboutads.info/">a centralized place meant to help you do so</a>.&nbsp;However, my experience with these tools isn't a positive one. They don't appear to work all of the time. (In a recent experiment I conducted, two advertisers’ opt-out mechanisms failed to take effect.) And while advertisers claim to allow the user to opt out of "interest-based ads," it's not clear that the opt-outs govern data collection itself, rather than just the use of the collected data for displaying ads. Moreover, opting out on their terms requires the use of third-party cookies, thereby enabling another mechanism that other advertisers can then exploit.
+ </p>
+ <p class="MsoBodyText">
+ It's also not clear how they function over time: How frequently do I need to take these steps? Do they expire? How often should I check back to make sure I’m still opted out? I'd much prefer an approach requiring me to opt <em>in</em> to surveillance and targeting.
+ </p>
+ <h3 class="node-type-blog">
+ <strong>Fix the surveillance economy, not just Facebook</strong>
+ </h3>
+ <p class="FirstParagraph">
+ These are just a few of the mechanisms that enable online tracking. Facebook is just one culprit in this online "surveillance economy," albeit a massive one — the company owns <a href="https://www.instagram.com/">Instagram</a>, <a href="https://atlassolutions.com/">Atlas</a>, <a href="https://www.whatsapp.com/">WhatsApp</a>, and dozens of other internet and technology companies and services. But it’s not the only player in this space. Google’s business model also relies on this kind of surveillance, and there are dozens of smaller players as well.
+ </p>
+ <p class="MsoBodyText">
+ As we work to address the fallout from the current storm around Facebook and Cambridge Analytica, we can't afford to lose sight of these larger mechanisms at play. Cambridge Analytica's failures and mistakes are inherent to Facebook's business model. We need to seriously challenge the social structures that encourage people to opt in to this kind of surveillance. At the same time, we also need to protect those of us who manage to opt out.
+ </p>
+ </div>
+ <div class="panel-pane pane-aclu-social-comments">
+ <div class="comments comment-wrapper">
+ <div class="comments-header">
+ <span class="title">View comments</span> (27)
+ </div>
+ <div class="content">
+ <div class="terms">
+ <div class="terms-title read-comments-tou">
+ Read the Terms of Use
+ </div>
+ <div class="terms-content comments-tou"></div>
+ </div>
+ <div id="comments">
+ <form class="comment-form" action="/comment/reply/67865" method="post" id="comment-form" accept-charset="UTF-8" name="comment-form">
+ <div>
+ <div class="form-item form-type-textfield form-item-name">
+ <label for="edit-name">Your name <span class="form-required" title="This field is required.">*</span></label> <input type="text" id="edit-name" name="name" value="Anonymous" size="30" maxlength="60" class="form-text required" />
+ </div>
+ <div class="field-type-text-long field-name-comment-body field-widget-text-textarea form-wrapper" id="edit-comment-body">
+ <div id="comment-body-add-more-wrapper">
+ <div class="text-format-wrapper">
+ <div class="form-item form-type-textarea form-item-comment-body-und-0-value">
+ <label for="edit-comment-body-und-0-value">Comment <span class="form-required" title="This field is required.">*</span></label>
+ <div class="form-textarea-wrapper resizable">
+ <textarea class="text-full form-textarea required" id="edit-comment-body-und-0-value" name="comment_body[und][0][value]" cols="60" rows="5"></textarea>
+ </div>
+ </div>
+ <fieldset class="filter-wrapper hide-filter-formats collapsible collapsed form-wrapper" id="edit-comment-body-und-0-format">
+ <legend><span class="fieldset-legend">Text formats options</span></legend>
+ <div class="fieldset-wrapper">
+ <div class="filter-help form-wrapper" id="edit-comment-body-und-0-format-help">
+ <p>
+ <a href="/filter/tips" target="_blank">More information about text formats</a>
+ </p>
+ </div>
+ <div class="form-item form-type-select form-item-comment-body-und-0-format">
+ <label for="edit-comment-body-und-0-format--2">Text format</label> <select class="filter-list form-select" id="edit-comment-body-und-0-format--2" name="comment_body[und][0][format]">
+ <option value="basic_html" selected="selected">
+ Basic HTML
+ </option>
+ <option value="plain_text">
+ Plain text
+ </option>
+ </select>
+ </div>
+ <div class="filter-guidelines form-wrapper" id="edit-comment-body-und-0-format-guidelines">
+ <div class="filter-guidelines-item filter-guidelines-basic_html">
+ <h3>
+ Basic HTML
+ </h3>
+ <ul class="tips">
+ <li>Allowed HTML tags: &lt;em&gt; &lt;strong&gt; &lt;blockquote&gt; &lt;cite&gt; &lt;p&gt; &lt;br&gt; &lt;ol&gt; &lt;ul&gt; &lt;li&gt;
+ </li>
+ <li>Lines and paragraphs break automatically.
+ </li>
+ </ul>
+ </div>
+ <div class="filter-guidelines-item filter-guidelines-plain_text">
+ <h3>
+ Plain text
+ </h3>
+ <ul class="tips">
+ <li>No HTML tags allowed.
+ </li>
+ <li>Web page addresses and e-mail addresses turn into links automatically.
+ </li>
+ <li>Lines and paragraphs break automatically.
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </fieldset>
+ </div>
+ </div>
+ </div><input type="hidden" name="form_build_id" value="form-6Q08FDAfOeXeEl3Vz8dgdmuvc04IXpGWXoiLVB015DU" /> <input type="hidden" name="form_id" value="comment_node_blog_form" />
+ <div class="form-actions form-wrapper" id="edit-actions">
+ <input type="submit" id="edit-submit" name="op" value="Add comment" class="form-submit" />
+ </div>
+ <div class="aclu-name-textfield">
+ <div class="form-item form-type-textfield form-item-aclu-name">
+ <label for="edit-aclu-name">Leave this field blank</label> <input autocomplete="off" type="text" id="edit-aclu-name" name="aclu-name" value="" size="20" maxlength="128" class="form-text" />
+ </div>
+ </div>
+ </div>
+ </form><a id="comments-top" class="top"></a> <a id="comment-223379"></a>
+ <div class="clear-block comment comment comment-by-anonymous first odd clearfix">
+ <div class="comment-content">
+ <div class="content">
+ <h3 class="name">
+ <span class="username">Anonymous</span>
+ </h3>
+ <div class="field-comment-body text-area">
+ <p>
+ One valuable reform would be to mandate, under penalty of felony, that anyone that searches your information has to notify you - to include private investigotors screening potential employers to police officers trolling your online profile. It would be a great consumer protection.
+ </p>
+ <p>
+ For example: if you lost the job offer due to your Facebook post, the employer should be required to tell you that. If you got pulled over and ticketed because you "Liked" police body cameras on FB you should know that also.
+ </p>
+ <p>
+ The real danger is allowing punitive actions, in retaliation of your Free Speech to be hidden from us. If someone is spying on us, bypassing privacy filters, without a judicial warrant - we should know that.
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="meta">
+ <ul class="links inline">
+ <li class="comment-reply first">
+ <a href="/comment/reply/67865/223379">reply</a>
+ </li>
+ <li class="date">
+ <span>April 5, 2018</span>
+ </li>
+ <li class="time last">
+ <span>6:32 PM</span>
+ </li>
+ </ul>
+ </div>
+ </div><a id="comment-223395"></a>
+ <div class="clear-block comment comment comment-by-anonymous even clearfix">
+ <div class="comment-content">
+ <div class="content">
+ <h3 class="name">
+ <span class="username">Lars</span>
+ </h3>
+ <div class="field-comment-body text-area">
+ <p>
+ Couldn’t I just bloc facebook in my private filer (squid filter)?
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="meta">
+ <ul class="links inline">
+ <li class="comment-reply first">
+ <a href="/comment/reply/67865/223395">reply</a>
+ </li>
+ <li class="date">
+ <span>April 6, 2018</span>
+ </li>
+ <li class="time last">
+ <span>2:20 AM</span>
+ </li>
+ </ul>
+ </div>
+ </div><a id="comment-223408"></a>
+ <div class="clear-block comment comment comment-by-anonymous odd clearfix">
+ <div class="comment-content">
+ <div class="content">
+ <h3 class="name">
+ <span class="username">Anonymous</span>
+ </h3>
+ <div class="field-comment-body text-area">
+ <p>
+ privacy badger is also a good plugin to mention
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="meta">
+ <ul class="links inline">
+ <li class="comment-reply first">
+ <a href="/comment/reply/67865/223408">reply</a>
+ </li>
+ <li class="date">
+ <span>April 6, 2018</span>
+ </li>
+ <li class="time last">
+ <span>12:13 PM</span>
+ </li>
+ </ul>
+ </div>
+ </div><a id="comment-223409"></a>
+ <div class="clear-block comment comment comment-by-anonymous even clearfix">
+ <div class="comment-content">
+ <div class="content">
+ <h3 class="name">
+ <span class="username">Anonymous</span>
+ </h3>
+ <div class="field-comment-body text-area">
+ <p>
+ The U.S. Justice Department and U.S. Congress - more than a decade behind schedule - still haven't reconciled the "Joseph Nacchio" case. Nacchio's telecommunications company, Qwest Communications, was apparently the one and only telecommunications company that refused to participate in the felony crime of Warrantless Wire-tapping around February of 2001 (roughly 6 months BEFORE 9/11 when no wartime emergency existed)., being pressured by the Bush Administration to commit a felony under federal law.
+ </p>
+ <p>
+ Congress then passed an ex post facto law - illegal under Article I of the U.S. Constitution - making those past felonies legal. Congress has no such authority under Article VI.
+ </p>
+ <p>
+ Joseph Nacchio claims he was then indicted by the U.S. Department of Justice - on trumped up charges - and served a few years in federal prison. A CEO of a large American corporation was sent to prison for COMPLYING with federal wiretaping laws. The Washington Post ran a story after Nacchio was released from prison, he still claims to this day that he went to prison for not participating in Bush felony crimes.
+ </p>
+ <p>
+ What is to prevent a future lawless Executive Branch from pressuring Facebook or other social media networks to also bypass Judicial Warrants? If an honest U.S. Attorney or state prosecutor started indicting the former Bush folks, it would create a powerful "deterrent effect" to lawless officials in the future.
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="meta">
+ <ul class="links inline">
+ <li class="comment-reply first">
+ <a href="/comment/reply/67865/223409">reply</a>
+ </li>
+ <li class="date">
+ <span>April 6, 2018</span>
+ </li>
+ <li class="time last">
+ <span>12:23 PM</span>
+ </li>
+ </ul>
+ </div>
+ </div><a id="comment-223419"></a>
+ <div class="clear-block comment comment comment-by-anonymous odd clearfix">
+ <div class="comment-content">
+ <div class="content">
+ <h3 class="name">
+ <span class="username">Anonymous</span>
+ </h3>
+ <div class="field-comment-body text-area">
+ <p>
+ There is strong circumstantial evidence that "Post 9/11 Blacklisting" of U.S. citizens is still alive and well. Maybe the most dangerous blacklisting tactic is "Employment Tampering". It basically means if you were blacklisted after 9/11, you may not be allowed to work in certain occupations. The Government essentially decides where you are allowed work, without an official hearing by judge - blacklistees are never informed of their 2nd Class status as Americans - not entitled to the same rights as other Americans.
+ </p>
+ <p>
+ "Employment Tampering" by government officials/contractors - which violates Title 18 US Code 242 - is one of the hardest blacklisting tactics for federal prosecutors to police. We may even need a new federal watchdog agency to properly police this felony crime by officials.
+ </p>
+ <p>
+ Maybe the most famous case, was exposed by a federal appeals court that severely reprimanded former Attorney General John Ashcroft (although he was never criminally indicted). Ashcroft grossly and fraudulently exploited the federal "Material Witness Statute" to be used as a quasi form of imprisonment and involntary servitude. The 13th Amendment makes this practice totally illegal without an official and overt constitutional due process.
+ </p>
+ <p>
+ This tactic has a long history in authoritarian regimes. It was originally called "Zersetzung" and was first used in 1940's Germany during World War Two to silence dissent. During the Cold War, this tactic was adopted by then Communist East Germany. The FBI started using it in the 1950's commonly called Cointelpro tactics. Ashcroft then exploited the Material Witness Statute to be used as a Zersetzung tactic. Employment Tampering was probably the most potent tactic.
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="meta">
+ <ul class="links inline">
+ <li class="comment-reply first">
+ <a href="/comment/reply/67865/223419">reply</a>
+ </li>
+ <li class="date">
+ <span>April 6, 2018</span>
+ </li>
+ <li class="time last">
+ <span>2:35 PM</span>
+ </li>
+ </ul>
+ </div>
+ </div><a id="comment-223421"></a>
+ <div class="clear-block comment comment comment-by-anonymous even clearfix">
+ <div class="comment-content">
+ <div class="content">
+ <h3 class="name">
+ <span class="username">Anonymous</span>
+ </h3>
+ <div class="field-comment-body text-area">
+ <p>
+ This was the most elightening piece on Facebook Ive seen of late.
+ </p>
+ <p>
+ Hate their format, so don't use it.
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="meta">
+ <ul class="links inline">
+ <li class="comment-reply first">
+ <a href="/comment/reply/67865/223421">reply</a>
+ </li>
+ <li class="date">
+ <span>April 6, 2018</span>
+ </li>
+ <li class="time last">
+ <span>3:12 PM</span>
+ </li>
+ </ul>
+ </div>
+ </div>
+ <div class="indented">
+ <a id="comment-223672"></a>
+ <div class="clear-block comment comment comment-by-anonymous odd clearfix">
+ <div class="comment-content">
+ <div class="content">
+ <h3 class="name">
+ <span class="username">Anonymous</span>
+ </h3>
+ <div class="field-comment-body text-area">
+ <p>
+ Didn't you read the article? You might not use it, but they still know all about you, even including name, address, phone number, etc. if you are in someone's contacts.
+ </p>
+ <p>
+ Ironically, by refusing to register with them as a user, you have no control at all over the collection and usage of your data and information. At least users have some little control over it.
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="meta">
+ <ul class="links inline">
+ <li class="date first">
+ <span>April 10, 2018</span>
+ </li>
+ <li class="time last">
+ <span>10:14 PM</span>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div><a id="comment-223424"></a>
+ <div class="clear-block comment comment comment-by-anonymous even clearfix">
+ <div class="comment-content">
+ <div class="content">
+ <h3 class="name">
+ <span class="username">Ed B. -Netherlands</span>
+ </h3>
+ <div class="field-comment-body text-area">
+ <p>
+ Well written, well-thought article. I agree with the content. Although I hate regulation in general, it seems about time that website should be required to offer a cookie free, traceless version at all times.
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="meta">
+ <ul class="links inline">
+ <li class="comment-reply first">
+ <a href="/comment/reply/67865/223424">reply</a>
+ </li>
+ <li class="date">
+ <span>April 6, 2018</span>
+ </li>
+ <li class="time last">
+ <span>5:29 PM</span>
+ </li>
+ </ul>
+ </div>
+ </div>
+ <div class="indented">
+ <a id="comment-223761"></a>
+ <div class="clear-block comment comment comment-by-anonymous odd clearfix">
+ <div class="comment-content">
+ <div class="content">
+ <h3 class="name">
+ <span class="username">Anonymous</span>
+ </h3>
+ <div class="field-comment-body text-area">
+ <p>
+ HTTP is stateless. That means that when you click on a link to another page, the second page doesn't know that you were the person on page 1. Cookies, or some form of tracking, are needed for things like eCommerce and shopping carts. You need a cookie to associate *you* with your cart. Anything where you log in needs a cookie in order to know you are you, such as subscriptions.
+ </p>
+ <p>
+ However, those cookies can easily be "session cookies". That is, cookies that don't persist after you log out or close your web browser. They exists solely for the duration of your session, and do not persist.
+ </p>
+ <p>
+ Cookies are only an association mechanism. The heart of the problem is the harvesting of every click and everything on a page -- the over-collection of data to begin with.
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="meta">
+ <ul class="links inline">
+ <li class="date first">
+ <span>April 11, 2018</span>
+ </li>
+ <li class="time last">
+ <span>2:51 PM</span>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div><a id="comment-223425"></a>
+ <div class="clear-block comment comment comment-by-anonymous even clearfix">
+ <div class="comment-content">
+ <div class="content">
+ <h3 class="name">
+ <span class="username">Anonymous</span>
+ </h3>
+ <div class="field-comment-body text-area">
+ <p>
+ Great article.
+ </p>
+ </div>
+ </div>
+ </div>
+ <div class="meta">
+ <ul class="links inline">
+ <li class="comment-reply first">
+ <a href="/comment/reply/67865/223425">reply</a>
+ </li>
+ <li class="date">
+ <span>April 6, 2018</span>
+ </li>
+ <li class="time last">
+ <span>5:42 PM</span>
+ </li>
+ </ul>
+ </div>
+ </div>
+ <h2 class="element-invisible">
+ Pages
+ </h2>
+ <div class="item-list">
+ <ul class="pager">
+ <li class="pager-current first">1
+ </li>
+ <li class="pager-item">
+ <a title="Go to page 2" href="/blog/privacy-technology/internet-privacy/facebook-tracking-me-even-though-im-not-facebook?page=1">2</a>
+ </li>
+ <li class="pager-item">
+ <a title="Go to page 3" href="/blog/privacy-technology/internet-privacy/facebook-tracking-me-even-though-im-not-facebook?page=2">3</a>
+ </li>
+ <li class="pager-next">
+ <a href="/blog/privacy-technology/internet-privacy/facebook-tracking-me-even-though-im-not-facebook?page=1">next</a>
+ </li>
+ <li class="pager-last last">
+ <a title="Go to last page" href="/blog/privacy-technology/internet-privacy/facebook-tracking-me-even-though-im-not-facebook?page=2">last »</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="panel-panel panel-right-3 sidebar-right">
+ <div class="panel-pane pane-fieldable-panels-pane pane-fpid-1005 pane-bundle-donation-promo">
+ <a href="https://action.aclu.org/secure/donate-to-aclu?ms=donate_bo&amp;ms_aff=NAT&amp;ms_chan=web&amp;initms=donate_bo&amp;initms_aff=NAT&amp;initms_chan=web" title="Donate Now" target="_blank" class="promo-link" alt="Donate Now">
+ <div class="fieldable-panels-pane">
+ <div class="field-promo-text">
+ Fight for everyone's rights - support the ACLU.
+ </div>
+ <div class="field-button-url">
+ Donate Now
+ </div>
+ </div></a>
+ </div>
+ <div class="panel-pane pane-aclu-blog-news-signup">
+ <div class="inner">
+ <div class="pane-title">
+ Sign Up For Breaking News <span>Alerts</span>
+ </div><a href="" class="close">Close</a>
+ <form action="/blog/privacy-technology/internet-privacy/facebook-tracking-me-even-though-im-not-facebook" method="post" id="aclu-social-signup-form" accept-charset="UTF-8" name="aclu-social-signup-form">
+ <div>
+ <div class="form-item form-type-textfield form-item-signup-email">
+ <label class="element-invisible" for="edit-signup-email">Email Address <span class="form-required" title="This field is required.">*</span></label> <input placeholder="Your email address" type="text" id="edit-signup-email" name="signup_email" value="" size="60" maxlength="128" class="form-text required" />
+ </div>
+ <div class="form-item form-type-textfield form-item-signup-zip">
+ <label class="element-invisible" for="edit-signup-zip">ZIP Code <span class="form-required" title="This field is required.">*</span></label> <input placeholder="ZIP code" type="text" id="edit-signup-zip" name="signup_zip" value="" size="60" maxlength="128" class="form-text required" />
+ </div><input type="hidden" name="location" value="blog_sidebar" /> <input type="submit" id="edit-submit--2" name="op" value="Go" class="form-submit" /><input type="hidden" name="form_build_id" value="form-V-iFbwGg1bnlbXW0i278HSQfREJVQ4S38pbnJL9sWao" /> <input type="hidden" name="form_id" value="aclu_social_signup_form" />
+ </div>
+ </form>
+ </div>
+ </div>
+ <div class="panel-pane pane-featured-action">
+ <article class="node-67524 node node-action view-mode-featured_action action-background-style-featured_image clearfix component action featured-action">
+ <div class="inner">
+ <header>
+ <h2 class="node__title node-title">
+ <a href="https://action.aclu.org/send-message/restore-net-neutrality-protections?ms_aff=NAT&amp;initms_aff=NAT&amp;ms=180307_freespeech_messageaction_&amp;initms=180307_freespeech_messageaction_&amp;ms_chan=web&amp;initms_chan=web"><span>Restore Net Neutrality Protections</span></a>
+ </h2>
+ </header>
+ <div class="field-image">
+ <a href="https://action.aclu.org/send-message/restore-net-neutrality-protections?ms_aff=NAT&amp;initms_aff=NAT&amp;ms=180307_freespeech_messageaction_&amp;initms=180307_freespeech_messageaction_&amp;ms_chan=web&amp;initms_chan=web"><img src="https://www.aclu.org/sites/default/files/styles/action_sidebar_wide_280x240/public/field_image/act17-netneutrality-rebrand-2400x960-v01.jpg?itok=f1Ixpcsw" width="280" height="240" alt="" /></a>
+ </div>
+ <div class="field-action-link">
+ <div class="field-items">
+ <div class="field-item even">
+ <!-- Adding an arrow span next to link --><a href="https://action.aclu.org/send-message/restore-net-neutrality-protections?ms_aff=NAT&amp;initms_aff=NAT&amp;ms=180307_freespeech_messageaction_&amp;initms=180307_freespeech_messageaction_&amp;ms_chan=web&amp;initms_chan=web">Send a message now</a>
+ </div>
+ </div>
+ </div>
+ </div>
+ </article>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="panel-panel panel-full-width-2 full-page-width">
+ <div class="inner">
+ <div class="panel-pane pane-aclu-blog-related-stories">
+ <div class="component featured-stories">
+ <div class="pane-title">
+ Related Stories
+ </div>
+ <div class="scrollbar-swiper">
+ <div class="window">
+ <article class="has-image">
+ <a href="/blog/privacy-technology/internet-privacy/staying-safe-when-you-say-metoo">
+ <figure class="field-image">
+ <img src="https://www.aclu.org/sites/default/files/styles/blog_index_thumbnail_130x110/public/field_image/blog7-1160x768.png?itok=WL14QDmD" width="130" height="110" alt="" />
+ </figure></a>
+ <h3>
+ <a href="/blog/privacy-technology/internet-privacy/staying-safe-when-you-say-metoo">Staying Safe When You Say #MeToo</a>
+ </h3><span class="date">February 12, 2018</span>
+ </article>
+ <article class="has-image">
+ <a href="/blog/privacy-technology/internet-privacy/why-youtube-shouldnt-over-rely-artificial-intelligence">
+ <figure class="field-image">
+ <img src="https://www.aclu.org/sites/default/files/styles/blog_index_thumbnail_130x110/public/field_image/web18-robothandcomputer-1160x768.jpg?itok=L6wAQaKN" width="130" height="110" alt="" />
+ </figure></a>
+ <h3>
+ <a href="/blog/privacy-technology/internet-privacy/why-youtube-shouldnt-over-rely-artificial-intelligence">Why YouTube Shouldn’t Over-Rely on Artificial Intelligence to Police Its...</a>
+ </h3><span class="date">April 26, 2018</span>
+ </article>
+ <article class="has-image">
+ <a href="/blog/privacy-technology/internet-privacy/8-questions-members-congress-should-ask-mark-zuckerberg">
+ <figure class="field-image">
+ <img src="https://www.aclu.org/sites/default/files/styles/blog_index_thumbnail_130x110/public/field_image/web18-qsforzuckerberg-1160x768-v01.jpg?itok=npeL5qrf" width="130" height="110" alt="" />
+ </figure></a>
+ <h3>
+ <a href="/blog/privacy-technology/internet-privacy/8-questions-members-congress-should-ask-mark-zuckerberg">8 Questions Members of Congress Should Ask Mark Zuckerberg</a>
+ </h3><span class="date">April 2, 2018</span>
+ </article>
+ <article class="has-image">
+ <a href="/blog/national-security/privacy-and-surveillance/how-irish-court-ruling-could-affect-us-spying">
+ <figure class="field-image">
+ <img src="https://www.aclu.org/sites/default/files/styles/blog_index_thumbnail_130x110/public/field_image/web17-servers3-1160x768.jpg?itok=7QKUv8Zx" width="130" height="110" alt="" />
+ </figure></a>
+ <h3>
+ <a href="/blog/national-security/privacy-and-surveillance/how-irish-court-ruling-could-affect-us-spying">How an Irish Court Ruling Could Affect U.S. Spying</a>
+ </h3><span class="date">April 20, 2018</span>
+ </article>
+ <article class="has-image">
+ <a href="/blog/privacy-technology/internet-privacy/landmark-european-law-could-change-facebook-and-improve">
+ <figure class="field-image">
+ <img src="https://www.aclu.org/sites/default/files/styles/blog_index_thumbnail_130x110/public/field_image/web18-fb-gdpr-1160x768.jpg?itok=5CbfDCXk" width="130" height="110" alt="" />
+ </figure></a>
+ <h3>
+ <a href="/blog/privacy-technology/internet-privacy/landmark-european-law-could-change-facebook-and-improve">The Landmark European Law That Could Change Facebook and Improve Privacy in...</a>
+ </h3><span class="date">April 12, 2018</span>
+ </article>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div id="block-aclu-social-stay-informed" class="block block-aclu-social last even">
+ <div class="inner">
+ <div class="inner-inner">
+ <h2 class="block__title block-title">
+ Stay Informed
+ </h2>
+ <form action="/blog/privacy-technology/internet-privacy/facebook-tracking-me-even-though-im-not-facebook" method="post" id="aclu-social-signup-form--3" accept-charset="UTF-8" name="aclu-social-signup-form--3">
+ <div>
+ <div class="form-item form-type-textfield form-item-signup-email">
+ <label class="element-invisible" for="edit-signup-email--3">Email Address <span class="form-required" title="This field is required.">*</span></label> <input placeholder="Your email address" type="text" id="edit-signup-email--3" name="signup_email" value="" size="60" maxlength="128" class="form-text required" />
+ </div>
+ <div class="form-item form-type-textfield form-item-signup-zip">
+ <label class="element-invisible" for="edit-signup-zip--3">ZIP Code <span class="form-required" title="This field is required.">*</span></label> <input placeholder="ZIP code" type="text" id="edit-signup-zip--3" name="signup_zip" value="" size="60" maxlength="128" class="form-text required" />
+ </div><input type="hidden" name="location" value="footer" /> <input type="submit" id="edit-submit--4" name="op" value="Join our newsletter" class="form-submit" /><input type="hidden" name="form_build_id" value="form-4X8Q9WkE1kSbcA101IJ_Yr5Zrs1RKyheMIv_kez9Kxk" /> <input type="hidden" name="form_id" value="aclu_social_signup_form" />
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <footer id="footer" class="region region-footer" role="contentinfo">
+ <div class="inner">
+ <div class="inner-inner">
+ <div id="block-menu-menu-footer-menu" class="block block-menu first odd" role="navigation">
+ <ul class="menu">
+ <li class="menu__item is-leaf first leaf">
+ <a href="/publications" class="menu__link">Publications</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/multimedia" class="menu__link">Multimedia</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/about/media" class="menu__link small-viewport-copy-to-main-menu">Media</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/contact-us" class="menu__link small-viewport-copy-to-main-menu">Contact</a>
+ </li>
+ <li class="menu__item is-leaf last leaf">
+ <a href="https://action.aclu.org/secure/donate-to-aclu?ms=footer_sitemap_donate&amp;ms_aff=NAT&amp;ms_chan=web&amp;initms=footer_sitemap_donate&amp;initms_aff=NAT&amp;initms_chan=web" class="menu__link">Donate</a>
+ </li>
+ </ul>
+ </div>
+ <div id="block-menu-menu-social-links" class="block block-menu even" role="navigation">
+ <ul class="menu">
+ <li class="menu__item is-leaf first leaf">
+ <a href="https://www.facebook.com/aclu" id="menu-item-facebook" class="menu__link">ACLU on Facebook</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="https://twitter.com/aclu" id="menu-item-twitter" class="menu__link">ACLU on Twitter</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="https://www.youtube.com/user/acluvideos" id="menu-item-youtube" class="menu__link">ACLU on YouTube</a>
+ </li>
+ <li class="menu__item is-leaf last leaf">
+ <a href="/taxonomy/channel-term/1/feed" id="menu-item-rss" class="menu__link">The ACLU RSS Feed</a>
+ </li>
+ </ul>
+ </div>
+ <div id="block-block-2" class="block block-block odd">
+ <div class="charity">
+ <p class="charity-nav">
+ <a href="https://www.charitynavigator.org/index.cfm?bay=search.summary&amp;orgid=3247">Charity Navigator</a>
+ </p>
+ <p class="bbb-accredited">
+ <a href="http://www.bbb.org/charity-reviews/national/civil-rights/american-civil-liberties-union-foundation-in-new-york-ny-227">BBB Accredited Charity</a>
+ </p>
+ </div>
+ </div>
+ <div id="block-menu-menu-secondary-footer-menu" class="block block-menu even" role="navigation">
+ <ul class="menu">
+ <li class="menu__item is-leaf first leaf">
+ <a href="/aclu-site-user-agreement" class="menu__link">User agreement</a>
+ </li>
+ <li class="menu__item is-leaf leaf">
+ <a href="/american-civil-liberties-union-privacy-statement" class="menu__link">Privacy statement</a>
+ </li>
+ <li class="menu__item is-leaf last leaf">
+ <a href="/aclu-statement-accessibility" class="menu__link">Accessibility</a>
+ </li>
+ </ul>
+ </div>
+ <div id="block-block-1" class="block block-block odd">
+ <div class="fine-print">
+ <p>
+ This is the website of the American Civil Liberties Union and the ACLU Foundation.
+ </p>
+ <p>
+ <a href="/donating-american-civil-liberties-union-and-aclu-foundation-what-difference">Learn more about these two components of the ACLU.</a>
+ </p>
+ <p>
+ © 2018&nbsp;ACLU
+ </p>
+ </div>
+ <p>
+ &nbsp;
+ </p>
+ </div>
+ <div id="block-block-3" class="block block-block last even">
+ <div class="branding">
+ <p class="slogan">
+ We the People
+ </p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </footer>
+ </div>
+ <script type="application/ld+json">
+ <![CDATA[
+ {"@context":"http:\/\/schema.org","@type":"Article","url":"https:\/\/www.aclu.org\/blog\/privacy-technology\/internet-privacy\/facebook-tracking-me-even-though-im-not-facebook","inLanguage":"en-US","description":"Facebook collects data about people who have never even opted in. But there are ways these non-users can protect themselves. ","headline":"Facebook Is Tracking Me Even Though I\u2019m Not on Facebook","datePublished":"2018-04-05T06:00","dateModified":"2018-04-11","articleBody":"\u003Cp class=\u0022FirstParagraph\u0022\u003EI don\u0027t use Facebook. I\u0027m not technophobic \u2014 I\u0027m a geek. I\u0027ve been using email since the early 1990s, I have accounts on hundreds of services around the net, and I do software development and internet protocol design both for work and for fun. I believe that a globe-spanning communications network like the internet can be a positive social force, and I publish much of my own work on the open web.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EBut Facebook and other massive web companies represent a strong push toward unaccountable centralized social control, which I think makes our society more unequal and more unjust. The Cambridge Analytica scandal is one instance of this long-running problem with what I call the \u0022surveillance economy.\u0022 I don\u0027t want to submit to these power structures, and I don\u2019t want my presence on such platforms to serve as bait that lures other people into the digital panopticon.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EBut while I\u0027ve never \u0022opted in\u0022 to Facebook or any of the other big social networks, Facebook still has a detailed profile that can be used to target me. I\u0027ve never consented to having Facebook collect my data, which can be used to draw very detailed inferences about my life, my habits, and my relationships. As we aim to take Facebook to task for its breach of user trust, we need to think about what its capabilities imply for society overall. After all, if you do #deleteFacebook, you\u0027ll find yourself in my shoes: non-consenting, but still subject to Facebook\u2019s globe-spanning surveillance and targeting network.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EThere are at least two major categories of information available to Facebook about non-participants like me: information from other Facebook users, and information from sites on the open web.\u003C\/p\u003E\n\u003Ch3 class=\u0022node-type-blog\u0022\u003E\u003Cstrong\u003EInformation from other Facebook users\u003C\/strong\u003E\u003C\/h3\u003E\n\u003Cp class=\u0022FirstParagraph\u0022\u003EWhen you sign up for Facebook, it encourages you to upload your list of contacts so that the site can \u0022find your friends.\u0022 Facebook uses this contact information to learn about people, even if those people don\u0027t agree to participate. It also links people together based on who they know, even if the shared contact hasn\u0027t agreed to this use.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EFor example, I received an email from Facebook that lists the people who have all invited me to join Facebook: my aunt, an old co-worker, a friend from elementary school, etc. This email includes names and email addresses \u2014 including my own name \u2014 and at least one \u003Ca href=\u0022https:\/\/en.wikipedia.org\/wiki\/Web_bug\u0022\u003Eweb bug\u003C\/a\u003E designed to identify me to Facebook\u2019s web servers when I open the email. Facebook records this group of people as my contacts, even though I\u0027ve never agreed to this kind of data collection.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003ESimilarly, I\u0027m sure that I\u0027m in some photographs that someone has uploaded to Facebook \u2014 and I\u0027m probably tagged in some of them. I\u0027ve never agreed to this, but Facebook could still be keeping track.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003ESo even if you decide you need to join Facebook, remember that you might be giving the company information about someone else who didn\u0027t agree to be part of its surveillance platform.\u003C\/p\u003E\n\u003Ch3 class=\u0022node-type-blog\u0022\u003E\u003Cstrong\u003EInformation from sites on the open Web\u003C\/strong\u003E\u003C\/h3\u003E\n\u003Cp class=\u0022FirstParagraph\u0022\u003ENearly every website that you visit that has a \u0022Like\u0022 button is actually encouraging your browser to tell Facebook about your browsing habits. Even if you don\u0027t click on the \u0022Like\u0022 button, displaying it requires your browser to send a request to Facebook\u0027s servers for the \u0022Like\u0022 button itself. That request includes \u003Ca href=\u0022https:\/\/en.wikipedia.org\/wiki\/HTTP_referer\u0022\u003Einformation\u003C\/a\u003E mentioning the name of the page you are visiting and any Facebook-specific \u003Ca href=\u0022https:\/\/en.wikipedia.org\/wiki\/HTTP_cookie\u0022\u003Ecookies\u003C\/a\u003E your browser might have collected. (See \u003Ca href=\u0022https:\/\/www.facebook.com\/help\/186325668085084\u0022\u003EFacebook\u0027s own description of this process\u003C\/a\u003E.) This is called a \u0022third-party request.\u0022\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EThis makes it possible for Facebook to create a detailed picture of your browsing history \u2014 even if you\u0027ve never even visited Facebook directly, let alone signed up for a Facebook account.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EThink about most of the web pages you\u0027ve visited \u2014 how many of them \u003Cem\u003Edon\u0027t\u003C\/em\u003E have a \u0022Like\u0022 button? If you administer a website and you include a \u0022Like\u0022 button on every page, you\u0027re helping Facebook to build profiles of your visitors, even those who have opted out of the social network. Facebook\u2019s \u003Ca href=\u0022https:\/\/developers.facebook.com\/docs\/plugins\/\u0022\u003E\u201cShare\u201d buttons\u003C\/a\u003E on other sites \u2014 along with \u003Ca href=\u0022https:\/\/www.facebook.com\/business\/learn\/facebook-ads-pixel\u0022\u003Eother tools\u003C\/a\u003E \u2014 work a bit differently from the \u201cLike\u201d button, but do effectively the same thing.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EThe profiles that Facebook builds on non-users don\u0027t necessarily include so-called \u0022personally identifiable information\u0022 (PII) like names or email addresses. But they do include fairly unique patterns. Using \u003Ca href=\u0022https:\/\/dev.chromium.org\/for-testers\/providing-network-details\u0022\u003EChromium\u0027s NetLog dumping\u003C\/a\u003E, I performed a simple five-minute browsing test last week that included visits to various sites \u2014 but not Facebook. In that test, the PII-free data that was sent to Facebook included information about which news articles I was reading, my dietary preferences, and my hobbies.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EGiven the precision of this kind of mapping and targeting, \u0022PII\u0022 isn\u2019t necessary to reveal my identity. How many vegans examine specifications for computer hardware from the ACLU\u0027s offices while reading about Cambridge Analytica? Anyway, if Facebook combined that information with the \u0022web bug\u0022 from the email mentioned above \u2014 which \u003Cem\u003Eis\u003C\/em\u003E clearly linked to my name and e-mail address \u2014 no guesswork would be required.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EI\u0027d be shocked if Facebook were not connecting those dots given the goals \u003Ca href=\u0022https:\/\/www.facebook.com\/about\/privacy\/cookies\u0022\u003Ethey claim for data collection\u003C\/a\u003E:\u003C\/p\u003E\n\u003Cblockquote\u003E\n\u003Cp class=\u0022MsoBlockText\u0022\u003EWe use the information we have to improve our advertising and measurement systems so we can show you relevant ads on and off our Services and measure the effectiveness and reach of ads and services.\u003C\/p\u003E\n\u003C\/blockquote\u003E\n\u003Cp class=\u0022FirstParagraph\u0022\u003EThis is, in essence, exactly what Cambridge Analytica did.\u003C\/p\u003E\n\u003Ch3 class=\u0022node-type-blog\u0022\u003E\u003Cstrong\u003EConsent\u003C\/strong\u003E\u003C\/h3\u003E\n\u003Cp class=\u0022FirstParagraph\u0022\u003EFacebook and other tech companies often deflect accusations against excessive data collection by arguing \u0022consent\u0022 \u2014 that they harvest and use data with the consent of the users involved.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EBut even if we accept that clicking through a \u0022Terms of Service\u0022 that \u003Ca href=\u0022https:\/\/tosdr.org\/\u0022\u003Eno one reads\u003C\/a\u003E can actually constitute true consent, even if we ignore the fact that these terms are overwhelmingly one-sided and non-negotiable, and even if we accept that it\u0027s meaningful for people to give consent when sharing data about other people who may have also opted in \u2014 what is the recourse for someone who has not opted into these systems at all?\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EAre those of us who have explicitly avoided agreeing to the Facebook terms of service simply fair game for an industry-wide surveillance and targeting network?\u003C\/p\u003E\n\u003Ch3 class=\u0022node-type-blog\u0022\u003E\u003Cstrong\u003EPrivilege\u003C\/strong\u003E\u003C\/h3\u003E\n\u003Cp class=\u0022FirstParagraph\u0022\u003EI don\u2019t mean to critique people who have created a Facebook profile or suggest they deserve whatever they get.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EMy ability to avoid Facebook comes from privilege \u2014 I have existing social contacts with whom I know how to stay in touch without using Facebook\u0027s network. My job does not require that I use Facebook. I can afford the time and expense to communicate with my electoral representatives and political allies via other channels.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EMany people do not have these privileges and are compelled to \u0022opt in\u0022 on Facebook\u0027s non-negotiable terms.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EMany journalists, organizers, schools, politicians, and others who have good reasons to oppose Facebook\u0027s centralized social control feel compelled by Facebook\u0027s reach and scale to participate in their practices, even those we know to be harmful. That includes the ACLU.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EPrivacy should not be a luxury good, and while I\u0027m happy to encourage people to opt out of these subtle and socially fraught arrangements, I do not argue that anyone who has signed up has somehow relinquished concerns about their privacy. We need to evaluate privacy concerns in their full social contexts. These are not problems that can be resolved on an individual level, because of the interpersonal nature of much of this data and the complexities of the tradeoffs involved.\u003C\/p\u003E\n\u003Ch3 class=\u0022node-type-blog\u0022\u003E\u003Cstrong\u003ETechnical countermeasures\u003C\/strong\u003E\u003C\/h3\u003E\n\u003Cp class=\u0022FirstParagraph\u0022\u003EWhile they may not solve the problem, there are some technical steps people can take to limit the scope of these surveillance practices. For example, some web browsers do not send \u0022third-party cookies\u0022 by default, or \u003Ca href=\u0022https:\/\/wiki.mozilla.org\/Thirdparty\u0022\u003Ethey scope cookies \u003C\/a\u003Eso that centralized surveillance doesn\u0027t get a single view of one user. The most privacy-preserving modern browser is \u003Ca href=\u0022https:\/\/www.torproject.org\/\u0022\u003Ethe Tor Browser\u003C\/a\u003E, which everyone should have installed and available, even if it\u0027s not the browser they choose to use every day. It limits the surveillance ability of systems that you have not signed up for to track you as you move around the web.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EYou can also modify some browsers \u2014 for example, with plug-ins for \u003Ca href=\u0022https:\/\/requestpolicycontinued.github.io\/\u0022\u003EFirefox\u003C\/a\u003E and \u003Ca href=\u0022https:\/\/chrome.google.com\/webstore\/detail\/umatrix\/ogfcmafjalglgifnmanfmnieipoejdcf\u0022\u003EChrome\u003C\/a\u003E \u2014 so that they \u003Ca href=\u0022https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/umatrix\/\u0022\u003Edo not send third-party\u003C\/a\u003E \u003Ca href=\u0022https:\/\/requestpolicycontinued.github.io\/\u0022\u003Erequests at all\u003C\/a\u003E. Firefox is also exploring even more \u003Ca href=\u0022https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/multi-account-containers\/\u0022\u003Eprivacy-preserving techniques\u003C\/a\u003E\u003Ca href=\u0022https:\/\/addons.mozilla.org\/en-US\/firefox\/addon\/multi-account-containers\/\u0022\u003E. \u003C\/a\u003E\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EIt can\u2019t be denied, though, that these tools are harder to use than the web browsers most people are accustomed to, and they create barriers to some online activities. (For example, logging in to \u003Ca href=\u0022https:\/\/offcampushousing.uconn.edu\/login\u0022\u003Esome sites\u003C\/a\u003E and accessing some \u003Ca href=\u0022https:\/\/filestore.community.support.microsoft.com\/api\/images\/0253d8fb-b050-401a-834d-9d80a99c0b12\u0022\u003Eweb applications\u003C\/a\u003E is impossible without third-party cookies.)\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003ESome website operators take their visitors\u0027 privacy more seriously than others, by reducing the amount of third-party requests. For example, it\u0027s possible to display \u0022share on Facebook\u0022 or \u0022Like\u0022 buttons without sending user requests to Facebook in the first place. The ACLU\u0027s own website does this because we believe that the right to read with privacy is a fundamental protection for civic discourse.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EIf you are responsible for running a website, try browsing it with a third-party-blocking extension turned on. Think about how much information you\u0027re requiring your users to send to third parties as a condition for using your site. If you care about being a good steward of your visitors\u0027 data, you can re-design your website to reduce this kind of leakage.\u003C\/p\u003E\n\u003Ch3 class=\u0022node-type-blog\u0022\u003E\u003Cstrong\u003EOpting out?\u003C\/strong\u003E\u003C\/h3\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003ESome advertisers claim that you can \u0022opt out\u0022 of their targeted advertising, and even offer \u003Ca href=\u0022http:\/\/optout.aboutads.info\/\u0022\u003Ea centralized place meant to help you do so\u003C\/a\u003E.\u00a0However, my experience with these tools isn\u0027t a positive one. They don\u0027t appear to work all of the time. (In a recent experiment I conducted, two advertisers\u2019 opt-out mechanisms failed to take effect.) And while advertisers claim to allow the user to opt out of \u0022interest-based ads,\u0022 it\u0027s not clear that the opt-outs govern data collection itself, rather than just the use of the collected data for displaying ads. Moreover, opting out on their terms requires the use of third-party cookies, thereby enabling another mechanism that other advertisers can then exploit.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EIt\u0027s also not clear how they function over time: How frequently do I need to take these steps? Do they expire? How often should I check back to make sure I\u2019m still opted out? I\u0027d much prefer an approach requiring me to opt \u003Cem\u003Ein\u003C\/em\u003E to surveillance and targeting.\u003C\/p\u003E\n\u003Ch3 class=\u0022node-type-blog\u0022\u003E\u003Cstrong\u003EFix the surveillance economy, not just Facebook\u003C\/strong\u003E\u003C\/h3\u003E\n\u003Cp class=\u0022FirstParagraph\u0022\u003EThese are just a few of the mechanisms that enable online tracking. Facebook is just one culprit in this online \u0022surveillance economy,\u0022 albeit a massive one \u2014 the company owns \u003Ca href=\u0022https:\/\/www.instagram.com\/\u0022\u003EInstagram\u003C\/a\u003E, \u003Ca href=\u0022https:\/\/atlassolutions.com\/\u0022\u003EAtlas\u003C\/a\u003E, \u003Ca href=\u0022https:\/\/www.whatsapp.com\/\u0022\u003EWhatsApp\u003C\/a\u003E, and dozens of other internet and technology companies and services. But it\u2019s not the only player in this space. Google\u2019s business model also relies on this kind of surveillance, and there are dozens of smaller players as well.\u003C\/p\u003E\n\u003Cp class=\u0022MsoBodyText\u0022\u003EAs we work to address the fallout from the current storm around Facebook and Cambridge Analytica, we can\u0027t afford to lose sight of these larger mechanisms at play. Cambridge Analytica\u0027s failures and mistakes are inherent to Facebook\u0027s business model. We need to seriously challenge the social structures that encourage people to opt in to this kind of surveillance. At the same time, we also need to protect those of us who manage to opt out.\u003C\/p\u003E","image":{"@type":"ImageObject","url":"https:\/\/www.aclu.org\/sites\/default\/files\/field_image\/web18-facebook-1160x768.jpg","width":{"@type":"Intangible","name":"1160"},"height":{"@type":"Intangible","name":"768"}},"publisher":{"@type":"Organization","name":"American Civil Liberties Union","logo":{"@type":"ImageObject","url":"https:\/\/www.aclu.org\/sites\/all\/themes\/custom\/aclu\/images\/logos\/logo-schema-json-ld.png","width":{"@type":"Intangible","name":145},"height":{"@type":"Intangible","name":60}}},"mainEntityOfPage":{"@type":"WebPage","@id":"https:\/\/www.aclu.org\/blog"},"keywords":"Internet Privacy, Privacy \u0026amp; Technology, Consumer Privacy","author":[{"@type":"Person","name":"Daniel Kahn Gillmor"}]}
+ ]]>
+ </script>
+ <div class="region region-page-bottom">
+ <div class="inner">
+ <!-- SiteCatalyst code version: AppMeasurement 1.6.1
+Copyright 1996-2018 Adobe, Inc. -->
+ <script type="text/javascript" src="/sites/all/libraries/sitecatalyst/AppMeasurement.js?p7vly2"></script>
+ <script type="text/javascript">
+ //<![CDATA[
+ <!--
+ if (typeof s !== 'undefined') {
+ s.pageName="blog:April 5 2018:Facebook Is Tracking Me Even Though I\u2019m Not on Facebook";
+ s.prop4="Blog Post";
+ s.prop5="Facebook Is Tracking Me Even Though I\u2019m Not on Facebook";
+ s.prop7="";
+ s.prop28="Daniel Kahn Gillmor";
+ s.prop30="";
+ s.list1="Internet Privacy, Privacy \u0026amp; Technology, Consumer Privacy";
+ s.prop12="www.aclu.org";
+ /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
+ var s_code=s.t();if(s_code)document.write(s_code)}//-->
+ //]]>
+ </script>
+ <script type="text/javascript">
+ //<![CDATA[
+ <!--
+ if(navigator.appVersion.indexOf('MSIE')>=0)document.write(unescape('%3C')+'\!-'+'-')
+ //-->
+ //]]>
+ </script> <noscript><img src="https://smetrics.aclu.org/b/ss/aclumain/1/H.27.5/7077111" height="1" width="1" alt="" /></noscript> <!--/DO NOT REMOVE/-->
+ <!-- End SiteCatalyst code version: AppMeasurement 1.6.1 -->
+ </div>
+ </div><!--[if lte IE 9]>
+<script src="https://www.aclu.org/sites/default/files/advagg_js/js__swwNp8uYzlQSfaQZggyXUVgR3xX6hndYCbm0OzNQ3Uo__J5c5rUy0xx1jPW79TyLu-tguE83mpB72BCzpp29JDG0__VITBFqYjCWZ55Wpxq9xcXRqOD9xxPlR-vPRDis8bQN4.js#ie9-" onload=";if(jQuery.isFunction(jQuery.holdReady)){jQuery.holdReady(!0)};function advagg_mod_1(){advagg_mod_1.count=++advagg_mod_1.count||1;try{if(advagg_mod_1.count<=40){init_drupal_core_settings();advagg_mod_1.count=100}}catch(d){if(advagg_mod_1.count>=40){throw d}
+else{window.setTimeout(advagg_mod_1,1)}}};function advagg_mod_1_check(){if(window.init_drupal_core_settings&&window.jQuery&&window.Drupal){advagg_mod_1()}
+else{window.setTimeout(advagg_mod_1_check,1)}};advagg_mod_1_check();"></script>
+<![endif]-->
+ <!--[if gt IE 9]>
+<script src="https://www.aclu.org/sites/default/files/advagg_js/js__swwNp8uYzlQSfaQZggyXUVgR3xX6hndYCbm0OzNQ3Uo__J5c5rUy0xx1jPW79TyLu-tguE83mpB72BCzpp29JDG0__VITBFqYjCWZ55Wpxq9xcXRqOD9xxPlR-vPRDis8bQN4.js#ie10+" defer="defer" onload=";if(jQuery.isFunction(jQuery.holdReady)){jQuery.holdReady(!0)};function advagg_mod_1(){advagg_mod_1.count=++advagg_mod_1.count||1;try{if(advagg_mod_1.count<=40){init_drupal_core_settings();advagg_mod_1.count=100}}catch(d){if(advagg_mod_1.count>=40){throw d}
+else{window.setTimeout(advagg_mod_1,1)}}};function advagg_mod_1_check(){if(window.init_drupal_core_settings&&window.jQuery&&window.Drupal){advagg_mod_1()}
+else{window.setTimeout(advagg_mod_1_check,1)}};advagg_mod_1_check();"></script>
+<![endif]-->
+ <!--[if !IE]><!-->
+ <script src="https://www.aclu.org/sites/default/files/advagg_js/js__swwNp8uYzlQSfaQZggyXUVgR3xX6hndYCbm0OzNQ3Uo__J5c5rUy0xx1jPW79TyLu-tguE83mpB72BCzpp29JDG0__VITBFqYjCWZ55Wpxq9xcXRqOD9xxPlR-vPRDis8bQN4.js" defer="defer" onload=";if(jQuery.isFunction(jQuery.holdReady)){jQuery.holdReady(!0)};function advagg_mod_1(){advagg_mod_1.count=++advagg_mod_1.count||1;try{if(advagg_mod_1.count&lt;=40){init_drupal_core_settings();advagg_mod_1.count=100}}catch(d){if(advagg_mod_1.count&gt;=40){throw d} else{window.setTimeout(advagg_mod_1,1)}}};function advagg_mod_1_check(){if(window.init_drupal_core_settings&amp;&amp;window.jQuery&amp;&amp;window.Drupal){advagg_mod_1()} else{window.setTimeout(advagg_mod_1_check,1)}};advagg_mod_1_check();"></script> <!--<![endif]-->
+ <script src="https://www.aclu.org/sites/default/files/advagg_js/js__KIOxqGQgSG_MNdzEXnXctFChj8F419LLh-pk74jqifE__L-MIV3EoYrT27xwlbqTCaW4Fnzl1Y0UD5Vas-oPZE-s__VITBFqYjCWZ55Wpxq9xcXRqOD9xxPlR-vPRDis8bQN4.js" defer="defer"></script>
+ <script src="https://www.aclu.org/sites/default/files/advagg_js/js__EkkosXTt0cnwMaY9XDJNynP2YPv5JANpb3OmTs5oxB4__qZR9s22Z3rj0kf4R4Ym7Aw_dActYuqmQr12cw6Kz9fA__VITBFqYjCWZ55Wpxq9xcXRqOD9xxPlR-vPRDis8bQN4.js" defer="defer"></script>
+ <script>
+ <![CDATA[
+ function init_drupal_core_settings() {;jQuery.extend(Drupal.settings,{'basePath':'\/','pathPrefix':'','ajaxPageState':{'theme':'aclu','theme_token':'L129Z08-v-ipJ2mCsh7GK1-m0G8Gu1h_WGmZCtI_z4A'},'aclu_statistics':{'data':{'nid':'67865'},'url':'\/sites\/all\/modules\/custom\/aclu_statistics\/aclu_statistics_counter.php'},'colorbox':{'transition':'none','speed':'350','opacity':'0.90','slideshow':!1,'slideshowAuto':!0,'slideshowSpeed':'2500','slideshowStart':'start slideshow','slideshowStop':'stop slideshow','current':'{current} of {total}','previous':'\u00ab Prev','next':'Next \u00bb','close':'Close','overlayClose':!0,'maxWidth':'98%','maxHeight':'98%','initialWidth':'300','initialHeight':'250','fixed':!0,'scrolling':!1,'mobiledetect':!1,'mobiledevicewidth':'480px'},'mytube':{'enable_js_api':1},'CToolsModal':{'modalSize':{'type':'scale','width':'.9','height':'.9','addWidth':0,'addHeight':0,'contentRight':25,'contentBottom':75},'modalOptions':{'opacity':'.55','background-color':'#FFF'},'animationSpeed':'fast','modalTheme':'CToolsModalDialog','throbberTheme':'CToolsModalThrobber'},'splashify':{'js_splash_always':'0','js_splash_session_only':'0','js_splash_timestamp':1517583933,'js_expire_after':86399913600,'js_mode':'colorbox','js_mode_settings':{'mode':'random','system_splash':'','urls':['\/aclu_promotions\/lightbox\/standard_1'],'total_urls':1,'size_width':'800','size_height':'300'},'js_disable_referrer_check':0,'js_hide_on_screen_width':1,'js_hide_width':'767'},'acluSocialSiteCatalystClicks':{'nodeterm_id':'n67865','nodeterm_name':'Facebook Is Tracking Me Even Though I\u2019m Not on Facebook','jump':'0','anonymous_user':!0},'tagmap':[],'urlIsAjaxTrusted':{'\/comment\/reply\/67865':!0,'\/blog\/privacy-technology\/internet-privacy\/facebook-tracking-me-even-though-im-not-facebook':!0,'\/issues\/capital-punishment\/mental-illness-and-death-penalty':!0},'acluSocial':{'tou_text':'\u003Cp\u003EOur goal is to provide a forum where readers can express their views on posts and on comments made by other people. Comments will not appear on the site until they have been approved. We do not edit comments; they are either approved or rejected. We will not approve comments that are off-topic or contain violent or threatening language, advertising or commercial promotions, links, spam, efforts to solicit personal information from users of our website, or the posting of other people\u2019s personal information without consent.\u003Cp\u003E\n\n\u003Cp\u003EWe are not able to respond to inquiries, complaints or requests for assistance sent to the comment section. Requests for legal assistance left in the comments will not receive a response or be published.\u003C\/p\u003E\n\n\u003Cp\u003EThe ACLU makes no representation about the accuracy of any information in the comment section and disclaims any liability for information in this section.\u003C\/p\u003E'},'fitvids':{'custom_domains':['iframe[src^=\u0027http:\/\/youtube-nocookie.com\u0027]','iframe[src^=\u0027https:\/\/youtube-nocookie.com\u0027]','iframe[src^=\u0027https:\/\/content.newsbound.com\u0027]','iframe[src^=\u0027https:\/\/embed-ssl.ted.com\u0027]','iframe[src^=\u0027https:\/\/www.facebook.com\u0027]','iframe[src^=\u0027https:\/\/embed.theguardian.com\u0027]'],'selectors':['body\r','.video'],'simplifymarkup':0},'aclu_social':{'node_id':'67865','node_title':'Facebook Is Tracking Me Even Though I\u2019m Not on Facebook'},'aclu_promotions':{'header_banner':'2','header_banner_eoy':'2','bottom_banner':'0'},'superfish':{'1':{'id':'1','sf':{'animation':{'opacity':'show','height':'show'},'speed':0,'autoArrows':!1,'dropShadows':!1,'disableHI':!1},'plugins':{'supposition':!1,'bgiframe':!1,'supersubs':{'minWidth':'12','maxWidth':'27','extraWidth':1}}}},'acluTopicsDropdownMenu':{'topicsJsonUrl':'https:\/\/www.aclu.org\/sites\/default\/files\/aclu_topics_dropdown.json?1524242426'}});
+ if(jQuery.isFunction(jQuery.holdReady)){jQuery.holdReady(false);}} if(window.jQuery && window.Drupal){init_drupal_core_settings();}
+ ]]>
+ </script>
+ <script defer="defer" src="/sites/all/libraries/iframe-resizer/js/iframeResizer.min.js?p7vly2"></script>
+ <script src="https://www.aclu.org/sites/default/files/advagg_js/js__6HycQHHRWXZk4rT92IRL7rjUaQmVTPehv-zv1UN2O14__4R1PUkClJ0nV3_5DROl3oALgi-wYg_JrOOVIu2IzUPM__VITBFqYjCWZ55Wpxq9xcXRqOD9xxPlR-vPRDis8bQN4.js" defer="defer"></script>
+ </body>
+</html>
diff --git a/test/test-pages/basic-tags-cleaning/expected.html b/test/test-pages/basic-tags-cleaning/expected.html
index 2701fed..c66b95c 100644
--- a/test/test-pages/basic-tags-cleaning/expected.html
+++ b/test/test-pages/basic-tags-cleaning/expected.html
@@ -12,7 +12,6 @@
<p>Tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat.</p>
-
<p>Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
diff --git a/test/test-pages/bbc-1/expected-images.json b/test/test-pages/bbc-1/expected-images.json
index 58269b1..137b422 100644
--- a/test/test-pages/bbc-1/expected-images.json
+++ b/test/test-pages/bbc-1/expected-images.json
@@ -1 +1 @@
-{"0":"http:\/\/ichef.bbci.co.uk\/news\/1024\/cpsprodpb\/3D8B\/production\/_84455751_84455749.jpg","1":"http:\/\/ichef.bbci.co.uk\/news\/555\/cpsprodpb\/462D\/production\/_84456971_gettyimages-167501087.jpg","2":"http:\/\/ichef.bbci.co.uk\/news\/555\/media\/images\/76020000\/jpg\/_76020974_line976.jpg","3":"http:\/\/ichef-1.bbci.co.uk\/news\/555\/cpsprodpb\/6D3D\/production\/_84456972_p072315al-0500.jpg","5":"http:\/\/ichef-1.bbci.co.uk\/news\/555\/cpsprodpb\/142FD\/production\/_84458628_shirtreuters.jpg"} \ No newline at end of file
+{"0":"http:\/\/ichef.bbci.co.uk\/news\/555\/cpsprodpb\/462D\/production\/_84456971_gettyimages-167501087.jpg","1":"http:\/\/ichef.bbci.co.uk\/news\/555\/media\/images\/76020000\/jpg\/_76020974_line976.jpg","2":"http:\/\/ichef-1.bbci.co.uk\/news\/555\/cpsprodpb\/6D3D\/production\/_84456972_p072315al-0500.jpg","4":"http:\/\/ichef-1.bbci.co.uk\/news\/555\/cpsprodpb\/142FD\/production\/_84458628_shirtreuters.jpg"} \ No newline at end of file
diff --git a/test/test-pages/bbc-1/expected-metadata.json b/test/test-pages/bbc-1/expected-metadata.json
index 7569b8f..545e317 100644
--- a/test/test-pages/bbc-1/expected-metadata.json
+++ b/test/test-pages/bbc-1/expected-metadata.json
@@ -1,5 +1,5 @@
{
- "Title": "Obama admits US gun laws are his 'biggest frustration'",
+ "Title": "Obama admits US gun laws are his 'biggest frustration' - BBC News",
"Author": null,
- "Excerpt": "President Barack Obama tells the BBC his failure to pass"
+ "Excerpt": "President Barack Obama tells the BBC his failure to pass \"common sense gun safety laws\" is the greatest frustration of his presidency."
}
diff --git a/test/test-pages/blogger/expected-images.json b/test/test-pages/blogger/expected-images.json
index fc0d8bf..aa14e4f 100644
--- a/test/test-pages/blogger/expected-images.json
+++ b/test/test-pages/blogger/expected-images.json
@@ -1 +1 @@
-["https:\/\/1.bp.blogspot.com\/-YIPC5jkXkDE\/Vy7YPSqFKWI\/AAAAAAAAAxI\/a7D6Ji2GxoUvcrwUkI4RLZcr2LFQEJCTACLcB\/w1200-h630-p-nu\/block-diagram.png","https:\/\/1.bp.blogspot.com\/-YIPC5jkXkDE\/Vy7YPSqFKWI\/AAAAAAAAAxI\/a7D6Ji2GxoUvcrwUkI4RLZcr2LFQEJCTACLcB\/s640\/block-diagram.png","https:\/\/1.bp.blogspot.com\/-k3naUT3uXao\/Vy7WFac246I\/AAAAAAAAAw8\/mePy_ostO8QJra5ZJrbP2WGhTlJ0B_r8gCLcB\/s640\/schematic-from-hell.png","https:\/\/2.bp.blogspot.com\/-kIekczO693g\/Vy7dBqYifXI\/AAAAAAAAAxc\/hMNJBs5bedIQOrBzzkhq4gbmhR-n58EQwCLcB\/s400\/graph-labels.png"] \ No newline at end of file
+{"0":"https:\/\/1.bp.blogspot.com\/-YIPC5jkXkDE\/Vy7YPSqFKWI\/AAAAAAAAAxI\/a7D6Ji2GxoUvcrwUkI4RLZcr2LFQEJCTACLcB\/s640\/block-diagram.png","2":"https:\/\/1.bp.blogspot.com\/-k3naUT3uXao\/Vy7WFac246I\/AAAAAAAAAw8\/mePy_ostO8QJra5ZJrbP2WGhTlJ0B_r8gCLcB\/s640\/schematic-from-hell.png","3":"https:\/\/2.bp.blogspot.com\/-kIekczO693g\/Vy7dBqYifXI\/AAAAAAAAAxc\/hMNJBs5bedIQOrBzzkhq4gbmhR-n58EQwCLcB\/s400\/graph-labels.png"} \ No newline at end of file
diff --git a/test/test-pages/blogger/expected.html b/test/test-pages/blogger/expected.html
index 10b4874..ec3a02a 100644
--- a/test/test-pages/blogger/expected.html
+++ b/test/test-pages/blogger/expected.html
@@ -1,27 +1,27 @@
<div id="post-body-932306423056216142" itemprop="description articleBody"><p>
- I've written a couple of posts in the past few months but they were all for </p><a href="http://blog.ioactive.com/search/label/Andrew%20Zonenberg">the blog at work</a><p> so I figured I'm long overdue for one on Silicon Exposed.</p><p><h2>
+ I've written a couple of posts in the past few months but they were all for <a href="http://blog.ioactive.com/search/label/Andrew%20Zonenberg">the blog at work</a> so I figured I'm long overdue for one on Silicon Exposed.</p><h2>
So what's a GreenPak?</h2>
- </p><p> Silego Technology is a fabless semiconductor company located in the SF Bay area, which makes (among other things) a line of programmable logic devices known as GreenPak. Their </p><a href="http://www.silego.com/products/greenpak5.html">5th generation parts</a><p> were just announced, but I started this project before that happened so I'm still targeting the </p><a href="http://www.silego.com/products/greenpak4.html">4th generation</a><p>.</p><p> GreenPak devices are kind of like itty bitty <a href="http://www.cypress.com/products/32-bit-arm-cortex-m-psoc">PSoCs</a> - they have a mixed signal fabric with an ADC, DACs, comparators, voltage references, plus a digital LUT/FF fabric and some typical digital MCU peripherals like counters and oscillators (but no CPU).</p><p> It's actually an interesting architecture - FPGAs (including some devices marketed as CPLDs) are a 2D array of LUTs connected via wires to adjacent cells, and true (product term) CPLDs are a star topology of AND-OR arrays connected by a crossbar. GreenPak, on the other hand, is a star topology of LUTs, flipflops, and analog/digital hard IP connected to a crossbar.</p><p> Without further ado, here's a block diagram showing all the cool stuff you get in the SLG46620V:</p><p><table><tbody><tr><td>
+ <p> Silego Technology is a fabless semiconductor company located in the SF Bay area, which makes (among other things) a line of programmable logic devices known as GreenPak. Their <a href="http://www.silego.com/products/greenpak5.html">5th generation parts</a> were just announced, but I started this project before that happened so I'm still targeting the <a href="http://www.silego.com/products/greenpak4.html">4th generation</a>.</p><p> GreenPak devices are kind of like itty bitty <a href="http://www.cypress.com/products/32-bit-arm-cortex-m-psoc">PSoCs</a> - they have a mixed signal fabric with an ADC, DACs, comparators, voltage references, plus a digital LUT/FF fabric and some typical digital MCU peripherals like counters and oscillators (but no CPU).</p><p> It's actually an interesting architecture - FPGAs (including some devices marketed as CPLDs) are a 2D array of LUTs connected via wires to adjacent cells, and true (product term) CPLDs are a star topology of AND-OR arrays connected by a crossbar. GreenPak, on the other hand, is a star topology of LUTs, flipflops, and analog/digital hard IP connected to a crossbar.</p><p> Without further ado, here's a block diagram showing all the cool stuff you get in the SLG46620V:</p><table readabilityDataTable="0"><tbody><tr><td>
<a href="https://1.bp.blogspot.com/-YIPC5jkXkDE/Vy7YPSqFKWI/AAAAAAAAAxI/a7D6Ji2GxoUvcrwUkI4RLZcr2LFQEJCTACLcB/s1600/block-diagram.png" imageanchor="1"><img height="512" src="https://1.bp.blogspot.com/-YIPC5jkXkDE/Vy7YPSqFKWI/AAAAAAAAAxI/a7D6Ji2GxoUvcrwUkI4RLZcr2LFQEJCTACLcB/s640/block-diagram.png" width="640"></img></a>
</td>
</tr><tr><td>SLG46620V block diagram (from device datasheet)</td>
- </tr></tbody></table>
- They're also tiny (the SLG46620V is a 20-pin 0.4mm pitch STQFN measuring 2x3 mm, and the lower gate count SLG46140V is a mere 1.6x2 mm) and probably the cheapest programmable logic device on the market - $0.50 in low volume and less than $0.40 in larger quantities.</p><p> The Vdd range of GreenPak4 is huge, more like what you'd expect from an MCU than an FPGA! It can run on anything from 1.8 to 5V, although performance is only specified at 1.8, 3.3, and 5V nominal voltages. There's also a dual-rail version that trades one of the GPIO pins for a second power supply pin, allowing you to interface to logic at two different voltage levels.</p><p> To support low-cost/space-constrained applications, they even have the configuration memory on die. It's one-time programmable and needs external Vpp to program (presumably Silego didn't want to waste die area on charge pumps that would only be used once) but has a SRAM programming mode for prototyping.</p><p> The best part is that the development software (GreenPak Designer) is free of charge and provided for all major operating systems including Linux! Unfortunately, the only supported design entry method is schematic entry and there's no way to write your design in a HDL.</p><p> While schematics may be fine for quick tinkering on really simple designs, they quickly get unwieldy. The nightmare of a circuit shown below is just a bunch of counters hooked up to LEDs that blink at various rates.</p><p><table><tbody><tr><td>
+ </tr></tbody></table><p>
+ They're also tiny (the SLG46620V is a 20-pin 0.4mm pitch STQFN measuring 2x3 mm, and the lower gate count SLG46140V is a mere 1.6x2 mm) and probably the cheapest programmable logic device on the market - $0.50 in low volume and less than $0.40 in larger quantities.</p><p> The Vdd range of GreenPak4 is huge, more like what you'd expect from an MCU than an FPGA! It can run on anything from 1.8 to 5V, although performance is only specified at 1.8, 3.3, and 5V nominal voltages. There's also a dual-rail version that trades one of the GPIO pins for a second power supply pin, allowing you to interface to logic at two different voltage levels.</p><p> To support low-cost/space-constrained applications, they even have the configuration memory on die. It's one-time programmable and needs external Vpp to program (presumably Silego didn't want to waste die area on charge pumps that would only be used once) but has a SRAM programming mode for prototyping.</p><p> The best part is that the development software (GreenPak Designer) is free of charge and provided for all major operating systems including Linux! Unfortunately, the only supported design entry method is schematic entry and there's no way to write your design in a HDL.</p><p> While schematics may be fine for quick tinkering on really simple designs, they quickly get unwieldy. The nightmare of a circuit shown below is just a bunch of counters hooked up to LEDs that blink at various rates.</p><table readabilityDataTable="0"><tbody><tr><td>
<a href="https://1.bp.blogspot.com/-k3naUT3uXao/Vy7WFac246I/AAAAAAAAAw8/mePy_ostO8QJra5ZJrbP2WGhTlJ0B_r8gCLcB/s1600/schematic-from-hell.png" imageanchor="1"><img height="334" src="https://1.bp.blogspot.com/-k3naUT3uXao/Vy7WFac246I/AAAAAAAAAw8/mePy_ostO8QJra5ZJrbP2WGhTlJ0B_r8gCLcB/s640/schematic-from-hell.png" width="640"></img></a>
</td>
</tr><tr><td>Schematic from hell!</td>
- </tr></tbody></table>
- As if this wasn't enough of a problem, the largest GreenPak4 device (the SLG46620V) is split into two halves with limited routing between them, and the GUI doesn't help the user manage this complexity at all - you have to draw your schematic in two halves and add "cross connections" between them.</p><p> The icing on the cake is that schematics are a pain to diff and collaborate on. Although GreenPak schematics are XML based, which is a touch better than binary, who wants to read a giant XML diff and try to figure out what's going on in the circuit?</p><p> This isn't going to be a post on the quirks of Silego's software, though - that would be boring. As it turns out, there's one more exciting feature of these chips that I didn't mention earlier: the configuration bitstream is 100% documented in the device datasheet! This is unheard of in the programmable logic world. As Nick of Arachnid Labs <a href="http://www.arachnidlabs.com/blog/2015/03/30/greenpak/">says</a>, the chip is "just dying for someone to write a VHDL or Verilog compiler for it". As you can probably guess by from the title of this post, I've been busy doing exactly that.</p><p><h2>
+ </tr></tbody></table><p>
+ As if this wasn't enough of a problem, the largest GreenPak4 device (the SLG46620V) is split into two halves with limited routing between them, and the GUI doesn't help the user manage this complexity at all - you have to draw your schematic in two halves and add "cross connections" between them.</p><p> The icing on the cake is that schematics are a pain to diff and collaborate on. Although GreenPak schematics are XML based, which is a touch better than binary, who wants to read a giant XML diff and try to figure out what's going on in the circuit?</p><p> This isn't going to be a post on the quirks of Silego's software, though - that would be boring. As it turns out, there's one more exciting feature of these chips that I didn't mention earlier: the configuration bitstream is 100% documented in the device datasheet! This is unheard of in the programmable logic world. As Nick of Arachnid Labs <a href="http://www.arachnidlabs.com/blog/2015/03/30/greenpak/">says</a>, the chip is "just dying for someone to write a VHDL or Verilog compiler for it". As you can probably guess by from the title of this post, I've been busy doing exactly that.</p><h2>
Great! How does it work?</h2>
- </p><p> Rather than wasting time writing a synthesizer, I decided to write a GreenPak technology library for Clifford Wolf's excellent open source synthesis tool, </p><a href="http://www.clifford.at/yosys/">Yosys</a><p>, and then make a place-and-route tool to turn that into a final netlist. The post-PAR netlist can then be loaded into GreenPak Designer in order to program the device.</p><p> The first step of the process is to run the "synth_greenpak4" Yosys flow on the Verilog source. This runs a generic RTL synthesis pass, then some coarse-grained extraction passes to infer shift register and counter cells from behavioral logic, and finally maps the remaining logic to LUT/FF cells and outputs a JSON-formatted netlist.</p><p> Once the design has been synthesized, my tool (named, surprisingly, gp4par) is then launched on the netlist. It begins by parsing the JSON and constructing a directed graph of cell objects in memory. A second graph, containing all of the primitives in the device and the legal connections between them, is then created based on the device specified on the command line. (As of now only the SLG46620V is supported; the SLG46621V can be added fairly easily but the SLG46140V has a slightly different microarchitecture which will require a bit more work to support.)</p><p> After the graphs are generated, each node in the netlist graph is assigned a numeric label identifying the type of cell and each node in the device graph is assigned a list of legal labels: for example, an I/O buffer site is legal for an input buffer, output buffer, or bidirectional buffer.</p><p><table><tbody><tr><td>
+ <p> Rather than wasting time writing a synthesizer, I decided to write a GreenPak technology library for Clifford Wolf's excellent open source synthesis tool, <a href="http://www.clifford.at/yosys/">Yosys</a>, and then make a place-and-route tool to turn that into a final netlist. The post-PAR netlist can then be loaded into GreenPak Designer in order to program the device.</p><p> The first step of the process is to run the "synth_greenpak4" Yosys flow on the Verilog source. This runs a generic RTL synthesis pass, then some coarse-grained extraction passes to infer shift register and counter cells from behavioral logic, and finally maps the remaining logic to LUT/FF cells and outputs a JSON-formatted netlist.</p><p> Once the design has been synthesized, my tool (named, surprisingly, gp4par) is then launched on the netlist. It begins by parsing the JSON and constructing a directed graph of cell objects in memory. A second graph, containing all of the primitives in the device and the legal connections between them, is then created based on the device specified on the command line. (As of now only the SLG46620V is supported; the SLG46621V can be added fairly easily but the SLG46140V has a slightly different microarchitecture which will require a bit more work to support.)</p><p> After the graphs are generated, each node in the netlist graph is assigned a numeric label identifying the type of cell and each node in the device graph is assigned a list of legal labels: for example, an I/O buffer site is legal for an input buffer, output buffer, or bidirectional buffer.</p><table readabilityDataTable="0"><tbody><tr><td>
<a href="https://2.bp.blogspot.com/-kIekczO693g/Vy7dBqYifXI/AAAAAAAAAxc/hMNJBs5bedIQOrBzzkhq4gbmhR-n58EQwCLcB/s1600/graph-labels.png" imageanchor="1"><img height="141" src="https://2.bp.blogspot.com/-kIekczO693g/Vy7dBqYifXI/AAAAAAAAAxc/hMNJBs5bedIQOrBzzkhq4gbmhR-n58EQwCLcB/s400/graph-labels.png" width="400"></img></a>
</td>
</tr><tr><td>Example labeling for a subset of the netlist and device graphs</td>
- </tr></tbody></table>
- The labeled nodes now need to be placed. The initial placement uses a simple greedy algorithm to create a valid (although not necessarily optimal or even routable) placement:</p><br></br><ol><li>Loop over the cells in the netlist. If any cell has a LOC constraint, which locks the cell to a specific physical site, attempt to assign the node to the specified site. If the specified node is the wrong type, doesn't exist, or is already used by another constrained node, the constraint is invalid so fail with an error.</li>
+ </tr></tbody></table><p>
+ The labeled nodes now need to be placed. The initial placement uses a simple greedy algorithm to create a valid (although not necessarily optimal or even routable) placement:</p><ol><li>Loop over the cells in the netlist. If any cell has a LOC constraint, which locks the cell to a specific physical site, attempt to assign the node to the specified site. If the specified node is the wrong type, doesn't exist, or is already used by another constrained node, the constraint is invalid so fail with an error.</li>
<li>Loop over all of the unconstrained cells in the netlist and assign them to the first unused site with the right label. If none are available, the design is too big for the device so fail with an error.</li>
</ol><p>
- Once the design is placed, the placement optimizer then loops over the design and attempts to improve it. A simulated annealing algorithm is used, where changes to the design are accepted unconditionally if they make the placement better, and with a random, gradually decreasing probability if they make it worse. The optimizer terminates when the design receives a perfect score (indicating an optimal placement) or if it stops making progress for several iterations. Each iteration does the following:</p><br></br><ol><li>Compute a score for the current design based on the number of unroutable nets, the amount of routing congestion (number of nets crossing between halves of the device), and static timing analysis (not yet implemented, always zero).</li>
+ Once the design is placed, the placement optimizer then loops over the design and attempts to improve it. A simulated annealing algorithm is used, where changes to the design are accepted unconditionally if they make the placement better, and with a random, gradually decreasing probability if they make it worse. The optimizer terminates when the design receives a perfect score (indicating an optimal placement) or if it stops making progress for several iterations. Each iteration does the following:</p><ol><li>Compute a score for the current design based on the number of unroutable nets, the amount of routing congestion (number of nets crossing between halves of the device), and static timing analysis (not yet implemented, always zero).</li>
<li>Make a list of nodes that contributed to this score in some way (having some attached nets unroutable, crossing to the other half of the device, or failing timing).</li>
<li>Remove nodes from the list that are LOC'd to a specific location since we're not allowed to move them.</li>
<li>Remove nodes from the list that have only one legal placement in the device (for example, oscillator hard IP) since there's nowhere else for them to go.</li>
@@ -34,24 +34,24 @@
<li>Re-compute the score for the design. If it's better, accept this change and start the next iteration.</li>
<li>If the score is worse, accept it with a random probability which decreases as the iteration number goes up. If the change is not accepted, restore the previous placement.</li>
</ol><p>
- After optimization, the design is checked for routability. If any edges in the netlist graph don't correspond to edges in the device graph, the user probably asked for something impossible (for example, trying to hook a flipflop's output to a comparator's reference voltage input) so fail with an error.</p><p> The design is then routed. This is quite simple due to the crossbar structure of the device. For each edge in the netlist:</p><br></br><ol><li>If dedicated (non-fabric) routing is used for this path, configure the destination's input mux appropriately and stop.</li>
+ After optimization, the design is checked for routability. If any edges in the netlist graph don't correspond to edges in the device graph, the user probably asked for something impossible (for example, trying to hook a flipflop's output to a comparator's reference voltage input) so fail with an error.</p><p> The design is then routed. This is quite simple due to the crossbar structure of the device. For each edge in the netlist:</p><ol><li>If dedicated (non-fabric) routing is used for this path, configure the destination's input mux appropriately and stop.</li>
<li>If the source and destination are in the same half of the device, configure the destination's input mux appropriately and stop.</li>
<li>A cross-connection must be used. Check if we already used one to bring the source signal to the other half of the device. If found, configure the destination to route from that cross-connection and stop.</li>
<li>Check if we have any cross-connections left going in this direction. If they're all used, the design is unroutable due to congestion so fail with an error.</li>
<li>Pick the next unused cross-connection and configure it to route from the source. Configure the destination to route from the cross-connection and stop.</li>
</ol><p>
- Once routing is finished, run a series of post-PAR design rule checks. These currently include the following:</p><br></br><ul><li>If any node has no loads, generate a warning</li>
+ Once routing is finished, run a series of post-PAR design rule checks. These currently include the following:</p><ul><li>If any node has no loads, generate a warning</li>
<li>If an I/O buffer is connected to analog hard IP, fail with an error if it's not configured in analog mode.</li>
<li>Some signals (such as comparator inputs and oscillator power-down controls) are generated by a shared mux and fed to many loads. If different loads require conflicting settings for the shared mux, fail with an error.</li>
</ul><p>
- If DRC passes with no errors, configure all of the individual cells in the netlist based on the HDL parameters. Fail with an error if an invalid configuration was requested.</p><p> Finally, generate the bitstream from all of the per-cell configuration and write it to a file.</p><p><h2>
- Great, let's get started!</h2>
- If you don't already have one, you'll need to buy a <a href="http://www.silego.com/buy/index.php?main_page=product_info&amp;products_id=388">GreenPak4 development kit</a>. The kit includes samples of the SLG46620V (among other devices) and a programmer/emulation board. While you're waiting for it to arrive, install <a href="http://www.silego.com/softdoc/software.html">GreenPak Designer</a>.</p><p> Download and install Yosys. Although Clifford is pretty good at merging my pull requests, only <a href="https://github.com/azonenberg/yosys/">my fork on Github</a> is guaranteed to have the most up-to-date support for GreenPak devices so don't be surprised if you can't use a bleeding-edge feature with mainline Yosys.</p><p> Download and install gp4par. You can get it from <a href="https://github.com/azonenberg/openfpga/">the Github repository</a>.</p><p> Write your HDL, compile with Yosys, P&amp;R with gp4par, and import the bitstream into GreenPak Designer to program the target device. The most current gp4par manual is included in LaTeX source form in the source tree and is automatically built as part of the compile process. If you're just browsing, there's a <a href="http://thanatos.virtual.antikernel.net/unlisted/gp4-hdl.pdf">relatively recent PDF version</a> on my web server.</p><p> If you'd like to see the Verilog that produced the nightmare of a schematic I showed above, <a href="https://github.com/azonenberg/openfpga/blob/master/tests/greenpak4/Blinky/Blinky.v">here it is</a>.</p><p> Be advised that this project is still very much a work in progress and there are still a number of SLG46620V features I don't support (see the manual for exact details).</p><p><h2>
- I love it / it segfaulted / there's a problem in the manual!</h2>
- Hop in our IRC channel (##openfpga on Freenode) and let me know. Feedback is great, pull requests are even better,</p><p><h2>
- You're competing with Silego's IDE. Have they found out and sued you yet?</h2>
- Nope. They're fully aware of what I'm doing and are rolling out the red carpet for me. They love the idea of a HDL flow as an alternative to schematic entry and are pretty amazed at how fast it's coming together.</p><p> After I reported a few bugs in their datasheets they decided to skip the middleman and give me direct access to the engineer who writes their documentation so that I can get faster responses. The last time I found a problem (two different parts of the datasheet contradicted each other) an updated datasheet was in my inbox and on their website by the next day. I only wish Xilinx gave me that kind of treatment!</p><p> They've even <a href="https://twitter.com/SilegoTech/status/717018987771469824">offered me free hardware</a> to help me add support for their latest product family, although I plan to get GreenPak4 support to a more stable state before taking them up on the offer.</p><p><h2>
+ If DRC passes with no errors, configure all of the individual cells in the netlist based on the HDL parameters. Fail with an error if an invalid configuration was requested.</p><p> Finally, generate the bitstream from all of the per-cell configuration and write it to a file.</p><h2>
+ Great, let's get started!</h2><p>
+ If you don't already have one, you'll need to buy a <a href="http://www.silego.com/buy/index.php?main_page=product_info&amp;products_id=388">GreenPak4 development kit</a>. The kit includes samples of the SLG46620V (among other devices) and a programmer/emulation board. While you're waiting for it to arrive, install <a href="http://www.silego.com/softdoc/software.html">GreenPak Designer</a>.</p><p> Download and install Yosys. Although Clifford is pretty good at merging my pull requests, only <a href="https://github.com/azonenberg/yosys/">my fork on Github</a> is guaranteed to have the most up-to-date support for GreenPak devices so don't be surprised if you can't use a bleeding-edge feature with mainline Yosys.</p><p> Download and install gp4par. You can get it from <a href="https://github.com/azonenberg/openfpga/">the Github repository</a>.</p><p> Write your HDL, compile with Yosys, P&amp;R with gp4par, and import the bitstream into GreenPak Designer to program the target device. The most current gp4par manual is included in LaTeX source form in the source tree and is automatically built as part of the compile process. If you're just browsing, there's a <a href="http://thanatos.virtual.antikernel.net/unlisted/gp4-hdl.pdf">relatively recent PDF version</a> on my web server.</p><p> If you'd like to see the Verilog that produced the nightmare of a schematic I showed above, <a href="https://github.com/azonenberg/openfpga/blob/master/tests/greenpak4/Blinky/Blinky.v">here it is</a>.</p><p> Be advised that this project is still very much a work in progress and there are still a number of SLG46620V features I don't support (see the manual for exact details).</p><h2>
+ I love it / it segfaulted / there's a problem in the manual!</h2><p>
+ Hop in our IRC channel (##openfpga on Freenode) and let me know. Feedback is great, pull requests are even better,</p><h2>
+ You're competing with Silego's IDE. Have they found out and sued you yet?</h2><p>
+ Nope. They're fully aware of what I'm doing and are rolling out the red carpet for me. They love the idea of a HDL flow as an alternative to schematic entry and are pretty amazed at how fast it's coming together.</p><p> After I reported a few bugs in their datasheets they decided to skip the middleman and give me direct access to the engineer who writes their documentation so that I can get faster responses. The last time I found a problem (two different parts of the datasheet contradicted each other) an updated datasheet was in my inbox and on their website by the next day. I only wish Xilinx gave me that kind of treatment!</p><p> They've even <a href="https://twitter.com/SilegoTech/status/717018987771469824">offered me free hardware</a> to help me add support for their latest product family, although I plan to get GreenPak4 support to a more stable state before taking them up on the offer.</p><h2>
So what's next?</h2>
- </p><p> Better testing, for starters. I have to verify functionality by hand with a DMM and oscilloscope, which is time consuming.</p><p> My contact at Silego says they're going to be giving me documentation on the SRAM emulation interface soon, so I'm going to make a hardware-in-loop test platform that connects to my desktop and the Silego ZIF socket, and lets me load new bitstreams via a scriptable interface. It'll have FPGA-based digital I/O as well as an ADC and DAC on every device pin, plus an adjustable voltage regulator for power, so I can feed in arbitrary mixed-signal test waveforms and write PC-based unit tests to verify correct behavior.</p><p> Other than that, I want to finish support for the SLG46620V in the next month or two. The SLG46621V will be an easy addition since only one pin and the relevant configuration bits have changed from the 46620 (I suspect they're the same die, just bonded out differently).</p><p> Once that's done I'll have to do some more extensive work to add the SLG46140V since the architecture is a bit different (a lot of the combinatorial logic is merged into multi-function blocks). Luckily, the 46140 has a lot in common architecturally with the GreenPak5 family, so once that's done GreenPak5 will probably be a lot easier to add support for.</p><p> My thanks go out to Clifford Wolf, whitequark, the IRC users in ##openfpga, and everyone at Silego I've worked with to help make this possible. I hope that one day this project will become mature enough that Silego will ship it as an officially supported extension to GreenPak Designer, making history by becoming the first modern programmable logic vendor to ship a fully open source synthesis and P&amp;R suite.
-
- </p></div> \ No newline at end of file
+ <p> Better testing, for starters. I have to verify functionality by hand with a DMM and oscilloscope, which is time consuming.</p><p> My contact at Silego says they're going to be giving me documentation on the SRAM emulation interface soon, so I'm going to make a hardware-in-loop test platform that connects to my desktop and the Silego ZIF socket, and lets me load new bitstreams via a scriptable interface. It'll have FPGA-based digital I/O as well as an ADC and DAC on every device pin, plus an adjustable voltage regulator for power, so I can feed in arbitrary mixed-signal test waveforms and write PC-based unit tests to verify correct behavior.</p><p> Other than that, I want to finish support for the SLG46620V in the next month or two. The SLG46621V will be an easy addition since only one pin and the relevant configuration bits have changed from the 46620 (I suspect they're the same die, just bonded out differently).</p><p> Once that's done I'll have to do some more extensive work to add the SLG46140V since the architecture is a bit different (a lot of the combinatorial logic is merged into multi-function blocks). Luckily, the 46140 has a lot in common architecturally with the GreenPak5 family, so once that's done GreenPak5 will probably be a lot easier to add support for.</p><p> My thanks go out to Clifford Wolf, whitequark, the IRC users in ##openfpga, and everyone at Silego I've worked with to help make this possible. I hope that one day this project will become mature enough that Silego will ship it as an officially supported extension to GreenPak Designer, making history by becoming the first modern programmable logic vendor to ship a fully open source synthesis and P&amp;R suite.
+ </p>
+ </div> \ No newline at end of file
diff --git a/test/test-pages/breitbart/expected-images.json b/test/test-pages/breitbart/expected-images.json
index 81ca6a4..0c7f570 100644
--- a/test/test-pages/breitbart/expected-images.json
+++ b/test/test-pages/breitbart/expected-images.json
@@ -1 +1 @@
-["http:\/\/media.breitbart.com\/media\/2016\/11\/GettyImages-621866810.jpg","http:\/\/media.breitbart.com\/media\/2016\/11\/GettyImages-621866810-640x480.jpg"] \ No newline at end of file
+["http:\/\/media.breitbart.com\/media\/2016\/11\/GettyImages-621866810-640x480.jpg"] \ No newline at end of file
diff --git a/test/test-pages/breitbart/expected-metadata.json b/test/test-pages/breitbart/expected-metadata.json
index 2b968e7..8bbbd41 100644
--- a/test/test-pages/breitbart/expected-metadata.json
+++ b/test/test-pages/breitbart/expected-metadata.json
@@ -1,5 +1,5 @@
{
- "Title": "'Neutral' Snopes Fact-Checker David Emery: 'Are There Any Un-Angry Trump Supporters?'",
+ "Title": "'Neutral' Snopes Fact-Checker David Emery: 'Are There Any Un-Angry Trump Supporters?' - Breitbart",
"Author": "by Lucas Nolan22 Dec 2016651",
"Direction": null,
"Excerpt": "Snopes fact checker and staff writer David Emery posted to Twitter asking if there were “any un-angry Trump supporters?”"
diff --git a/test/test-pages/breitbart/expected.html b/test/test-pages/breitbart/expected.html
index eabc20d..e2f04c7 100644
--- a/test/test-pages/breitbart/expected.html
+++ b/test/test-pages/breitbart/expected.html
@@ -1,7 +1,7 @@
<div>
- <figure><div><img alt="Supporters of Republican presidential nominee Donald Trump cheer during election night at the New York Hilton Midtown in New York on November 9, 2016. / AFP / JIM WATSON (Photo credit should read JIM WATSON/AFP/Getty Images)" height="480" itemprop="image" src="http://media.breitbart.com/media/2016/11/GettyImages-621866810-640x480.jpg" width="640"></img><p>JIM WATSON/AFP/Getty Images</p>
+ <figure><div><p><img alt="Supporters of Republican presidential nominee Donald Trump cheer during election night at the New York Hilton Midtown in New York on November 9, 2016. / AFP / JIM WATSON (Photo credit should read JIM WATSON/AFP/Getty Images)" height="480" itemprop="image" src="http://media.breitbart.com/media/2016/11/GettyImages-621866810-640x480.jpg" width="640"></img></p><p>JIM WATSON/AFP/Getty Images</p>
</div>
</figure> <time datetime="2016-12-22T10:43:37Z">22 Dec, 2016</time><time datetime="2016-12-22T18:59:12Z">22 Dec, 2016</time></div><div>
diff --git a/test/test-pages/bug-1255978/expected-images.json b/test/test-pages/bug-1255978/expected-images.json
index f6ff5d9..c4dc563 100644
--- a/test/test-pages/bug-1255978/expected-images.json
+++ b/test/test-pages/bug-1255978/expected-images.json
@@ -1 +1 @@
-["https:\/\/static.independent.co.uk\/s3fs-public\/thumbnails\/image\/2015\/12\/06\/10\/bed-hotel-room.jpg","https:\/\/static.independent.co.uk\/s3fs-public\/styles\/story_medium\/public\/thumbnails\/image\/2014\/03\/18\/10\/bandb2.jpg","https:\/\/static.independent.co.uk\/s3fs-public\/styles\/story_medium\/public\/thumbnails\/image\/2015\/05\/26\/11\/hotel-door-getty.jpg","https:\/\/static.independent.co.uk\/s3fs-public\/styles\/story_medium\/public\/thumbnails\/image\/2013\/07\/31\/15\/luggage-3.jpg","https:\/\/static.independent.co.uk\/s3fs-public\/styles\/story_medium\/public\/thumbnails\/image\/2015\/04\/13\/11\/Lifestyle-hotels.jpg","https:\/\/static.independent.co.uk\/s3fs-public\/styles\/story_medium\/public\/thumbnails\/image\/2014\/03\/13\/16\/agenda7.jpg","http:\/\/fakehost\/sites\/all\/themes\/ines_themes\/independent_theme\/img\/reuse.png"] \ No newline at end of file
+["https:\/\/static.independent.co.uk\/s3fs-public\/styles\/story_medium\/public\/thumbnails\/image\/2014\/03\/18\/10\/bandb2.jpg","https:\/\/static.independent.co.uk\/s3fs-public\/styles\/story_medium\/public\/thumbnails\/image\/2015\/05\/26\/11\/hotel-door-getty.jpg","https:\/\/static.independent.co.uk\/s3fs-public\/styles\/story_medium\/public\/thumbnails\/image\/2013\/07\/31\/15\/luggage-3.jpg","https:\/\/static.independent.co.uk\/s3fs-public\/styles\/story_medium\/public\/thumbnails\/image\/2015\/04\/13\/11\/Lifestyle-hotels.jpg","https:\/\/static.independent.co.uk\/s3fs-public\/styles\/story_medium\/public\/thumbnails\/image\/2014\/03\/13\/16\/agenda7.jpg","http:\/\/fakehost\/sites\/all\/themes\/ines_themes\/independent_theme\/img\/reuse.png"] \ No newline at end of file
diff --git a/test/test-pages/bug-1255978/expected-metadata.json b/test/test-pages/bug-1255978/expected-metadata.json
index 0acbbdf..db7c652 100644
--- a/test/test-pages/bug-1255978/expected-metadata.json
+++ b/test/test-pages/bug-1255978/expected-metadata.json
@@ -1,5 +1,5 @@
{
- "Title": "The seven secrets that hotel owners don't want you to know",
+ "Title": "Seven secrets that hotel owners don't want you to know",
"Author": "Hazel Sheffield",
"Direction": null,
"Excerpt": "Most people go to hotels for the pleasure of sleeping in a giant bed with clean white sheets and waking up to fresh towels in the morning. But those towels and sheets might not be as clean as they look, according to the hotel bosses that responded to an online thread about the things hotel owners don’t want you to know."
diff --git a/test/test-pages/bug-1255978/expected.html b/test/test-pages/bug-1255978/expected.html
index 78f2f89..c281eef 100644
--- a/test/test-pages/bug-1255978/expected.html
+++ b/test/test-pages/bug-1255978/expected.html
@@ -14,13 +14,13 @@
<div>
<div>
- <div><img alt="bandb2.jpg" height="423" src="https://static.independent.co.uk/s3fs-public/styles/story_medium/public/thumbnails/image/2014/03/18/10/bandb2.jpg" title="bandb2.jpg" width="564"></img></div>
+ <p><img alt="bandb2.jpg" height="423" src="https://static.independent.co.uk/s3fs-public/styles/story_medium/public/thumbnails/image/2014/03/18/10/bandb2.jpg" title="bandb2.jpg" width="564"></img></p>
</div>
- <p>
- Even posh hotels might not wash a blanket in between stays
-
- </p>
+ <div>
+ <p>Even posh hotels might not wash a blanket in between stays
+ </p>
+ </div>
</div>
<p>1. Take any blankets or duvets off the bed</p>
@@ -37,13 +37,13 @@
<div>
<div>
- <div><img alt="hotel-door-getty.jpg" height="423" src="https://static.independent.co.uk/s3fs-public/styles/story_medium/public/thumbnails/image/2015/05/26/11/hotel-door-getty.jpg" title="hotel-door-getty.jpg" width="564"></img></div>
+ <p><img alt="hotel-door-getty.jpg" height="423" src="https://static.independent.co.uk/s3fs-public/styles/story_medium/public/thumbnails/image/2015/05/26/11/hotel-door-getty.jpg" title="hotel-door-getty.jpg" width="564"></img></p>
</div>
- <p>
- Forrest Jones advised stuffing the peep hole with a strip of rolled up notepaper when not in use.
-
- </p>
+ <div>
+ <p>Forrest Jones advised stuffing the peep hole with a strip of rolled up notepaper when not in use.
+ </p>
+ </div>
</div>
<p>2. Check the peep hole has not been tampered with</p>
@@ -55,13 +55,10 @@
<div>
<div>
- <div><img alt="luggage-3.jpg" height="423" src="https://static.independent.co.uk/s3fs-public/styles/story_medium/public/thumbnails/image/2013/07/31/15/luggage-3.jpg" title="luggage-3.jpg" width="564"></img></div>
+ <p><img alt="luggage-3.jpg" height="423" src="https://static.independent.co.uk/s3fs-public/styles/story_medium/public/thumbnails/image/2013/07/31/15/luggage-3.jpg" title="luggage-3.jpg" width="564"></img></p>
</div>
- <p>
- Put luggage on the floor
-
- </p>
+
</div>
<p>3. Don’t use a wooden luggage rack</p>
@@ -73,13 +70,13 @@
<div>
<div>
- <div><img alt="Lifestyle-hotels.jpg" height="423" src="https://static.independent.co.uk/s3fs-public/styles/story_medium/public/thumbnails/image/2015/04/13/11/Lifestyle-hotels.jpg" title="Lifestyle-hotels.jpg" width="564"></img></div>
+ <p><img alt="Lifestyle-hotels.jpg" height="423" src="https://static.independent.co.uk/s3fs-public/styles/story_medium/public/thumbnails/image/2015/04/13/11/Lifestyle-hotels.jpg" title="Lifestyle-hotels.jpg" width="564"></img></p>
</div>
- <p>
- The old rule of thumb is that for every 00 invested in a room, the hotel should charge in average daily rate
-
- </p>
+ <div>
+ <p>The old rule of thumb is that for every 00 invested in a room, the hotel should charge in average daily rate
+ </p>
+ </div>
</div>
<p>4. Hotel rooms are priced according to how expensive they were to build</p>
@@ -117,13 +114,13 @@
<div>
<div>
- <div><img alt="agenda7.jpg" height="423" src="https://static.independent.co.uk/s3fs-public/styles/story_medium/public/thumbnails/image/2014/03/13/16/agenda7.jpg" title="agenda7.jpg" width="564"></img></div>
+ <p><img alt="agenda7.jpg" height="423" src="https://static.independent.co.uk/s3fs-public/styles/story_medium/public/thumbnails/image/2014/03/13/16/agenda7.jpg" title="agenda7.jpg" width="564"></img></p>
</div>
- <p>
- Towels should always be cleaned between stays
-
- </p>
+ <div>
+ <p>Towels should always be cleaned between stays
+ </p>
+ </div>
</div>
<p>7. Always made sure the hand towels are clean when you arrive</p>
@@ -135,5 +132,5 @@
<li><a href="http://fakehost/topic/Hotels" itemprop="keywords">Hotels</a></li>
<li><a href="http://fakehost/topic/Hygiene" itemprop="keywords">Hygiene</a></li>
</ul>
- <a href="http://fakehost/syndication/reuse-permision-form?url=http://www.independent.co.uk/news/business/news/seven-secrets-that-hotel-owners-dont-want-you-to-know-10506160.html" target="_blank"><img src="http://fakehost/sites/all/themes/ines_themes/independent_theme/img/reuse.png" width="25"></img>Reuse content</a>
- </div> \ No newline at end of file
+ <p><a href="http://fakehost/syndication/reuse-permision-form?url=http://www.independent.co.uk/news/business/news/seven-secrets-that-hotel-owners-dont-want-you-to-know-10506160.html" target="_blank"><img src="http://fakehost/sites/all/themes/ines_themes/independent_theme/img/reuse.png" width="25"></img>Reuse content</a>
+ </p></div> \ No newline at end of file
diff --git a/test/test-pages/buzzfeed-1/expected-images.json b/test/test-pages/buzzfeed-1/expected-images.json
index 1ee3a58..3064b98 100644
--- a/test/test-pages/buzzfeed-1/expected-images.json
+++ b/test/test-pages/buzzfeed-1/expected-images.json
@@ -1 +1 @@
-["http:\/\/s3-static-ak.buzzfed.com\/static\/2015-04\/22\/5\/campaign_images\/webdr03\/student-dies-after-diet-pills-she-bought-online-b-2-28712-1429696299-24_dblbig.jpg","http:\/\/ak-hdl.buzzfed.com\/static\/2015-04\/21\/5\/enhanced\/webdr12\/grid-cell-2501-1429608056-15.jpg","http:\/\/ak-hdl.buzzfed.com\/static\/2015-04\/21\/5\/enhanced\/webdr12\/grid-cell-2501-1429608057-18.jpg"] \ No newline at end of file
+["http:\/\/s3-static-ak.buzzfed.com\/static\/2015-04\/22\/5\/campaign_images\/webdr03\/student-dies-after-diet-pills-she-bought-online-b-2-28712-1429696299-24_big.jpg","http:\/\/ak-hdl.buzzfed.com\/static\/2015-04\/21\/5\/enhanced\/webdr12\/grid-cell-2501-1429608056-15.jpg","http:\/\/ak-hdl.buzzfed.com\/static\/2015-04\/21\/5\/enhanced\/webdr12\/grid-cell-2501-1429608057-18.jpg"] \ No newline at end of file
diff --git a/test/test-pages/buzzfeed-1/expected-metadata.json b/test/test-pages/buzzfeed-1/expected-metadata.json
index d5eca27..5b04b83 100644
--- a/test/test-pages/buzzfeed-1/expected-metadata.json
+++ b/test/test-pages/buzzfeed-1/expected-metadata.json
@@ -1,5 +1,4 @@
{
"Title": "Student Dies After Diet Pills She Bought Online \"Burned Her Up From Within\"",
- "Author": "Mark Di Stefano",
- "Excerpt": "An inquest into Eloise Parry's death has been adjourned until July..."
+ "Excerpt": "An inquest into Eloise Parry's death has been adjourned until July."
}
diff --git a/test/test-pages/buzzfeed-1/expected.html b/test/test-pages/buzzfeed-1/expected.html
index 82dc3a1..46a3f32 100644
--- a/test/test-pages/buzzfeed-1/expected.html
+++ b/test/test-pages/buzzfeed-1/expected.html
@@ -15,13 +15,13 @@
<div>
<div>
<div>
- <img height="412" rel:bf_image_src="http://ak-hdl.buzzfed.com/static/2015-04/21/5/enhanced/webdr12/grid-cell-2501-1429608056-15.jpg" src="http://ak-hdl.buzzfed.com/static/2015-04/21/5/enhanced/webdr12/grid-cell-2501-1429608056-15.jpg" width="203"></img>
+ <p><img height="412" rel:bf_image_src="http://ak-hdl.buzzfed.com/static/2015-04/21/5/enhanced/webdr12/grid-cell-2501-1429608056-15.jpg" src="http://ak-hdl.buzzfed.com/static/2015-04/21/5/enhanced/webdr12/grid-cell-2501-1429608056-15.jpg" width="203"></img></p>
</div>
<p>Facebook</p>
</div>
<div>
<div>
- <img height="412" rel:bf_image_src="http://ak-hdl.buzzfed.com/static/2015-04/21/5/enhanced/webdr12/grid-cell-2501-1429608057-18.jpg" src="http://ak-hdl.buzzfed.com/static/2015-04/21/5/enhanced/webdr12/grid-cell-2501-1429608057-18.jpg" width="412"></img>
+ <p><img height="412" rel:bf_image_src="http://ak-hdl.buzzfed.com/static/2015-04/21/5/enhanced/webdr12/grid-cell-2501-1429608057-18.jpg" src="http://ak-hdl.buzzfed.com/static/2015-04/21/5/enhanced/webdr12/grid-cell-2501-1429608057-18.jpg" width="412"></img></p>
</div>
<p>Facebook</p>
</div>
diff --git a/test/test-pages/challenges/expected-images.json b/test/test-pages/challenges/expected-images.json
index 66b2371..0637a08 100644
--- a/test/test-pages/challenges/expected-images.json
+++ b/test/test-pages/challenges/expected-images.json
@@ -1 +1 @@
-["http:\/\/fakehost\/img\/cha\/placeholders\/placeholder_1000x750.jpg"] \ No newline at end of file
+[] \ No newline at end of file
diff --git a/test/test-pages/clean-links/expected.html b/test/test-pages/clean-links/expected.html
index 4153961..8c1b8b1 100644
--- a/test/test-pages/clean-links/expected.html
+++ b/test/test-pages/clean-links/expected.html
@@ -1,5 +1,5 @@
<div>
- <table><tbody><tr><td>
+ <div>
<h3>Study Webtext</h3>
<h2><span color="Maroon&#xA; " face="Lucida Handwriting ">"Bartleby the Scrivener: A Story of Wall-Street " </span>(1853) <br></br>
Herman Melville</h2>
@@ -1383,5 +1383,4 @@
</p>
<p> Ah
Bartleby! Ah humanity!</p>
- </td>
- </tr></tbody></table></div> \ No newline at end of file
+ </div></div> \ No newline at end of file
diff --git a/test/test-pages/cnet-svg-classes/expected-images.json b/test/test-pages/cnet-svg-classes/expected-images.json
index 3402f79..3807681 100644
--- a/test/test-pages/cnet-svg-classes/expected-images.json
+++ b/test/test-pages/cnet-svg-classes/expected-images.json
@@ -1 +1 @@
-["https:\/\/cdn1.cnet.com\/img\/JumVcu1ZSLtPP8ui0UWaSlgi5RU=\/670x503\/2017\/12\/01\/b36ce794-e0b8-495c-a198-184923a8f4e9\/twitter-lite.jpg","https:\/\/cdn2.cnet.com\/img\/LI8y19stcvIQUdzbYdH4-DAigtc=\/fit-in\/570x0\/2017\/12\/01\/b36ce794-e0b8-495c-a198-184923a8f4e9\/twitter-lite.jpg","https:\/\/cdn1.cnet.com\/img\/mWcZaiA8Ngv61OQcpdoh6Ra9nY0=\/170x96\/2017\/11\/13\/70540d7a-cbc5-4563-ab86-b5549ef68168\/oneplus-5t-product-21.jpg"] \ No newline at end of file
+["https:\/\/cdn2.cnet.com\/img\/LI8y19stcvIQUdzbYdH4-DAigtc=\/fit-in\/570x0\/2017\/12\/01\/b36ce794-e0b8-495c-a198-184923a8f4e9\/twitter-lite.jpg","https:\/\/cdn1.cnet.com\/img\/mWcZaiA8Ngv61OQcpdoh6Ra9nY0=\/170x96\/2017\/11\/13\/70540d7a-cbc5-4563-ab86-b5549ef68168\/oneplus-5t-product-21.jpg"] \ No newline at end of file
diff --git a/test/test-pages/cnet-svg-classes/expected.html b/test/test-pages/cnet-svg-classes/expected.html
index 26b7440..1b63512 100644
--- a/test/test-pages/cnet-svg-classes/expected.html
+++ b/test/test-pages/cnet-svg-classes/expected.html
@@ -13,9 +13,9 @@
<p>Twitter dio a conocer Twitter Lite en abril en India, y desde entonces ha estado trabajando para llevarlo a más países. La empresa en los últimos meses también se ha involucrado de forma definitiva en la <span section="shortcodeLink"><a href="http://fakehost/es/noticias/twitter-hemos-progresado-en-nuestra-batalla-contra-el-abuso/">eliminación de los abusos en la red social</a></span>, tomando medidas incluso en la <span section="shortcodeLink"><a href="http://fakehost/es/noticias/twitter-elimina-verificacion-a-cuentas-ofensivas/">verificación de cuentas.</a></span></p><svg><symbol id="play" viewbox="0 0 26.6 32"><path d="M0,2.6c0-2.4,1.6-3.3,3.7-2L25,13.7c2,1.3,2,3.2,0,4.5L3.7,31.4c-2,1.3-3.7,0.3-3.7-2C0,29.4,0,2.6,0,2.6z"></path></symbol><symbol id="pause" viewbox="0 0 26.6 32"><g><polygon points="16,32 26.5,32 26.5,8.8 26.5,0 16,0"></polygon><rect height="32" width="10.6" x="0.1" y="0"></rect></g></symbol><symbol id="playlist" viewbox="0 0 32 22.9"><g><circle cx="2.3" cy="20.6" r="2.3"></circle><circle cx="2.3" cy="11.4" r="2.3"></circle><circle cx="2.3" cy="2.3" r="2.3"></circle><path d="M32,1.1C32,0.5,31.5,0,30.9,0H10.3C9.7,0,9.1,0.5,9.1,1.1v2.3c0,0.6,0.5,1.1,1.1,1.1h20.6c0.6,0,1.1-0.5,1.1-1.1V1.1z"></path><path d="M32,10.3c0-0.6-0.5-1.1-1.1-1.1H10.3c-0.6,0-1.1,0.5-1.1,1.1v2.3c0,0.6,0.5,1.1,1.1,1.1h20.6c0.6,0,1.1-0.5,1.1-1.1V10.3z"></path><path d="M32,19.4c0-0.6-0.5-1.1-1.1-1.1H10.3c-0.6,0-1.1,0.5-1.1,1.1v2.3c0,0.6,0.5,1.1,1.1,1.1h20.6c0.6,0,1.1-0.5,1.1-1.1V19.4z"></path></g></symbol><symbol id="speaker-on" viewbox="0 0 32 28.1"><g><g><path d="M12.6,5L6.3,8.7H0.6C0.3,8.7,0,9,0,9.3V19c0,0.4,0.3,0.7,0.6,0.7h5.9l6.1,3.4c1.3,0.8,1.5,0.2,1.5-1.5V6.5C14.2,4.8,13.9,4.2,12.6,5z"></path></g><path d="M18,23.1v-2.8c2.6,0,4.7-2.8,4.7-6.2S20.6,7.8,18,7.8V5c4.2,0,7.5,4,7.5,9S22.1,23.1,18,23.1z"></path><path d="M21.3,28.1v-2.8c4.4,0,7.9-5,7.9-11.2S25.6,2.8,21.3,2.8V0C27.2,0,32,6.3,32,14C32,21.8,27.2,28.1,21.3,28.1z"></path></g></symbol><symbol id="speaker-off" viewbox="0 0 32 18.8"><g><g><path d="M12.6,0.4L6.3,4H0.6C0.3,4,0,4.3,0,4.7v9.7c0,0.4,0.3,0.7,0.6,0.7h5.9l6.1,3.4c1.3,0.8,1.5,0.2,1.5-1.5V1.8C14.2,0.2,13.9-0.5,12.6,0.4z"></path></g><polygon points="32,4.5 30.2,2.7 25.3,7.6 20.4,2.7 18.6,4.5 23.5,9.4 18.6,14.3 20.4,16.1 25.3,11.2 30.2,16.1 32,14.3 27.1,9.4 "></polygon></g></symbol><symbol id="captions" viewbox="0 0 32 16.2"><g><path d="M8.6,16.2c-1.2,0-2.4-0.2-3.4-0.6c-1.1-0.4-2-0.9-2.7-1.6c-0.8-0.7-1.4-1.6-1.8-2.6C0.2,10.4,0,9.3,0,8.1c0-1.2,0.2-2.3,0.7-3.3s1-1.8,1.8-2.6C3.2,1.5,4.1,1,5.2,0.6S7.4,0,8.6,0c1,0,1.9,0.1,2.7,0.4c0.8,0.3,1.4,0.6,2,1.1c0.6,0.4,1.1,0.9,1.4,1.5c0.4,0.5,0.7,1.1,0.9,1.6l-4.1,1.9c-0.1-0.3-0.2-0.6-0.4-0.9C11,5.3,10.8,5,10.5,4.8c-0.3-0.2-0.6-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2C8,4.2,7.5,4.3,7,4.5C6.6,4.7,6.2,5,5.8,5.3C5.5,5.7,5.2,6.1,5.1,6.5C4.9,7,4.8,7.5,4.8,8.1c0,0.5,0.1,1.1,0.3,1.5c0.2,0.5,0.4,0.9,0.8,1.2c0.3,0.4,0.7,0.6,1.2,0.8C7.5,11.9,8,12,8.6,12c0.3,0,0.7-0.1,1-0.2c0.3-0.1,0.6-0.3,0.9-0.5c0.3-0.2,0.5-0.4,0.7-0.7c0.2-0.3,0.3-0.6,0.4-0.9l4.1,1.9c-0.2,0.5-0.5,1-0.9,1.6c-0.4,0.5-0.9,1-1.4,1.5c-0.6,0.4-1.2,0.8-2,1.1C10.5,16,9.6,16.2,8.6,16.2z"></path><path d="M24.9,16.2c-1.2,0-2.4-0.2-3.4-0.6c-1.1-0.4-2-0.9-2.7-1.6c-0.8-0.7-1.4-1.6-1.8-2.6c-0.4-1-0.7-2.1-0.7-3.3c0-1.2,0.2-2.3,0.7-3.3c0.4-1,1-1.8,1.8-2.6c0.8-0.7,1.7-1.3,2.7-1.7C22.6,0.2,23.7,0,24.9,0c1,0,1.9,0.1,2.7,0.4c0.8,0.3,1.4,0.6,2,1.1c0.6,0.4,1.1,0.9,1.4,1.5C31.5,3.5,31.8,4,32,4.5l-4.1,1.9c-0.1-0.3-0.2-0.6-0.4-0.9c-0.2-0.3-0.4-0.5-0.7-0.7c-0.3-0.2-0.6-0.4-0.9-0.5c-0.3-0.1-0.7-0.2-1-0.2c-0.6,0-1.1,0.1-1.5,0.3c-0.5,0.2-0.9,0.5-1.2,0.8c-0.3,0.4-0.6,0.8-0.8,1.2c-0.2,0.5-0.3,1-0.3,1.5c0,0.5,0.1,1.1,0.3,1.5c0.2,0.5,0.4,0.9,0.8,1.2c0.3,0.4,0.7,0.6,1.2,0.8c0.5,0.2,1,0.3,1.5,0.3c0.3,0,0.7-0.1,1-0.2c0.3-0.1,0.6-0.3,0.9-0.5c0.3-0.2,0.5-0.4,0.7-0.7c0.2-0.3,0.3-0.6,0.4-0.9l4.1,1.9c-0.2,0.5-0.5,1-0.9,1.6c-0.4,0.5-0.9,1-1.4,1.5c-0.6,0.4-1.2,0.8-2,1.1C26.8,16,25.9,16.2,24.9,16.2z"></path></g></symbol><symbol id="fullscreen" viewbox="0 0 32 32"><g><g><polygon points="11.4,0 0,0 0,11.4 3.4,8 9.1,13.7 13.7,9.1 8,3.4 &#x9;&#x9;&#x9;"></polygon></g><g><polygon points="20.6,32 32,32 32,20.6 28.6,24 22.9,18.3 18.3,22.9 24,28.6 &#x9;&#x9;&#x9;"></polygon></g><g><polygon points="32,11.4 32,0 20.6,0 24,3.4 18.3,9.1 22.9,13.7 28.6,8 &#x9;&#x9;&#x9;"></polygon></g><g><polygon points="0,20.6 0,32 11.4,32 8,28.6 13.7,22.9 9.1,18.3 3.4,24 &#x9;&#x9;&#x9;"></polygon></g></g></symbol><symbol id="video" viewbox="0 0 32 22"><g><path d="M29,2.2c-0.7,0.2-4.6,3-7.9,5.3V2.1C21.1,1,20.1,0,19,0H2.1C1,0,0,1,0,2.1v17.7C0,21,1,22,2.1,22H19c1.2,0,2.1-1,2.1-2.1v-5.9c3.3,2.4,7.4,5.4,8.2,5.6c1.4,0.4,2.7-0.1,2.7-0.1V2.2C32,2.2,30.1,1.8,29,2.2z"></path></g></symbol></svg><div data-load-playlist="[{&quot;id&quot;:&quot;dc362fcb-cba9-4bf6-b62d-aa7e39a092c7&quot;,&quot;title&quot;:&quot;Google Assistant mejora, hay m\u00e1s cambios en Twitter y llega el OnePlus 5T&quot;,&quot;description&quot;:&quot;[La semana en CNET en Espa\u00f1ol #163] Esta semana hablamos de las caracter\u00edsticas del OnePlus 5T, las novedades de Google Assistant y los cambios que ha hecho Twitter a su proceso de verificaci\u00f3n.&quot;,&quot;slug&quot;:&quot;google-assistant-mejora-hay-mas-cambios-en-twitter-y-llega-el-oneplus-5t&quot;,&quot;chapters&quot;:{&quot;data&quot;:[],&quot;paging&quot;:{&quot;total&quot;:0,&quot;limit&quot;:15,&quot;offset&quot;:0}},&quot;duration&quot;:489,&quot;hasCaptions&quot;:true,&quot;mpxId&quot;:&quot;&quot;,&quot;mpxRefId&quot;:&quot;38uKprB1_hIkwXffuj20eMptuapoWX4K&quot;,&quot;ratingVChip&quot;:&quot;TV-14&quot;,&quot;primaryTopic&quot;:{&quot;id&quot;:&quot;1c0fd1cb-c387-11e2-8208-0291187b029a&quot;},&quot;author&quot;:{&quot;id&quot;:&quot;6a9b3b6b-575a-4b66-b4b2-4aedee01be6d&quot;,&quot;firstName&quot;:&quot;Gabriel&quot;,&quot;lastName&quot;:&quot;Sama&quot;},&quot;primaryCollection&quot;:{&quot;id&quot;:&quot;b45f7536-5ba2-40d8-a054-40341b279649&quot;,&quot;title&quot;:&quot;La semana&quot;},&quot;image&quot;:{&quot;id&quot;:&quot;70540d7a-cbc5-4563-ab86-b5549ef68168&quot;,&quot;filename&quot;:&quot;oneplus-5t-product-21.jpg&quot;,&quot;dateCreated&quot;:{&quot;date&quot;:&quot;2017-11-13 17:56:07&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;alt&quot;:&quot;oneplus-5t-product-21&quot;,&quot;credits&quot;:&quot;Andrew Hoyle\/CNET&quot;,&quot;path&quot;:&quot;https:\/\/cnet4.cbsistatic.com\/img\/EcEJ76YiEastX8yctETLURpwICc=\/2017\/11\/13\/70540d7a-cbc5-4563-ab86-b5549ef68168\/oneplus-5t-product-21.jpg&quot;,&quot;cropGravity&quot;:0,&quot;crop&quot;:null,&quot;typeName&quot;:&quot;content_image&quot;},&quot;thumbnail&quot;:&quot;https:\/\/cdn1.cnet.com\/img\/xTOX9ZdBnxWFXxkzSLG6dBydTMg=\/fit-in\/194x109\/2017\/11\/13\/70540d7a-cbc5-4563-ab86-b5549ef68168\/oneplus-5t-product-21.jpg&quot;,&quot;isVertical&quot;:false,&quot;m3u8&quot;:&quot;\/es\/videos\/manifest\/google-assistant-mejora-hay-mas-cambios-en-twitter-y-llega-el-oneplus-5t.m3u8&quot;,&quot;mp4&quot;:&quot;https:\/\/cnetmedia-a.akamaihd.net\/21923\/2017\/11\/17\/1098353731717\/es_lasemana16novFINAL_1265786_740.mp4&quot;,&quot;selector&quot;:&quot;\/es\/videos\/selector\/google-assistant-mejora-hay-mas-cambios-en-twitter-y-llega-el-oneplus-5t\/&quot;},{&quot;id&quot;:&quot;7097a578-8dc8-48b8-9bea-bc0dcabdb558&quot;,&quot;title&quot;:&quot;El \u0027bug\u0027 de MacOS High Sierra y la expansi\u00f3n de Huawei en Latinoam\u00e9rica&quot;,&quot;description&quot;:&quot;[La semana en CNET en Espa\u00f1ol #165] Apple solucion\u00f3 el problema de que se pod\u00eda acceder a algunas Mac sin contrase\u00f1a. Huawei adelant\u00f3 planes para la regi\u00f3n.&quot;,&quot;slug&quot;:&quot;bug-de-macos-high-sierra-expansion-huawei-en-latinoamerica&quot;,&quot;chapters&quot;:&quot;&quot;,&quot;duration&quot;:550,&quot;hasCaptions&quot;:true,&quot;mpxId&quot;:1107731523514,&quot;mpxRefId&quot;:&quot;IwoiIhK2JgjRf8oj2sS99ClHB2K8w8uw&quot;,&quot;ratingVChip&quot;:&quot;&quot;,&quot;primaryTopic&quot;:{&quot;id&quot;:&quot;&quot;},&quot;author&quot;:{&quot;id&quot;:&quot;272ff2eb-03d3-4e24-9b55-09f4633368f9&quot;,&quot;firstName&quot;:&quot;Mariana&quot;,&quot;lastName&quot;:&quot;Marcaletti&quot;},&quot;primaryCollection&quot;:{&quot;id&quot;:&quot;b45f7536-5ba2-40d8-a054-40341b279649&quot;,&quot;title&quot;:[&quot;La semana&quot;]},&quot;image&quot;:{&quot;id&quot;:&quot;1934b65e-89f2-4449-ae15-61584288ed9d&quot;,&quot;name&quot;:&quot;macos-high-sierra-image&quot;,&quot;filename&quot;:&quot;macos-high-sierra-image.jpg&quot;,&quot;path&quot;:&quot;https:\/\/cnet4.cbsistatic.com\/img\/bmNGTUwxlWz6QUuj1pUj2G90QUE=\/2017\/09\/27\/1934b65e-89f2-4449-ae15-61584288ed9d\/macos-high-sierra-image.jpg&quot;,&quot;size&quot;:1306802,&quot;height&quot;:1080,&quot;width&quot;:1920,&quot;dateCreated&quot;:{&quot;date&quot;:&quot;2017-09-27 17:49:57&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;dateUpdated&quot;:{&quot;date&quot;:&quot;2017-09-27 17:49:57&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;needsModeration&quot;:0,&quot;mimeType&quot;:&quot;image\/jpeg&quot;,&quot;deleted&quot;:0,&quot;preferred&quot;:0,&quot;watermark&quot;:0,&quot;alt&quot;:&quot;macos-high-sierra-image&quot;,&quot;cropGravity&quot;:0},&quot;thumbnail&quot;:&quot;https:\/\/cdn3.cnet.com\/img\/C6S9ny6QsPl0M4RazJBreX1ZaO8=\/fit-in\/194x109\/2017\/09\/27\/1934b65e-89f2-4449-ae15-61584288ed9d\/macos-high-sierra-image.jpg&quot;,&quot;isVertical&quot;:false,&quot;m3u8&quot;:&quot;\/es\/videos\/manifest\/bug-de-macos-high-sierra-expansion-huawei-en-latinoamerica.m3u8&quot;,&quot;mp4&quot;:&quot;https:\/\/cnetmedia-a.akamaihd.net\/21923\/2017\/12\/01\/1107731523514\/es_lasemana1diciembre_1275504_740.mp4&quot;,&quot;selector&quot;:&quot;\/es\/videos\/selector\/bug-de-macos-high-sierra-expansion-huawei-en-latinoamerica\/&quot;},{&quot;id&quot;:&quot;41e31d24-ab17-445d-8841-ceb86ae9044f&quot;,&quot;title&quot;:&quot;Nuestros consejos para la temporada de ofertas&quot;,&quot;description&quot;:&quot;[La semana en CNET en Espa\u00f1ol #164] Nada de madrugar, hacer filas largas y estresarte. Esta semana te compartimos sugerencias puntuales para que le saques m\u00e1s jugo a las compras de Black Friday y Cyber Monday.&quot;,&quot;slug&quot;:&quot;consejos-ofertas-viernes-negro&quot;,&quot;chapters&quot;:&quot;&quot;,&quot;duration&quot;:441,&quot;hasCaptions&quot;:true,&quot;mpxId&quot;:1102073923731,&quot;mpxRefId&quot;:&quot;5XzHm1c3DBSxFhifEcVyEyTaNwlg6R0a&quot;,&quot;ratingVChip&quot;:&quot;&quot;,&quot;primaryTopic&quot;:{&quot;id&quot;:&quot;&quot;},&quot;author&quot;:{&quot;id&quot;:&quot;272ff2eb-03d3-4e24-9b55-09f4633368f9&quot;,&quot;firstName&quot;:&quot;Mariana&quot;,&quot;lastName&quot;:&quot;Marcaletti&quot;},&quot;primaryCollection&quot;:{&quot;id&quot;:&quot;b45f7536-5ba2-40d8-a054-40341b279649&quot;,&quot;title&quot;:[&quot;La semana&quot;]},&quot;image&quot;:{&quot;id&quot;:&quot;154d2576-1ff8-41d8-ac2a-414450d5ee6c&quot;,&quot;name&quot;:&quot;viernesnegro&quot;,&quot;filename&quot;:&quot;viernesnegro.jpg&quot;,&quot;path&quot;:&quot;https:\/\/cnet4.cbsistatic.com\/img\/e6vO1LTPdKpSs3924nDWctNCZMY=\/2017\/11\/22\/154d2576-1ff8-41d8-ac2a-414450d5ee6c\/viernesnegro.jpg&quot;,&quot;size&quot;:278742,&quot;height&quot;:900,&quot;width&quot;:1600,&quot;dateCreated&quot;:{&quot;date&quot;:&quot;2017-11-22 22:32:03&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;dateUpdated&quot;:{&quot;date&quot;:&quot;2017-11-22 22:32:03&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;needsModeration&quot;:0,&quot;mimeType&quot;:&quot;image\/jpeg&quot;,&quot;deleted&quot;:0,&quot;preferred&quot;:0,&quot;watermark&quot;:0,&quot;alt&quot;:&quot;viernesnegro&quot;},&quot;thumbnail&quot;:&quot;https:\/\/cdn4.cnet.com\/img\/fcY_4UWuEddB5TbPXMSaNvgfcec=\/fit-in\/194x109\/2017\/11\/22\/154d2576-1ff8-41d8-ac2a-414450d5ee6c\/viernesnegro.jpg&quot;,&quot;isVertical&quot;:false,&quot;m3u8&quot;:&quot;\/es\/videos\/manifest\/consejos-ofertas-viernes-negro.m3u8&quot;,&quot;mp4&quot;:&quot;https:\/\/cnetmedia-a.akamaihd.net\/21923\/2017\/11\/22\/1102073923731\/semana_nov22_1270073_740.mp4&quot;,&quot;selector&quot;:&quot;\/es\/videos\/selector\/consejos-ofertas-viernes-negro\/&quot;},{&quot;id&quot;:&quot;db8b62cc-68fc-4f96-8fbc-bcbe5d4f8a1c&quot;,&quot;title&quot;:&quot;El desembarco de Xiaomi en Espa\u00f1a y la previa del OnePlus 5T&quot;,&quot;description&quot;:&quot;[La semana en CNET en Espa\u00f1ol #162] La fabricante de celulares china llega a Espa\u00f1a con m\u00e1s de seis tel\u00e9fonos de menos de 300 euros, y el OnePlus 5T se presentar\u00e1 el 16 de noviembre en Estados Unidos.&quot;,&quot;slug&quot;:&quot;el-desembarco-de-xiaomi-en-espana-y-la-previa-del-oneplus-5t&quot;,&quot;chapters&quot;:&quot;&quot;,&quot;duration&quot;:500,&quot;hasCaptions&quot;:true,&quot;mpxId&quot;:1093211715579,&quot;mpxRefId&quot;:&quot;APQJZKaXzbhmwxYJcFFg_AHYIHfLWNU6&quot;,&quot;ratingVChip&quot;:&quot;&quot;,&quot;primaryTopic&quot;:{&quot;id&quot;:&quot;&quot;},&quot;author&quot;:{&quot;id&quot;:&quot;272ff2eb-03d3-4e24-9b55-09f4633368f9&quot;,&quot;firstName&quot;:&quot;Mariana&quot;,&quot;lastName&quot;:&quot;Marcaletti&quot;},&quot;primaryCollection&quot;:{&quot;id&quot;:&quot;b45f7536-5ba2-40d8-a054-40341b279649&quot;,&quot;title&quot;:[&quot;La semana&quot;]},&quot;image&quot;:{&quot;id&quot;:&quot;96ec74ea-1acb-48be-b74e-816ba301d19a&quot;,&quot;name&quot;:&quot;oneplus-5t&quot;,&quot;filename&quot;:&quot;oneplus-5t.jpg&quot;,&quot;path&quot;:&quot;https:\/\/cnet4.cbsistatic.com\/img\/KK0CqnMaqMxZ9bC-3jbAiQhnutM=\/2017\/10\/30\/96ec74ea-1acb-48be-b74e-816ba301d19a\/oneplus-5t.jpg&quot;,&quot;caption&quot;:&quot;&lt;p>Una supuesta foto del OnePlus 5T filtrada en China.&lt;\/p>&quot;,&quot;size&quot;:41019,&quot;height&quot;:592,&quot;width&quot;:690,&quot;dateCreated&quot;:{&quot;date&quot;:&quot;2017-10-30 19:55:39&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;dateUpdated&quot;:{&quot;date&quot;:&quot;2017-10-30 19:56:18&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;needsModeration&quot;:0,&quot;mimeType&quot;:&quot;image\/jpeg&quot;,&quot;deleted&quot;:0,&quot;preferred&quot;:0,&quot;watermark&quot;:0,&quot;credits&quot;:&quot;Weibo&quot;,&quot;alt&quot;:&quot;oneplus-5t&quot;},&quot;thumbnail&quot;:&quot;https:\/\/cdn2.cnet.com\/img\/9CtVwepYPv7fktP5LlCjoAjq0is=\/fit-in\/194x109\/2017\/10\/30\/96ec74ea-1acb-48be-b74e-816ba301d19a\/oneplus-5t.jpg&quot;,&quot;isVertical&quot;:false,&quot;m3u8&quot;:&quot;\/es\/videos\/manifest\/el-desembarco-de-xiaomi-en-espana-y-la-previa-del-oneplus-5t.m3u8&quot;,&quot;mp4&quot;:&quot;https:\/\/cnetmedia-a.akamaihd.net\/21923\/2017\/11\/10\/1093211715579\/es_lasemana_9noviembre02_1259372_740.mp4&quot;,&quot;selector&quot;:&quot;\/es\/videos\/selector\/el-desembarco-de-xiaomi-en-espana-y-la-previa-del-oneplus-5t\/&quot;},{&quot;id&quot;:&quot;283c729a-eeeb-454b-ae03-d1d95229031d&quot;,&quot;title&quot;:&quot;Google Assistant habla espa\u00f1ol y el iPhone X presenta un nuevo idioma de dise\u00f1o&quot;,&quot;description&quot;:&quot;[La semana en CNET en Espa\u00f1ol #161] El asistente virtual de Google ahora domina el idioma de Cervantes, y el iPhone X inaugura nuevos gestos y un nuevo lenguaje de dise\u00f1o de la marca.&quot;,&quot;slug&quot;:&quot;google-assistant-habla-espanol-y-el-iphone-x-un-nuevo-idioma&quot;,&quot;chapters&quot;:&quot;&quot;,&quot;duration&quot;:683,&quot;hasCaptions&quot;:true,&quot;mpxId&quot;:1087923267594,&quot;mpxRefId&quot;:&quot;jCXv62P0jCNTJB3jKuthMzA3CV0ghejk&quot;,&quot;ratingVChip&quot;:&quot;&quot;,&quot;primaryTopic&quot;:{&quot;id&quot;:&quot;&quot;},&quot;author&quot;:{&quot;id&quot;:&quot;272ff2eb-03d3-4e24-9b55-09f4633368f9&quot;,&quot;firstName&quot;:&quot;Mariana&quot;,&quot;lastName&quot;:&quot;Marcaletti&quot;},&quot;primaryCollection&quot;:{&quot;id&quot;:&quot;b45f7536-5ba2-40d8-a054-40341b279649&quot;,&quot;title&quot;:[&quot;La semana&quot;]},&quot;image&quot;:{&quot;id&quot;:&quot;0d404b1c-30e9-4ccf-9901-d2125b2b23f2&quot;,&quot;name&quot;:&quot;iphone-x-67&quot;,&quot;filename&quot;:&quot;iphone-x-67.jpg&quot;,&quot;path&quot;:&quot;https:\/\/cnet4.cbsistatic.com\/img\/JoewZeNO5ePGyD5iGiD7VM32i9w=\/2017\/11\/03\/0d404b1c-30e9-4ccf-9901-d2125b2b23f2\/iphone-x-67.jpg&quot;,&quot;size&quot;:153088,&quot;height&quot;:900,&quot;width&quot;:1600,&quot;dateCreated&quot;:{&quot;date&quot;:&quot;2017-11-03 16:19:37&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;dateUpdated&quot;:{&quot;date&quot;:&quot;2017-11-03 16:19:37&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;needsModeration&quot;:0,&quot;mimeType&quot;:&quot;image\/jpeg&quot;,&quot;deleted&quot;:0,&quot;preferred&quot;:0,&quot;watermark&quot;:0,&quot;alt&quot;:&quot;iphone-x-67&quot;},&quot;thumbnail&quot;:&quot;https:\/\/cdn3.cnet.com\/img\/6fdfuTdyxV3t7waWLSKyE6df3fY=\/fit-in\/194x109\/2017\/11\/03\/0d404b1c-30e9-4ccf-9901-d2125b2b23f2\/iphone-x-67.jpg&quot;,&quot;isVertical&quot;:false,&quot;m3u8&quot;:&quot;\/es\/videos\/manifest\/google-assistant-habla-espanol-y-el-iphone-x-un-nuevo-idioma.m3u8&quot;,&quot;mp4&quot;:&quot;https:\/\/cnetmedia-a.akamaihd.net\/21923\/2017\/11\/03\/1087923267594\/semananov2_1253191_740.mp4&quot;,&quot;selector&quot;:&quot;\/es\/videos\/selector\/google-assistant-habla-espanol-y-el-iphone-x-un-nuevo-idioma\/&quot;},{&quot;id&quot;:&quot;a3c0de25-3d75-44b9-9c83-6925dbd3ebb2&quot;,&quot;title&quot;:&quot;La pantalla del Pixel 2 XL, la llave maestra de Amazon y el inminente iPhone X&quot;,&quot;description&quot;:&quot;[La semana en CNET en Espa\u00f1ol #160] Analizamos los problemas con el panel OLED del tel\u00e9fono de Google, los env\u00edos de Amazon entran en tu hogar y ya est\u00e1 a la puerta el nuevo tel\u00e9fono de Apple.&quot;,&quot;slug&quot;:&quot;la-pantalla-de-pixel-2-xl-la-llave-maestra-de-amazon-y-el-inminente-iphone-x&quot;,&quot;chapters&quot;:&quot;&quot;,&quot;duration&quot;:574,&quot;hasCaptions&quot;:true,&quot;mpxId&quot;:1082906179568,&quot;mpxRefId&quot;:&quot;t4LPcFt8Hmm8Vg7U8o4s4_E0Xn_xqxAj&quot;,&quot;ratingVChip&quot;:&quot;&quot;,&quot;primaryTopic&quot;:{&quot;id&quot;:&quot;&quot;},&quot;author&quot;:{&quot;id&quot;:&quot;272ff2eb-03d3-4e24-9b55-09f4633368f9&quot;,&quot;firstName&quot;:&quot;Mariana&quot;,&quot;lastName&quot;:&quot;Marcaletti&quot;},&quot;primaryCollection&quot;:{&quot;id&quot;:&quot;b45f7536-5ba2-40d8-a054-40341b279649&quot;,&quot;title&quot;:[&quot;La semana&quot;]},&quot;image&quot;:{&quot;id&quot;:&quot;00597069-4f14-41dd-b1f1-e7bc413d4e17&quot;,&quot;name&quot;:&quot;Google Pixel 2 XL screen burn-in&quot;,&quot;filename&quot;:&quot;screen-problems-2405-001.jpg&quot;,&quot;path&quot;:&quot;https:\/\/cnet4.cbsistatic.com\/img\/zM13Oy086Lnor1efnDjx0mVca88=\/2017\/10\/23\/00597069-4f14-41dd-b1f1-e7bc413d4e17\/screen-problems-2405-001.jpg&quot;,&quot;caption&quot;:&quot;&lt;p>&lt;\/p>&quot;,&quot;size&quot;:1865911,&quot;height&quot;:1467,&quot;width&quot;:2200,&quot;dateCreated&quot;:{&quot;date&quot;:&quot;2017-10-23 19:09:04&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;dateUpdated&quot;:{&quot;date&quot;:&quot;2017-10-23 19:09:23&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;needsModeration&quot;:0,&quot;mimeType&quot;:&quot;image\/jpeg&quot;,&quot;deleted&quot;:0,&quot;preferred&quot;:0,&quot;watermark&quot;:1,&quot;credits&quot;:&quot;Josh Miller\/CNET&quot;,&quot;alt&quot;:&quot;Google Pixel 2 XL screen burn-in&quot;},&quot;thumbnail&quot;:&quot;https:\/\/cdn4.cnet.com\/img\/XTHaIZ7ZBuXvKPKB5niFqcP_23M=\/fit-in\/194x109\/2017\/10\/23\/00597069-4f14-41dd-b1f1-e7bc413d4e17\/screen-problems-2405-001.jpg&quot;,&quot;isVertical&quot;:false,&quot;m3u8&quot;:&quot;\/es\/videos\/manifest\/la-pantalla-de-pixel-2-xl-la-llave-maestra-de-amazon-y-el-inminente-iphone-x.m3u8&quot;,&quot;mp4&quot;:&quot;https:\/\/cnetmedia-a.akamaihd.net\/21923\/2017\/10\/27\/1082906179568\/es_lasemana27october_1247416_740.mp4&quot;,&quot;selector&quot;:&quot;\/es\/videos\/selector\/la-pantalla-de-pixel-2-xl-la-llave-maestra-de-amazon-y-el-inminente-iphone-x\/&quot;},{&quot;id&quot;:&quot;ae23b111-1e88-4edd-b1b5-dfed3e0cb061&quot;,&quot;title&quot;:&quot;Se consolida el hogar inteligente y aparece el fallo KRACK&quot;,&quot;description&quot;:&quot;[La semana en CNET en Espa\u00f1ol #159] Esta semana hablamos de la nueva plataforma de Samsung para el Internet de las Cosas, de la vulnerabilidad KRACK y de los nuevos tel\u00e9fonos en el mercado.&quot;,&quot;slug&quot;:&quot;la-semana-oct-19-cnet-espanol&quot;,&quot;chapters&quot;:&quot;&quot;,&quot;duration&quot;:691,&quot;hasCaptions&quot;:true,&quot;mpxId&quot;:1077887555736,&quot;mpxRefId&quot;:&quot;H4gkX0JjbU6b4gxZOkirySjFp3Z845dA&quot;,&quot;ratingVChip&quot;:&quot;&quot;,&quot;primaryTopic&quot;:{&quot;id&quot;:&quot;&quot;},&quot;author&quot;:{&quot;id&quot;:&quot;6a9b3b6b-575a-4b66-b4b2-4aedee01be6d&quot;,&quot;firstName&quot;:&quot;Gabriel&quot;,&quot;lastName&quot;:&quot;Sama&quot;},&quot;primaryCollection&quot;:{&quot;id&quot;:&quot;b45f7536-5ba2-40d8-a054-40341b279649&quot;,&quot;title&quot;:[&quot;La semana&quot;]},&quot;image&quot;:{&quot;id&quot;:&quot;d704b38b-cafe-414b-879b-459dd712796c&quot;,&quot;name&quot;:&quot;zte-axon-m-9755-024&quot;,&quot;filename&quot;:&quot;zte-axon-m-9755-024.jpg&quot;,&quot;path&quot;:&quot;https:\/\/cnet4.cbsistatic.com\/img\/VAqXY-db6xzcKly6P5BNqbaHpQw=\/2017\/10\/20\/d704b38b-cafe-414b-879b-459dd712796c\/zte-axon-m-9755-024.jpg&quot;,&quot;size&quot;:87148,&quot;height&quot;:900,&quot;width&quot;:1600,&quot;dateCreated&quot;:{&quot;date&quot;:&quot;2017-10-20 16:33:13&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;dateUpdated&quot;:{&quot;date&quot;:&quot;2017-10-20 16:33:13&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;needsModeration&quot;:0,&quot;mimeType&quot;:&quot;image\/jpeg&quot;,&quot;deleted&quot;:0,&quot;preferred&quot;:0,&quot;watermark&quot;:0,&quot;alt&quot;:&quot;zte-axon-m-9755-024&quot;},&quot;thumbnail&quot;:&quot;https:\/\/cdn3.cnet.com\/img\/ReV56T1ZCShd3YWImeR2IWEqAXU=\/fit-in\/194x109\/2017\/10\/20\/d704b38b-cafe-414b-879b-459dd712796c\/zte-axon-m-9755-024.jpg&quot;,&quot;isVertical&quot;:false,&quot;m3u8&quot;:&quot;\/es\/videos\/manifest\/la-semana-oct-19-cnet-espanol.m3u8&quot;,&quot;mp4&quot;:&quot;https:\/\/cnetmedia-a.akamaihd.net\/21923\/2017\/10\/20\/1077887555736\/semana_oct19_1241505_740.mp4&quot;,&quot;selector&quot;:&quot;\/es\/videos\/selector\/la-semana-oct-19-cnet-espanol\/&quot;},{&quot;id&quot;:&quot;4cb73b8d-1b2f-40ef-bb98-6b093198c681&quot;,&quot;title&quot;:&quot;Un nuevo Kindle y se asoman las nuevas gafas VR de Oculus&quot;,&quot;description&quot;:&quot;[La semana en CNET en Espa\u00f1ol #158] Esta semana, lleg\u00f3 el Kindle Oasis impermeable, se anunciaron las Oculus Go y Santa Cruz para realidad virtual y hubo un problemita con la Google Home Mini.&quot;,&quot;slug&quot;:&quot;un-nuevo-kindle-y-nuevas-gafas-vr-de-oculus-se-asoman&quot;,&quot;chapters&quot;:&quot;&quot;,&quot;duration&quot;:422,&quot;hasCaptions&quot;:true,&quot;mpxId&quot;:1072264259697,&quot;mpxRefId&quot;:&quot;8RTAYZ4ou1BgXXiybOYiclkJ6avdl6SM&quot;,&quot;ratingVChip&quot;:&quot;&quot;,&quot;primaryTopic&quot;:{&quot;id&quot;:&quot;&quot;},&quot;author&quot;:{&quot;id&quot;:&quot;272ff2eb-03d3-4e24-9b55-09f4633368f9&quot;,&quot;firstName&quot;:&quot;Mariana&quot;,&quot;lastName&quot;:&quot;Marcaletti&quot;},&quot;primaryCollection&quot;:{&quot;id&quot;:&quot;b45f7536-5ba2-40d8-a054-40341b279649&quot;,&quot;title&quot;:[&quot;La semana&quot;]},&quot;image&quot;:{&quot;id&quot;:&quot;4514916c-88c7-4c00-8324-9d522e0b3047&quot;,&quot;name&quot;:&quot;kindle-oasis-covers&quot;,&quot;filename&quot;:&quot;kindle-oasis-covers.jpg&quot;,&quot;path&quot;:&quot;https:\/\/cnet4.cbsistatic.com\/img\/el7STcxt2T02OoIFWp08KB2D1Bk=\/2017\/10\/05\/4514916c-88c7-4c00-8324-9d522e0b3047\/kindle-oasis-covers.jpg&quot;,&quot;caption&quot;:&quot;&lt;p>The optional covers start at $40 and come in nylon or leather.&lt;\/p>&quot;,&quot;size&quot;:4432570,&quot;height&quot;:3024,&quot;width&quot;:4032,&quot;dateCreated&quot;:{&quot;date&quot;:&quot;2017-10-05 19:52:22&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;dateUpdated&quot;:{&quot;date&quot;:&quot;2017-10-05 19:53:38&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;startDate&quot;:{&quot;date&quot;:&quot;2017-10-11 13:00:00&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;needsModeration&quot;:0,&quot;mimeType&quot;:&quot;image\/jpeg&quot;,&quot;deleted&quot;:0,&quot;preferred&quot;:0,&quot;watermark&quot;:1,&quot;credits&quot;:&quot;David Carnoy\/CNET&quot;,&quot;alt&quot;:&quot;kindle-oasis-covers&quot;},&quot;thumbnail&quot;:&quot;https:\/\/cdn3.cnet.com\/img\/vDQrwxSq2oDqDHdtnPLwD_eJR98=\/fit-in\/194x109\/2017\/10\/05\/4514916c-88c7-4c00-8324-9d522e0b3047\/kindle-oasis-covers.jpg&quot;,&quot;isVertical&quot;:false,&quot;m3u8&quot;:&quot;\/es\/videos\/manifest\/un-nuevo-kindle-y-nuevas-gafas-vr-de-oculus-se-asoman.m3u8&quot;,&quot;mp4&quot;:&quot;https:\/\/cnetmedia-a.akamaihd.net\/21923\/2017\/10\/13\/1072264259697\/es_lasemana12_oct_1235274_740.mp4&quot;,&quot;selector&quot;:&quot;\/es\/videos\/selector\/un-nuevo-kindle-y-nuevas-gafas-vr-de-oculus-se-asoman\/&quot;},{&quot;id&quot;:&quot;09051611-4cd7-4384-a459-b4a1050b5c1c&quot;,&quot;title&quot;:&quot;Google Pixel 2 y lo que nos dej\u00f3 la temporada de s\u00faper tel\u00e9fonos&quot;,&quot;description&quot;:&quot;[La semana en CNET en Espa\u00f1ol #157] La gigante de las b\u00fasquedas se anima con todo al hardware, y sus tel\u00e9fonos marcan el fin de una \u00e9poca de grandes anuncios.&quot;,&quot;slug&quot;:&quot;google-pixel-2-lo-que-nos-dejo-la-temporada-de-super-telefonos&quot;,&quot;chapters&quot;:&quot;&quot;,&quot;duration&quot;:598,&quot;hasCaptions&quot;:true,&quot;mpxId&quot;:1064365123530,&quot;mpxRefId&quot;:&quot;Us3jKld5gPd3TfSG9QLLbD5jw_vdMyds&quot;,&quot;ratingVChip&quot;:&quot;&quot;,&quot;primaryTopic&quot;:{&quot;id&quot;:&quot;&quot;},&quot;author&quot;:{&quot;id&quot;:&quot;272ff2eb-03d3-4e24-9b55-09f4633368f9&quot;,&quot;firstName&quot;:&quot;Mariana&quot;,&quot;lastName&quot;:&quot;Marcaletti&quot;},&quot;primaryCollection&quot;:{&quot;id&quot;:&quot;b45f7536-5ba2-40d8-a054-40341b279649&quot;,&quot;title&quot;:[&quot;La semana&quot;]},&quot;image&quot;:{&quot;id&quot;:&quot;d077c3c0-c88f-492f-a8a2-8b043af04f0e&quot;,&quot;name&quot;:&quot;100417-google-pixel-2-7126&quot;,&quot;filename&quot;:&quot;100417-google-pixel-2-7126.jpg&quot;,&quot;path&quot;:&quot;https:\/\/cnet4.cbsistatic.com\/img\/BNbeNYmhimN2Z_KulzpEpn0l7AI=\/2017\/10\/05\/d077c3c0-c88f-492f-a8a2-8b043af04f0e\/100417-google-pixel-2-7126.jpg&quot;,&quot;size&quot;:52547,&quot;height&quot;:467,&quot;width&quot;:830,&quot;dateCreated&quot;:{&quot;date&quot;:&quot;2017-10-05 23:35:43&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;dateUpdated&quot;:{&quot;date&quot;:&quot;2017-10-05 23:35:43&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;needsModeration&quot;:0,&quot;mimeType&quot;:&quot;image\/jpeg&quot;,&quot;deleted&quot;:0,&quot;preferred&quot;:0,&quot;watermark&quot;:0,&quot;alt&quot;:&quot;100417-google-pixel-2-7126&quot;},&quot;thumbnail&quot;:&quot;https:\/\/cdn2.cnet.com\/img\/5-e1P5u3K43hFHiSjBjhdB3f1lI=\/fit-in\/194x109\/2017\/10\/05\/d077c3c0-c88f-492f-a8a2-8b043af04f0e\/100417-google-pixel-2-7126.jpg&quot;,&quot;isVertical&quot;:false,&quot;m3u8&quot;:&quot;\/es\/videos\/manifest\/google-pixel-2-lo-que-nos-dejo-la-temporada-de-super-telefonos.m3u8&quot;,&quot;mp4&quot;:&quot;https:\/\/cnetmedia-a.akamaihd.net\/21923\/2017\/10\/06\/1064365123530\/semana_oct5_1229769_740.mp4&quot;,&quot;selector&quot;:&quot;\/es\/videos\/selector\/google-pixel-2-lo-que-nos-dejo-la-temporada-de-super-telefonos\/&quot;},{&quot;id&quot;:&quot;4bb8f3fd-304c-495e-8b83-57fcea47b89b&quot;,&quot;title&quot;:&quot;La avalancha de productos de Amazon, y tuits de 280 caracteres&quot;,&quot;description&quot;:&quot;[La semana en CNET en Espa\u00f1ol #156] Esta semana vimos nuevas bocinas de Amazon; una nueva c\u00e1mara GoPro y Twitter dijo que duplicar\u00e1 el l\u00edmite de caracteres en tuits.&quot;,&quot;slug&quot;:&quot;amazon-nuevos-productos-twitter-280-caracteres&quot;,&quot;chapters&quot;:&quot;&quot;,&quot;duration&quot;:673,&quot;hasCaptions&quot;:true,&quot;mpxId&quot;:1057969219682,&quot;mpxRefId&quot;:&quot;IUOzQ0y6ps_ludp4UH9c1EZFCsJNA7X8&quot;,&quot;ratingVChip&quot;:&quot;&quot;,&quot;primaryTopic&quot;:{&quot;id&quot;:&quot;&quot;},&quot;author&quot;:{&quot;id&quot;:&quot;272ff2eb-03d3-4e24-9b55-09f4633368f9&quot;,&quot;firstName&quot;:&quot;Mariana&quot;,&quot;lastName&quot;:&quot;Marcaletti&quot;},&quot;primaryCollection&quot;:{&quot;id&quot;:&quot;b45f7536-5ba2-40d8-a054-40341b279649&quot;,&quot;title&quot;:[&quot;La semana&quot;]},&quot;image&quot;:{&quot;id&quot;:&quot;194498de-a074-4687-ab0d-d880d5ee05de&quot;,&quot;name&quot;:&quot;amazon-spot-1&quot;,&quot;filename&quot;:&quot;amazon-spot-1.jpg&quot;,&quot;path&quot;:&quot;https:\/\/cnet4.cbsistatic.com\/img\/MLV0Q7ERz3liDf123UtGhwIuMjU=\/2017\/09\/28\/194498de-a074-4687-ab0d-d880d5ee05de\/amazon-spot-1.jpg&quot;,&quot;size&quot;:850748,&quot;height&quot;:1080,&quot;width&quot;:1920,&quot;dateCreated&quot;:{&quot;date&quot;:&quot;2017-09-28 05:39:36&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;dateUpdated&quot;:{&quot;date&quot;:&quot;2017-09-28 05:39:36&quot;,&quot;timezone_type&quot;:3,&quot;timezone&quot;:&quot;UTC&quot;},&quot;needsModeration&quot;:0,&quot;mimeType&quot;:&quot;image\/jpeg&quot;,&quot;deleted&quot;:0,&quot;preferred&quot;:0,&quot;watermark&quot;:0,&quot;alt&quot;:&quot;amazon-spot-1&quot;},&quot;thumbnail&quot;:&quot;https:\/\/cdn1.cnet.com\/img\/0t12kUyxiPUjjBEvghADT8bfI1Q=\/fit-in\/194x109\/2017\/09\/28\/194498de-a074-4687-ab0d-d880d5ee05de\/amazon-spot-1.jpg&quot;,&quot;isVertical&quot;:false,&quot;m3u8&quot;:&quot;\/es\/videos\/manifest\/amazon-nuevos-productos-twitter-280-caracteres.m3u8&quot;,&quot;mp4&quot;:&quot;https:\/\/cnetmedia-a.akamaihd.net\/21923\/2017\/09\/29\/1057969219682\/es_lasemana_28septiembre_1223993_740.mp4&quot;,&quot;selector&quot;:&quot;\/es\/videos\/selector\/amazon-nuevos-productos-twitter-280-caracteres\/&quot;}]">
<div>
<div> <svg><use aria-hidden="false" xlink:href="#play"></use></svg><svg><use aria-hidden="false" xlink:href="#pause"></use></svg><figure><img alt="" height="96" src="https://cdn1.cnet.com/img/mWcZaiA8Ngv61OQcpdoh6Ra9nY0=/170x96/2017/11/13/70540d7a-cbc5-4563-ab86-b5549ef68168/oneplus-5t-product-21.jpg" width="170"></img></figure></div>
- <p> <span>
+ <p><span>
<span>Reproduciendo:</span> <span>Mira esto:</span> </span> Google Assistant mejora, hay más cambios en Twitter y... </p>
- <p> <span>
+ <p><span>
8:09 <svg><use aria-hidden="false" xlink:href="#video"></use></svg></span> </p>
</div>
</div>
diff --git a/test/test-pages/cnet/expected-images.json b/test/test-pages/cnet/expected-images.json
index 4ea0ebb..c7a3000 100644
--- a/test/test-pages/cnet/expected-images.json
+++ b/test/test-pages/cnet/expected-images.json
@@ -1 +1 @@
-["https:\/\/cnet3.cbsistatic.com\/img\/1JaRRjqhoGxDVkFxTRRWkZgyK2Q=\/670x503\/2014\/03\/21\/863df5d9-e8b8-4b38-851b-5e3f77f2cf0e\/mark-zuckerberg-facebook-home-10671610x407.jpg","https:\/\/cnet1.cbsistatic.com\/img\/nAMdBzIE1ogVw5bOBZBaiJCt3Ro=\/570x0\/2014\/03\/21\/863df5d9-e8b8-4b38-851b-5e3f77f2cf0e\/mark-zuckerberg-facebook-home-10671610x407.jpg"] \ No newline at end of file
+["https:\/\/cnet1.cbsistatic.com\/img\/nAMdBzIE1ogVw5bOBZBaiJCt3Ro=\/570x0\/2014\/03\/21\/863df5d9-e8b8-4b38-851b-5e3f77f2cf0e\/mark-zuckerberg-facebook-home-10671610x407.jpg"] \ No newline at end of file
diff --git a/test/test-pages/cnn/expected-images.json b/test/test-pages/cnn/expected-images.json
index 87a39a3..b3a7991 100644
--- a/test/test-pages/cnn/expected-images.json
+++ b/test/test-pages/cnn/expected-images.json
@@ -1 +1 @@
-["http:\/\/i2.cdn.turner.com\/money\/dam\/assets\/141103182938-income-inequality-780x439.png","https:\/\/smrt.as\/ck"] \ No newline at end of file
+["http:\/\/i2.cdn.turner.com\/money\/dam\/assets\/141103182938-income-inequality-780x439.png"] \ No newline at end of file
diff --git a/test/test-pages/cnn/expected.html b/test/test-pages/cnn/expected.html
index 66c778d..552455f 100644
--- a/test/test-pages/cnn/expected.html
+++ b/test/test-pages/cnn/expected.html
@@ -1,22 +1,5 @@
<div id="storytext">
- <div id="js-ie-storytop">
-
-
-
- <div id="cnnplayer_cvp_story_0">
- <div>
- <div href="/video/news/2015/11/30/homeboy-industries-priest.cnnmoney" id="vid0" onclick="javascript:VideoPlayerManager.playVideos('cvp_story_0'); return false;"><video controls="controls" height="169" id="cvp_story_0" poster="" preload="metadata" src="http://ht3.cdn.turner.com/money/big/news/2015/11/30/homeboy-industries-priest.cnnmoney_1024x576.mp4" width="300"></video><div id="cvp_story_0_endSlate">
- <div>
- <div>
- <img alt="" height="348" src="" width="620"></img></div>
-
- </div>
- </div>
- </div>
- </div>
-
- </div>
- </div>
+
<h2>The U.S. has long been heralded as a land of opportunity -- a place where anyone can succeed regardless of the economic class they were born into.</h2>
<p> But a new report released on Monday by <a href="http://web.stanford.edu/group/scspi-dev/cgi-bin/" target="_blank">Stanford University's Center on Poverty and Inequality</a> calls that into question. </p>
@@ -36,7 +19,7 @@
- <img src="https://smrt.as/ck"></img></div>
+ </div>
</div>
</div>
</div>
@@ -64,5 +47,5 @@
<p> The report concluded that the American safety net was ineffective because it provides only half the financial help people need. Additionally, the levels of assistance in the U.S. are generally lower than in other countries. </p>
- <p> <span> CNNMoney (New York) </span> <span>First published February 1, 2016: 1:28 AM ET</span> </p>
+ <p><span> CNNMoney (New York) </span> <span>First published February 1, 2016: 1:28 AM ET</span> </p>
</div> \ No newline at end of file
diff --git a/test/test-pages/ehow-1/expected-images.json b/test/test-pages/ehow-1/expected-images.json
index 395e1b0..877f5f0 100644
--- a/test/test-pages/ehow-1/expected-images.json
+++ b/test/test-pages/ehow-1/expected-images.json
@@ -1 +1 @@
-["http:\/\/img-aws.ehowcdn.com\/200x200\/cme\/photography.prod.demandstudios.com\/16149374-814f-40bc-baf3-ca20f149f0ba.jpg","http:\/\/img-aws.ehowcdn.com\/640\/cme\/photography.prod.demandstudios.com\/16149374-814f-40bc-baf3-ca20f149f0ba.jpg","http:\/\/img-aws.ehowcdn.com\/default\/cme\/photography.prod.demandstudios.com\/fc249ef6-4d27-41b4-8c21-15f7a8512b50.jpg","http:\/\/img-aws.ehowcdn.com\/default\/cme\/photography.prod.demandstudios.com\/aae11d4d-a4aa-4251-a4d9-41023ebf6d84.jpg","http:\/\/img-aws.ehowcdn.com\/default\/cme\/photography.prod.demandstudios.com\/7afdfa1e-da74-44b5-b89c-ca8123516272.jpg","http:\/\/img-aws.ehowcdn.com\/default\/cme\/photography.prod.demandstudios.com\/4f6612c0-316a-4c74-bb03-cb4e778f6d72.jpg","http:\/\/img-aws.ehowcdn.com\/default\/cme\/photography.prod.demandstudios.com\/eeb1e0b4-e573-40a3-8db1-2c76f0b13b84.jpg","http:\/\/img-aws.ehowcdn.com\/default\/cme\/photography.prod.demandstudios.com\/812d4649-4152-4363-97c0-f181d02e709a.jpg","http:\/\/img-aws.ehowcdn.com\/default\/cme\/photography.prod.demandstudios.com\/0cb3988c-9318-47d6-bc9c-c798da1ede72.jpg","http:\/\/img-aws.ehowcdn.com\/640\/cme\/photography.prod.demandstudios.com\/e3e18f0b-ab2c-4ffb-9988-a1ea63faef8b.jpg","http:\/\/img-aws.ehowcdn.com\/640\/cme\/photography.prod.demandstudios.com\/2cd79f8d-0d16-4573-8861-e47fb74b0638.jpg","http:\/\/img-aws.ehowcdn.com\/640\/cme\/photography.prod.demandstudios.com\/78670312-8636-4c42-a75c-3029f7aa6c73.jpg"] \ No newline at end of file
+["http:\/\/img-aws.ehowcdn.com\/640\/cme\/photography.prod.demandstudios.com\/16149374-814f-40bc-baf3-ca20f149f0ba.jpg","http:\/\/img-aws.ehowcdn.com\/default\/cme\/photography.prod.demandstudios.com\/fc249ef6-4d27-41b4-8c21-15f7a8512b50.jpg","http:\/\/img-aws.ehowcdn.com\/default\/cme\/photography.prod.demandstudios.com\/aae11d4d-a4aa-4251-a4d9-41023ebf6d84.jpg","http:\/\/img-aws.ehowcdn.com\/default\/cme\/photography.prod.demandstudios.com\/7afdfa1e-da74-44b5-b89c-ca8123516272.jpg","http:\/\/img-aws.ehowcdn.com\/default\/cme\/photography.prod.demandstudios.com\/4f6612c0-316a-4c74-bb03-cb4e778f6d72.jpg","http:\/\/img-aws.ehowcdn.com\/default\/cme\/photography.prod.demandstudios.com\/eeb1e0b4-e573-40a3-8db1-2c76f0b13b84.jpg","http:\/\/img-aws.ehowcdn.com\/default\/cme\/photography.prod.demandstudios.com\/812d4649-4152-4363-97c0-f181d02e709a.jpg","http:\/\/img-aws.ehowcdn.com\/default\/cme\/photography.prod.demandstudios.com\/0cb3988c-9318-47d6-bc9c-c798da1ede72.jpg","http:\/\/img-aws.ehowcdn.com\/640\/cme\/photography.prod.demandstudios.com\/e3e18f0b-ab2c-4ffb-9988-a1ea63faef8b.jpg","http:\/\/img-aws.ehowcdn.com\/640\/cme\/photography.prod.demandstudios.com\/2cd79f8d-0d16-4573-8861-e47fb74b0638.jpg","http:\/\/img-aws.ehowcdn.com\/640\/cme\/photography.prod.demandstudios.com\/78670312-8636-4c42-a75c-3029f7aa6c73.jpg"] \ No newline at end of file
diff --git a/test/test-pages/ehow-1/expected-metadata.json b/test/test-pages/ehow-1/expected-metadata.json
index 6cfa7b0..9e2782b 100644
--- a/test/test-pages/ehow-1/expected-metadata.json
+++ b/test/test-pages/ehow-1/expected-metadata.json
@@ -1,5 +1,5 @@
{
- "Title": "How to Build a Terrarium (with Pictures)",
+ "Title": "How to Build a Terrarium | eHow",
"Author": "Lucy Akins",
- "Excerpt": "How to Build a Terrarium. Glass cloche terrariums are not only appealing to the eye, but they also preserve a bit of nature in your home and serve as a simple, yet beautiful, piece of art. Closed terrariums are easy to care for, as they retain much of their own moisture and provide a warm environment with a consistent level of humidity. You..."
+ "Excerpt": "Glass cloche terrariums are not only appealing to the eye, but they also preserve a bit of nature in your home and serve as a simple, yet beautiful, piece of art. Closed terrariums are easy to care for, as they retain much of their own moisture and provide a warm environment with a consistent level of humidity. You won’t have to water the..."
}
diff --git a/test/test-pages/ehow-1/expected.html b/test/test-pages/ehow-1/expected.html
index 06e78cc..397322e 100644
--- a/test/test-pages/ehow-1/expected.html
+++ b/test/test-pages/ehow-1/expected.html
@@ -10,8 +10,7 @@
<div>
<div>
- <div> <span>What You'll Need:</span>
- <ul><li>Cloche</li>
+ <div> <p><span>What You'll Need:</span></p><ul><li>Cloche</li>
<li>Planter saucer, small shallow dish or desired platform</li>
<li>Floral foam oasis</li>
<li>Ruler </li>
@@ -26,8 +25,7 @@
</div>
<div>
<div>
- <div> <span>Step 1</span>
- <p>Measure the circumference of your cloche and cut the foam oasis about 3/4 inch (2 cm) smaller. Place the foam oasis into a container full of water and allow to soak until it sinks to the bottom. Dig out a hole on the oasis large enough to fit your plant, being careful not to pierce all the way through to the bottom.</p>
+ <div> <p><span>Step 1</span></p><p>Measure the circumference of your cloche and cut the foam oasis about 3/4 inch (2 cm) smaller. Place the foam oasis into a container full of water and allow to soak until it sinks to the bottom. Dig out a hole on the oasis large enough to fit your plant, being careful not to pierce all the way through to the bottom.</p>
</div>
<figure><img alt="Dig a hole in the oasis." data-credit="Lucy Akins" src="http://img-aws.ehowcdn.com/default/cme/photography.prod.demandstudios.com/fc249ef6-4d27-41b4-8c21-15f7a8512b50.jpg"></img></figure><figcaption> Dig a hole in the oasis. (Lucy Akins) </figcaption></div>
</div>
@@ -35,64 +33,55 @@
<div>
<div>
- <div> <span>Step 2</span>
- <p>Insert your plant into the hole.</p>
+ <div> <p><span>Step 2</span></p><p>Insert your plant into the hole.</p>
</div>
<figure><img alt="Orchid in foam oasis" data-credit="Lucy Akins" src="http://img-aws.ehowcdn.com/default/cme/photography.prod.demandstudios.com/aae11d4d-a4aa-4251-a4d9-41023ebf6d84.jpg"></img></figure><figcaption> Orchid in foam oasis (Lucy Akins) </figcaption></div>
</div>
<div>
<div>
- <div> <span>Step 3</span>
- <p>You can add various plants if you wish.</p>
+ <div> <p><span>Step 3</span></p><p>You can add various plants if you wish.</p>
</div>
<figure><img alt="Various foliage" data-credit="Lucy Akins" src="http://img-aws.ehowcdn.com/default/cme/photography.prod.demandstudios.com/7afdfa1e-da74-44b5-b89c-ca8123516272.jpg"></img></figure><figcaption> Various foliage (Lucy Akins) </figcaption></div>
</div>
<div>
<div>
- <div> <span>Step 4</span>
- <p>Using floral pins, attach enough moss around the oasis to cover it.</p>
+ <div> <p><span>Step 4</span></p><p>Using floral pins, attach enough moss around the oasis to cover it.</p>
</div>
<figure><img alt="Attach moss." data-credit="Lucy Akins" src="http://img-aws.ehowcdn.com/default/cme/photography.prod.demandstudios.com/4f6612c0-316a-4c74-bb03-cb4e778f6d72.jpg"></img></figure><figcaption> Attach moss. (Lucy Akins) </figcaption></div>
</div>
<div>
<div>
- <div> <span>Step 5</span>
- <p>Gently place the cloche over the oasis. The glass may push some of the moss upward, exposing some of the foam.</p>
+ <div> <p><span>Step 5</span></p><p>Gently place the cloche over the oasis. The glass may push some of the moss upward, exposing some of the foam.</p>
</div>
<figure><img alt="Place cloche over oasis." data-credit="Lucy Akins" src="http://img-aws.ehowcdn.com/default/cme/photography.prod.demandstudios.com/eeb1e0b4-e573-40a3-8db1-2c76f0b13b84.jpg"></img></figure><figcaption> Place cloche over oasis. (Lucy Akins) </figcaption></div>
</div>
<div>
<div>
- <div> <span>Step 6</span>
- <p>Simply pull down the moss with tweezers or insert more moss to fill in the empty spaces.</p>
+ <div> <p><span>Step 6</span></p><p>Simply pull down the moss with tweezers or insert more moss to fill in the empty spaces.</p>
</div>
<figure><img alt="Rearrange moss." data-credit="Lucy Akins" src="http://img-aws.ehowcdn.com/default/cme/photography.prod.demandstudios.com/812d4649-4152-4363-97c0-f181d02e709a.jpg"></img></figure><figcaption> Rearrange moss. (Lucy Akins) </figcaption></div>
</div>
<div>
<div>
- <div> <span>Step 7</span>
- <p>You can use any platform you wish. In this case, a small saucer was used.</p>
+ <div> <p><span>Step 7</span></p><p>You can use any platform you wish. In this case, a small saucer was used.</p>
</div>
<figure><img alt="Place cloche on a platform to sit on." data-credit="Lucy Akins" src="http://img-aws.ehowcdn.com/default/cme/photography.prod.demandstudios.com/0cb3988c-9318-47d6-bc9c-c798da1ede72.jpg"></img></figure><figcaption> Place cloche on a platform to sit on. (Lucy Akins) </figcaption></div>
</div>
<div>
<div>
- <div> <span>Step 8</span>
- <p>This particular terrarium rests on a planter saucer and features a small white pumpkin.</p>
+ <div> <p><span>Step 8</span></p><p>This particular terrarium rests on a planter saucer and features a small white pumpkin.</p>
</div>
<figure><img alt="Cloche placed on a terracotta saucer" data-credit="Lucy Akins" src="http://img-aws.ehowcdn.com/640/cme/photography.prod.demandstudios.com/e3e18f0b-ab2c-4ffb-9988-a1ea63faef8b.jpg"></img></figure><figcaption> Cloche placed on a terracotta saucer (Lucy Akins) </figcaption></div>
</div>
<div>
<div>
- <div> <span>Step 9</span>
- <p>This particular terrarium was placed on a wood slice and a little toy squirrel was placed inside to add a little whimsy.</p>
+ <div> <p><span>Step 9</span></p><p>This particular terrarium was placed on a wood slice and a little toy squirrel was placed inside to add a little whimsy.</p>
</div>
<figure><img alt="Placed on a wooden slice" data-credit="Lucy Akins" src="http://img-aws.ehowcdn.com/640/cme/photography.prod.demandstudios.com/2cd79f8d-0d16-4573-8861-e47fb74b0638.jpg"></img></figure><figcaption> Placed on a wooden slice (Lucy Akins) </figcaption></div>
</div>
<div>
<div>
- <div> <span>Finished Terrarium</span>
- <p>Displayed alone or in a group, these pretty arrangements allow you to add a little nature to your decor or tablescape.</p>
+ <div> <p><span>Finished Terrarium</span></p><p>Displayed alone or in a group, these pretty arrangements allow you to add a little nature to your decor or tablescape.</p>
</div>
<figure><img alt="Cloche terrarium" data-credit="Lucy Akins" src="http://img-aws.ehowcdn.com/640/cme/photography.prod.demandstudios.com/78670312-8636-4c42-a75c-3029f7aa6c73.jpg"></img></figure><figcaption> Cloche terrarium (Lucy Akins) </figcaption></div>
</div>
diff --git a/test/test-pages/ehow-2/expected-images.json b/test/test-pages/ehow-2/expected-images.json
index 6a4dc34..fab0b15 100644
--- a/test/test-pages/ehow-2/expected-images.json
+++ b/test/test-pages/ehow-2/expected-images.json
@@ -1 +1 @@
-{"0":"http:\/\/img-aws.ehowcdn.com\/200x200\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/2F\/86\/5547EF62-EAF5-4256-945D-0496F61C862F\/5547EF62-EAF5-4256-945D-0496F61C862F.jpg","1":"http:\/\/img-aws.ehowcdn.com\/60x60\/cme\/cme_public_images\/www_demandstudios_com\/sitelife.studiod.com\/ver1.0\/Content\/images\/store\/9\/2\/d9dd6f61-b183-4893-927f-5b540e45be91.Small.jpg","3":"http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/2F\/86\/5547EF62-EAF5-4256-945D-0496F61C862F\/5547EF62-EAF5-4256-945D-0496F61C862F.jpg","4":"http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/FE\/CB\/121569D2-6984-4B2F-83C4-9D2D9A27CBFE\/121569D2-6984-4B2F-83C4-9D2D9A27CBFE.jpg","5":"http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/DF\/FC\/A05B0252-BD73-4BC7-A09A-96F0A504FCDF\/A05B0252-BD73-4BC7-A09A-96F0A504FCDF.jpg","6":"http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/EB\/DB\/8A04CCA7-3255-4225-B59A-C41441F8DBEB\/8A04CCA7-3255-4225-B59A-C41441F8DBEB.jpg","7":"http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/94\/10\/08035476-0167-4A03-AADC-13A7E7AA1094\/08035476-0167-4A03-AADC-13A7E7AA1094.jpg","8":"http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/06\/49\/4AD62696-FC95-4DA2-8351-42740C7B4906\/4AD62696-FC95-4DA2-8351-42740C7B4906.jpg","9":"http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/D0\/51\/B6AED06C-5E19-4A26-9AAD-0E175F6251D0\/B6AED06C-5E19-4A26-9AAD-0E175F6251D0.jpg","10":"http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/35\/B4\/DD5FD05A-B631-4AFE-BC8F-FDACAD1EB435\/DD5FD05A-B631-4AFE-BC8F-FDACAD1EB435.jpg","11":"http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/A1\/FA\/2C368B34-8F6A-45F6-9DFC-0B0C4E33FAA1\/2C368B34-8F6A-45F6-9DFC-0B0C4E33FAA1.jpg"} \ No newline at end of file
+["http:\/\/img-aws.ehowcdn.com\/60x60\/cme\/cme_public_images\/www_demandstudios_com\/sitelife.studiod.com\/ver1.0\/Content\/images\/store\/9\/2\/d9dd6f61-b183-4893-927f-5b540e45be91.Small.jpg","http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/2F\/86\/5547EF62-EAF5-4256-945D-0496F61C862F\/5547EF62-EAF5-4256-945D-0496F61C862F.jpg","http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/FE\/CB\/121569D2-6984-4B2F-83C4-9D2D9A27CBFE\/121569D2-6984-4B2F-83C4-9D2D9A27CBFE.jpg","http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/DF\/FC\/A05B0252-BD73-4BC7-A09A-96F0A504FCDF\/A05B0252-BD73-4BC7-A09A-96F0A504FCDF.jpg","http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/EB\/DB\/8A04CCA7-3255-4225-B59A-C41441F8DBEB\/8A04CCA7-3255-4225-B59A-C41441F8DBEB.jpg","http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/94\/10\/08035476-0167-4A03-AADC-13A7E7AA1094\/08035476-0167-4A03-AADC-13A7E7AA1094.jpg","http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/06\/49\/4AD62696-FC95-4DA2-8351-42740C7B4906\/4AD62696-FC95-4DA2-8351-42740C7B4906.jpg","http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/D0\/51\/B6AED06C-5E19-4A26-9AAD-0E175F6251D0\/B6AED06C-5E19-4A26-9AAD-0E175F6251D0.jpg","http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/35\/B4\/DD5FD05A-B631-4AFE-BC8F-FDACAD1EB435\/DD5FD05A-B631-4AFE-BC8F-FDACAD1EB435.jpg","http:\/\/img-aws.ehowcdn.com\/640\/cme\/cme_public_images\/www_ehow_com\/cdn-write.demandstudios.com\/upload\/image\/A1\/FA\/2C368B34-8F6A-45F6-9DFC-0B0C4E33FAA1\/2C368B34-8F6A-45F6-9DFC-0B0C4E33FAA1.jpg"] \ No newline at end of file
diff --git a/test/test-pages/ehow-2/expected-metadata.json b/test/test-pages/ehow-2/expected-metadata.json
index 653912e..2967b61 100644
--- a/test/test-pages/ehow-2/expected-metadata.json
+++ b/test/test-pages/ehow-2/expected-metadata.json
@@ -1,5 +1,5 @@
{
- "Title": "How to Throw a Graduation Party on a Budget (with Pictures)",
+ "Title": "How to Throw a Graduation Party on a Budget | eHow",
"Author": "Gina Roberts-Grey",
- "Excerpt": "How to Throw a Graduation Party on a Budget. Graduation parties are a great way to commemorate the years of hard work teens and college co-eds devote to education. They’re also costly for mom and dad.The average cost of a graduation party in 2013 was a whopping $1,200, according to Graduationparty.com; $700 of that was allocated for food...."
+ "Excerpt": "Graduation parties are a great way to commemorate the years of hard work teens and college co-eds devote to education. They’re also costly for mom and dad.The average cost of a graduation party in 2013 was a whopping $1,200, according to Graduationparty.com; $700 of that was allocated for food. However that budget was based on Midwestern..."
}
diff --git a/test/test-pages/ehow-2/expected.html b/test/test-pages/ehow-2/expected.html
index e7d33e8..ea7d138 100644
--- a/test/test-pages/ehow-2/expected.html
+++ b/test/test-pages/ehow-2/expected.html
@@ -3,18 +3,11 @@
<header>
<div data-type="AuthorProfile">
<div>
- <a href="http://fakehost/contributor/gina_robertsgrey/" id="img-follow-tip" target="_top">
- <img data-failover="//img-aws.ehowcdn.com/60x60/ehow-cdn-assets/test15/media/images/authors/missing-author-image.png" onerror="var failover = this.getAttribute('data-failover');&#xA; if (failover) failover = failover.replace(/^https?:/,'');&#xA; var src = this.src ? this.src.replace(/^https?:/,'') : '';&#xA; if (src != failover){&#xA; this.src = failover;&#xA; }" src="http://img-aws.ehowcdn.com/60x60/cme/cme_public_images/www_demandstudios_com/sitelife.studiod.com/ver1.0/Content/images/store/9/2/d9dd6f61-b183-4893-927f-5b540e45be91.Small.jpg"></img></a>
-
+ <p><a href="http://fakehost/contributor/gina_robertsgrey/" id="img-follow-tip" target="_top">
+ <img data-failover="//img-aws.ehowcdn.com/60x60/ehow-cdn-assets/test15/media/images/authors/missing-author-image.png" onerror="var failover = this.getAttribute('data-failover');&#xA; if (failover) failover = failover.replace(/^https?:/,'');&#xA; var src = this.src ? this.src.replace(/^https?:/,'') : '';&#xA; if (src != failover){&#xA; this.src = failover;&#xA; }" src="http://img-aws.ehowcdn.com/60x60/cme/cme_public_images/www_demandstudios_com/sitelife.studiod.com/ver1.0/Content/images/store/9/2/d9dd6f61-b183-4893-927f-5b540e45be91.Small.jpg"></img></a></p>
</div>
- <div data-author-url="/contributor/gina_robertsgrey/" id="author_powertip">
- <a href="http://fakehost/contributor/gina_robertsgrey/" target="_top">
- <img data-failover="//img-aws.ehowcdn.com/60x60/ehow-cdn-assets/test15/media/images/authors/missing-author-image.png" onerror="var failover = this.getAttribute('data-failover');&#xA; if (failover) failover = failover.replace(/^https?:/,'');&#xA; var src = this.src ? this.src.replace(/^https?:/,'') : '';&#xA; if (src != failover){&#xA; this.src = failover;&#xA; }" src="http://img-aws.ehowcdn.com/60x60/cme/cme_public_images/www_demandstudios_com/sitelife.studiod.com/ver1.0/Content/images/store/9/2/d9dd6f61-b183-4893-927f-5b540e45be91.Small.jpg"></img></a>
-
- <p>Follow</p>
- </div>
- <p>
- <time datetime="2016-09-14T07:07:00-04:00" itemprop="dateModified">Last updated September 14, 2016</time></p>
+
+ <p><time datetime="2016-09-14T07:07:00-04:00" itemprop="dateModified">Last updated September 14, 2016</time></p>
</div>
@@ -36,8 +29,7 @@
<span>
<div>
<div>
-<div>
-<span><p>Parties hosted at restaurants, clubhouses and country clubs eliminate the need to spend hours cleaning up once party guests have gone home. But that convenience comes with a price tag. A country club may charge as much as $2,000 for room rental and restaurant food and beverage will almost always cost more than food prepped and served at home.</p></span> </div>
+<p><span><p>Parties hosted at restaurants, clubhouses and country clubs eliminate the need to spend hours cleaning up once party guests have gone home. But that convenience comes with a price tag. A country club may charge as much as $2,000 for room rental and restaurant food and beverage will almost always cost more than food prepped and served at home.</p></span> </p>
<figure><img alt="Save money hosting the party at home." data-credit="Thomas Jackson/Digital Vision/Getty Images" data-pin-ehow-hover="true" data-pin-no-hover="true" src="http://img-aws.ehowcdn.com/640/cme/cme_public_images/www_ehow_com/cdn-write.demandstudios.com/upload/image/FE/CB/121569D2-6984-4B2F-83C4-9D2D9A27CBFE/121569D2-6984-4B2F-83C4-9D2D9A27CBFE.jpg"></img></figure><figcaption>
Thomas Jackson/Digital Vision/Getty Images </figcaption></div>
</div>
@@ -47,9 +39,8 @@
<span>
<div>
<div>
-<div>
-<span><p>Instead of hiring a DJ, use your iPod or Smartphone to spin the tunes. Both easily hook up to most speakers or mp3 compatible docks to play music from your music library. Or download Pandora, the free online radio app, and play hours of music for free.</p>
-<p>Personalize the music with a playlist of the grad’s favorite songs or songs that were big hits during his or her years in school.</p></span> </div>
+<p><span><p>Instead of hiring a DJ, use your iPod or Smartphone to spin the tunes. Both easily hook up to most speakers or mp3 compatible docks to play music from your music library. Or download Pandora, the free online radio app, and play hours of music for free.</p>
+<p>Personalize the music with a playlist of the grad’s favorite songs or songs that were big hits during his or her years in school.</p></span> </p>
<figure><img alt="Online radio can take the place of a hired DJ." data-credit="Spencer Platt/Getty Images News/Getty Images" data-pin-ehow-hover="true" data-pin-no-hover="true" src="http://img-aws.ehowcdn.com/640/cme/cme_public_images/www_ehow_com/cdn-write.demandstudios.com/upload/image/DF/FC/A05B0252-BD73-4BC7-A09A-96F0A504FCDF/A05B0252-BD73-4BC7-A09A-96F0A504FCDF.jpg"></img></figure><figcaption>
Spencer Platt/Getty Images News/Getty Images </figcaption></div>
</div>
@@ -59,8 +50,7 @@
<span>
<div>
<div>
-<div>
-<span><p>Avoid canned drinks, which guests often open, but don't finish. Serve pitchers of tap water with lemon and cucumber slices or sliced strawberries for an interesting and refreshing flavor. Opt for punches and non-alcoholic drinks for high school graduates that allow guests to dole out the exact amount they want to drink.</p></span> </div>
+<p><span><p>Avoid canned drinks, which guests often open, but don't finish. Serve pitchers of tap water with lemon and cucumber slices or sliced strawberries for an interesting and refreshing flavor. Opt for punches and non-alcoholic drinks for high school graduates that allow guests to dole out the exact amount they want to drink.</p></span> </p>
<figure><img alt="Serve drinks in pitchers, not in cans." data-credit="evgenyb/iStock/Getty Images" data-pin-ehow-hover="true" data-pin-no-hover="true" src="http://img-aws.ehowcdn.com/640/cme/cme_public_images/www_ehow_com/cdn-write.demandstudios.com/upload/image/EB/DB/8A04CCA7-3255-4225-B59A-C41441F8DBEB/8A04CCA7-3255-4225-B59A-C41441F8DBEB.jpg"></img></figure><figcaption>
evgenyb/iStock/Getty Images </figcaption></div>
</div>
@@ -71,8 +61,7 @@
<span>
<div>
<div>
-<div>
-<span><p>Instead of inviting everyone you – and the graduate – know or ever knew, scale back the guest list. Forgo inviting guests that you or your grad haven't seen for eons. There is no reason to provide provisions for people who are essentially out of your lives. Sticking to a small, but personal, guest list allows more time to mingle with loved ones during the party, too.</p></span> </div>
+<p><span><p>Instead of inviting everyone you – and the graduate – know or ever knew, scale back the guest list. Forgo inviting guests that you or your grad haven't seen for eons. There is no reason to provide provisions for people who are essentially out of your lives. Sticking to a small, but personal, guest list allows more time to mingle with loved ones during the party, too.</p></span> </p>
<figure><img alt="Limit guests to those close to the graduate." data-credit="Kane Skennar/Photodisc/Getty Images" data-pin-ehow-hover="true" data-pin-no-hover="true" src="http://img-aws.ehowcdn.com/640/cme/cme_public_images/www_ehow_com/cdn-write.demandstudios.com/upload/image/94/10/08035476-0167-4A03-AADC-13A7E7AA1094/08035476-0167-4A03-AADC-13A7E7AA1094.jpg"></img></figure><figcaption>
Kane Skennar/Photodisc/Getty Images </figcaption></div>
</div>
@@ -82,8 +71,7 @@
<span>
<div>
<div>
-<div>
-<span><p>See if your grad and his best friend, girlfriend or close family member would consider hosting a joint party. You can split some of the expenses, especially when the two graduates share mutual friends. You'll also have another parent to bounce ideas off of and to help you stick to your budget when you're tempted to splurge.</p></span> </div>
+<p><span><p>See if your grad and his best friend, girlfriend or close family member would consider hosting a joint party. You can split some of the expenses, especially when the two graduates share mutual friends. You'll also have another parent to bounce ideas off of and to help you stick to your budget when you're tempted to splurge.</p></span> </p>
<figure><img alt="Throw a joint bash for big savings." data-credit="Mike Watson Images/Moodboard/Getty" data-pin-ehow-hover="true" data-pin-no-hover="true" src="http://img-aws.ehowcdn.com/640/cme/cme_public_images/www_ehow_com/cdn-write.demandstudios.com/upload/image/06/49/4AD62696-FC95-4DA2-8351-42740C7B4906/4AD62696-FC95-4DA2-8351-42740C7B4906.jpg"></img></figure><figcaption>
Mike Watson Images/Moodboard/Getty </figcaption></div>
</div>
@@ -93,9 +81,8 @@
<span>
<div>
<div>
-<div>
-<span><p>Skip carving stations of prime rib and jumbo shrimp as appetizers, especially for high school graduation parties. Instead, serve some of the graduate's favorite side dishes that are cost effective, like a big pot of spaghetti with breadsticks. Opt for easy and simple food such as pizza, finger food and mini appetizers. </p>
-<p>Avoid pre-packaged foods and pre-made deli platters. These can be quite costly. Instead, make your own cheese and deli platters for less than half the cost of pre-made.</p></span> </div>
+<p><span><p>Skip carving stations of prime rib and jumbo shrimp as appetizers, especially for high school graduation parties. Instead, serve some of the graduate's favorite side dishes that are cost effective, like a big pot of spaghetti with breadsticks. Opt for easy and simple food such as pizza, finger food and mini appetizers. </p>
+<p>Avoid pre-packaged foods and pre-made deli platters. These can be quite costly. Instead, make your own cheese and deli platters for less than half the cost of pre-made.</p></span> </p>
<figure><img alt="Cost effective appetizers are just as satisfying as pre-made deli platters." data-credit="Mark Stout/iStock/Getty Images" data-pin-ehow-hover="true" data-pin-no-hover="true" src="http://img-aws.ehowcdn.com/640/cme/cme_public_images/www_ehow_com/cdn-write.demandstudios.com/upload/image/D0/51/B6AED06C-5E19-4A26-9AAD-0E175F6251D0/B6AED06C-5E19-4A26-9AAD-0E175F6251D0.jpg"></img></figure><figcaption>
Mark Stout/iStock/Getty Images </figcaption></div>
</div>
@@ -105,8 +92,7 @@
<span>
<div>
<div>
-<div>
-<span><p>Instead of an evening dinner party, host a grad lunch or all appetizers party. Brunch and lunch fare or finger food costs less than dinner. Guests also tend to consume less alcohol in the middle of the day, which keeps cost down.</p></span> </div>
+<p><span><p>Instead of an evening dinner party, host a grad lunch or all appetizers party. Brunch and lunch fare or finger food costs less than dinner. Guests also tend to consume less alcohol in the middle of the day, which keeps cost down.</p></span> </p>
<figure><img alt="A brunch gathering will cost less than a dinner party." data-credit="Mark Stout/iStock/Getty Images" data-pin-ehow-hover="true" data-pin-no-hover="true" src="http://img-aws.ehowcdn.com/640/cme/cme_public_images/www_ehow_com/cdn-write.demandstudios.com/upload/image/35/B4/DD5FD05A-B631-4AFE-BC8F-FDACAD1EB435/DD5FD05A-B631-4AFE-BC8F-FDACAD1EB435.jpg"></img></figure><figcaption>
Mark Stout/iStock/Getty Images </figcaption></div>
</div>
@@ -118,8 +104,7 @@
<span>
<div>
<div>
-<div>
-<span><p>Decorate your party in the graduate's current school colors or the colors of the school he or she will be headed to next. Décor that is not specifically graduation-themed may cost a bit less, and any leftovers can be re-used for future parties, picnics and events.</p></span> </div>
+<p><span><p>Decorate your party in the graduate's current school colors or the colors of the school he or she will be headed to next. Décor that is not specifically graduation-themed may cost a bit less, and any leftovers can be re-used for future parties, picnics and events.</p></span> </p>
<figure><img alt="Theme the party by color without graduation-specific decor." data-credit="jethuynh/iStock/Getty Images" data-pin-ehow-hover="true" data-pin-no-hover="true" src="http://img-aws.ehowcdn.com/640/cme/cme_public_images/www_ehow_com/cdn-write.demandstudios.com/upload/image/A1/FA/2C368B34-8F6A-45F6-9DFC-0B0C4E33FAA1/2C368B34-8F6A-45F6-9DFC-0B0C4E33FAA1.jpg"></img></figure><figcaption>
jethuynh/iStock/Getty Images </figcaption></div>
</div>
diff --git a/test/test-pages/engadget/expected-images.json b/test/test-pages/engadget/expected-images.json
new file mode 100644
index 0000000..4c77ca8
--- /dev/null
+++ b/test/test-pages/engadget/expected-images.json
@@ -0,0 +1 @@
+["https:\/\/o.aolcdn.com\/images\/dims?thumbnail=45%2C45&quality=80&image_uri=http%3A%2F%2Fwww.blogcdn.com%2Fwww.engadget.com%2Fmedia%2F2016%2F03%2Fdevindra-engadget-headshot-small.jpg&client=cbc79c14efcebee57402&signature=e6ffba7468c380581b6589a70ce5d7c1ec40cd1d","https:\/\/o.aolcdn.com\/images\/dims?thumbnail=980%2C653&quality=80&image_uri=https%3A%2F%2Fs.blogcdn.com%2Fslideshows%2Fimages%2Fslides%2F714%2F208%2F8%2FS7142088%2Fslug%2Fl%2Fxbox-one-x-review-gallery-1-1.jpg&client=cbc79c14efcebee57402&signature=9bb08b52e12de8e4060f863a52c613489529818d","https:\/\/o.aolcdn.com\/images\/dims?crop=1600%2C1067%2C0%2C0&quality=85&format=jpg&resize=1600%2C1067&image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2F93beb86758ae1cf95721699e1e006e35%2F205826074%2FXbox%2BOne%2BX%2Breview%2Bgallery%2B7.jpg&client=a1acac3e1b3290917d92&signature=c0f2d36259c2c1decfb60aae364527cda2560d4a","https:\/\/o.aolcdn.com\/images\/dims?crop=1600%2C949%2C0%2C0&quality=85&format=jpg&resize=1600%2C949&image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2F9ece7fdad1e7025dec06ac9bf98688d0%2F205826075%2FXbox%2BOne%2BX%2Breview%2Bgallery%2B5.jpg&client=a1acac3e1b3290917d92&signature=9913883753141e7df322616bfe0bc41c6ecd80c8","https:\/\/o.aolcdn.com\/images\/dims?resize=980%2C640&quality=100&image_uri=https%3A%2F%2Fo.aolcdn.com%2Fimages%2Fdims%3Fcrop%3D1599%252C1043%252C0%252C0%26quality%3D85%26format%3Djpg%26resize%3D1600%252C1043%26image_uri%3Dhttp%253A%252F%252Fo.aolcdn.com%252Fhss%252Fstorage%252Fmidas%252F8b98ec8f6649158fe7448ac2f2695ac5%252F205826072%252FXbox%252BOne%252BX%252Breview%252Bgallery%252B6.jpg%26client%3Da1acac3e1b3290917d92%26signature%3D353dad1308f98c2c9dfc82c58a540a8b2f1fe63c&client=cbc79c14efcebee57402&signature=60b7c061460d0d45f5d367b8a9c62978af6b76ce","https:\/\/o.aolcdn.com\/images\/dims?resize=980%2C640&quality=100&image_uri=https%3A%2F%2Fo.aolcdn.com%2Fimages%2Fdims%3Fcrop%3D1600%252C900%252C0%252C0%26quality%3D85%26format%3Djpg%26resize%3D1600%252C900%26image_uri%3Dhttp%253A%252F%252Fo.aolcdn.com%252Fhss%252Fstorage%252Fmidas%252F1885534bd201fc37481b806645c1fc8b%252F205828119%252FXbox%252Bone%252BX%252Bscreenshot%252Bgallery%252B8.jpg%26client%3Da1acac3e1b3290917d92%26signature%3Df63cf67c88b37fd9424855984e45f6b950c8c11a&client=cbc79c14efcebee57402&signature=0adca80fc8ee26a7353be639082881450a5ad49f","https:\/\/o.aolcdn.com\/images\/dims?crop=1600%2C900%2C0%2C0&quality=85&format=jpg&resize=1600%2C900&image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2F8352a8a14e88e2ca2ba5be4d8381a055%2F205828115%2FXbox%2Bone%2BX%2Bscreenshot%2Bgallery%2B1.jpg&client=a1acac3e1b3290917d92&signature=d2ccb22e0eaabeb05bfe46e83dbe26fd07f01da8","https:\/\/o.aolcdn.com\/images\/dims?thumbnail=980%2C653&quality=80&image_uri=https%3A%2F%2Fs.blogcdn.com%2Fslideshows%2Fimages%2Fslides%2F714%2F292%2F4%2FS7142924%2Fslug%2Fl%2Fxbox-one-x-screenshot-gallery-2-1.jpg&client=cbc79c14efcebee57402&signature=38c95635c7aad58a8a48038e05589f5cf35b1e28","https:\/\/o.aolcdn.com\/images\/dims?crop=1600%2C900%2C0%2C0&quality=85&format=jpg&resize=1600%2C900&image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2Facb08903fbe26ad77b80db8c8e7e8fb1%2F205828118%2FXbox%2Bone%2BX%2Bscreenshot%2Bgallery%2B7.jpg&client=a1acac3e1b3290917d92&signature=21630fa5ec6d8fdce2c35f7e1f652636a2d8efe7","https:\/\/o.aolcdn.com\/images\/dims?resize=980%2C640&quality=100&image_uri=https%3A%2F%2Fo.aolcdn.com%2Fimages%2Fdims%3Fcrop%3D1600%252C1027%252C0%252C0%26quality%3D85%26format%3Djpg%26resize%3D1600%252C1027%26image_uri%3Dhttp%253A%252F%252Fo.aolcdn.com%252Fhss%252Fstorage%252Fmidas%252Fa2c8ba1caccdbb9e0559797e5141eafd%252F205826078%252FXbox%252BOne%252BX%252Breview%252Bgallery%252B11.jpg%26client%3Da1acac3e1b3290917d92%26signature%3Da11bcddced805c6e3698f8ce0494102aef057265&client=cbc79c14efcebee57402&signature=1e9bd192add2772bc842a34e67b7572cfd1b265a","https:\/\/o.aolcdn.com\/images\/dims?crop=1600%2C1028%2C0%2C0&quality=85&format=jpg&resize=1600%2C1028&image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2F5396460ef8b6bde7fb7272d9e66a7701%2F205826076%2FXbox%2BOne%2BX%2Breview%2Bgallery%2B9.jpg&client=a1acac3e1b3290917d92&signature=f5b5b4b986c2f8b5031a4469ae0ecec82aff65b0"] \ No newline at end of file
diff --git a/test/test-pages/engadget/expected-metadata.json b/test/test-pages/engadget/expected-metadata.json
new file mode 100644
index 0000000..eb1ed25
--- /dev/null
+++ b/test/test-pages/engadget/expected-metadata.json
@@ -0,0 +1,4 @@
+{
+ "Title": "Xbox One X review: A console that keeps up with gaming PCs",
+ "Excerpt": "The Xbox One X is the most powerful gaming console ever, but it's not for everyone yet."
+}
diff --git a/test/test-pages/engadget/expected.html b/test/test-pages/engadget/expected.html
new file mode 100644
index 0000000..44a2afe
--- /dev/null
+++ b/test/test-pages/engadget/expected.html
@@ -0,0 +1,479 @@
+<div role="main"><nav data-behavior="ContextNav" data-context-nav-offset="200">
+ </nav><header>
+ <p>
+
+ <h2> But only hardcore
+ gamers will appreciate it. </h2>
+ </p>
+ <div>
+ <div>
+ <div>
+
+ <div>
+ <p><a href="http://fakehost/about/editors/devindra-hardawar/">
+ <img src="https://o.aolcdn.com/images/dims?thumbnail=45%2C45&amp;quality=80&amp;image_uri=http%3A%2F%2Fwww.blogcdn.com%2Fwww.engadget.com%2Fmedia%2F2016%2F03%2Fdevindra-engadget-headshot-small.jpg&amp;client=cbc79c14efcebee57402&amp;signature=e6ffba7468c380581b6589a70ce5d7c1ec40cd1d"></img></a></p>
+ </div>
+
+ </div>
+
+
+
+ </div>
+ </div>
+ </header><div data-behavior="BreakoutsHandler">
+ <div>
+
+ <div>
+ <article><div data-behavior="trigger_contents_nav" id="page_body">
+ <div>
+
+ <div data-behavior="FitVids ">
+
+
+ <div>
+ <div>
+ <div>
+ <div data-behavior="Dropcap">
+ <p>The <a href="https://www.engadget.com/2017/06/13/the-xbox-one-x-is-aspirational-in-the-purest-sense-of-the-word/">Xbox
+ One X</a> is the ultimate video game system. It sports
+ more horsepower than any system ever. And it plays more
+ titles in native 4K than <a href="https://www.engadget.com/2016/11/07/sony-playstation-4-pro-review/">Sony's
+ PlayStation 4 Pro</a>. It's just about everything
+ you could want without investing in a gaming PC. The
+ only problem? It's now been a year since the PS4 Pro
+ launched, and the One X costs $500, while Sony's console
+ launched at $400. That high price limits the Xbox One X
+ to diehard Microsoft fans who don't mind paying a bit
+ more to play the console's exclusive titles in 4K.
+ Everyone else might be better off waiting, or opting for
+ the $279 <a href="https://www.engadget.com/2016/08/02/xbox-one-s-review/">Xbox
+ One S</a>. </p>
+
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div>
+ <div>
+ <div>
+ <section><h4> Gallery: Xbox One
+ X | 14 Photos </h4>
+ <div data-behavior="lightbox_trigger" data-eng-bang="{&quot;gallery&quot;:803271,&quot;slide&quot;:7142088,&quot;index&quot;:0}" data-eng-mn="93511844" data-engadget-slideshow-id="803271"><p><a data-eng-bang="{&quot;gallery&quot;:803271,&quot;slide&quot;:7142088,&quot;index&quot;:0}" data-engadget-slide-id="7142088" data-index="0" href="#">
+ <img src="https://o.aolcdn.com/images/dims?thumbnail=980%2C653&amp;quality=80&amp;image_uri=https%3A%2F%2Fs.blogcdn.com%2Fslideshows%2Fimages%2Fslides%2F714%2F208%2F8%2FS7142088%2Fslug%2Fl%2Fxbox-one-x-review-gallery-1-1.jpg&amp;client=cbc79c14efcebee57402&amp;signature=9bb08b52e12de8e4060f863a52c613489529818d"></img></a></p>
+ </div>
+ </section></div>
+ </div>
+ </div>
+
+
+ <div>
+ <div>
+ <div>
+
+
+ <div>
+
+ <div>
+ <div>
+
+ <ul><li>Most
+ powerful hardware ever in a home console
+ </li>
+ <li>Solid
+ selection of enhanced titles
+ </li>
+ <li>4K Blu-ray
+ drive is great for movie fans
+ </li>
+ </ul></div>
+ <div>
+
+ <ul><li>Expensive
+ </li>
+ <li>Not worth
+ it if you don’t have a 4K TV
+ </li>
+ <li>Still no VR
+ support
+ </li>
+ </ul></div>
+ </div>
+ </div>
+ <div>
+
+ <p>As promised, the Xbox One X is the
+ most powerful game console ever. In practice, though, it
+ really just puts Microsoft on equal footing with Sony’s
+ PlayStation 4 Pro. 4K/HDR enhanced games look great, but
+ it’s lack of VR is disappointing in 2017.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div>
+
+ <div>
+ <div>
+ <div>
+ <div>
+ <h3>Hardware</h3>
+ <p><img alt="" data-credit="Devindra Hardawar/AOL" data-mep="2181678" src="https://o.aolcdn.com/images/dims?crop=1600%2C1067%2C0%2C0&amp;quality=85&amp;format=jpg&amp;resize=1600%2C1067&amp;image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2F93beb86758ae1cf95721699e1e006e35%2F205826074%2FXbox%2BOne%2BX%2Breview%2Bgallery%2B7.jpg&amp;client=a1acac3e1b3290917d92&amp;signature=c0f2d36259c2c1decfb60aae364527cda2560d4a"></img></p>
+ <p>Despite all the power inside, the One X is
+ Microsoft's smallest console to date. It looks
+ similar to the Xbox One S, except it has an entirely
+ matte black case and is slightly slimmer. It's also
+ surprisingly dense -- the console weighs 8.4 pounds,
+ but it feels far heavier than you'd expect for its
+ size, thanks to all of its new hardware. The One S,
+ in comparison, weighs two pounds less.</p>
+ <p>The Xbox One X's real upgrades are under the hood. It
+ features an 8-core CPU running at 2.3Ghz, 12GB of
+ GDDR5 RAM, a 1 terabyte hard drive and an upgraded
+ AMD Polaris GPU with 6 teraflops of computing power.
+ The PS4 Pro has only 8GB of RAM and tops out at 4.2
+ teraflops. Microsoft's console is clearly faster.
+ That additional horsepower means the Xbox One X can
+ run more games in full native 4K than the Sony's
+ console.</p>
+ <p><img alt="" data-credit="Devindra Hardawar/AOL" data-mep="2182489" src="https://o.aolcdn.com/images/dims?crop=1600%2C949%2C0%2C0&amp;quality=85&amp;format=jpg&amp;resize=1600%2C949&amp;image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2F9ece7fdad1e7025dec06ac9bf98688d0%2F205826075%2FXbox%2BOne%2BX%2Breview%2Bgallery%2B5.jpg&amp;client=a1acac3e1b3290917d92&amp;signature=9913883753141e7df322616bfe0bc41c6ecd80c8"></img></p>
+ <p>Along the front, there's the slot-loading 4K Blu-ray
+ drive, a physical power button, a single USB port
+ and a controller pairing button. And around back,
+ there are HDMI out and in ports, the latter of which
+ lets you plug in your cable box. Additionally, there
+ are two USB ports, connections for optical audio, IR
+ out, and gigabit Ethernet. If you've still got a
+ Kinect around, you'll need to use a USB adapter to
+ plug it in.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div>
+ <div>
+
+
+ <div data-engadget-breakout-type="image">
+ <figure><img src="https://o.aolcdn.com/images/dims?resize=980%2C640&amp;quality=100&amp;image_uri=https%3A%2F%2Fo.aolcdn.com%2Fimages%2Fdims%3Fcrop%3D1599%252C1043%252C0%252C0%26quality%3D85%26format%3Djpg%26resize%3D1600%252C1043%26image_uri%3Dhttp%253A%252F%252Fo.aolcdn.com%252Fhss%252Fstorage%252Fmidas%252F8b98ec8f6649158fe7448ac2f2695ac5%252F205826072%252FXbox%252BOne%252BX%252Breview%252Bgallery%252B6.jpg%26client%3Da1acac3e1b3290917d92%26signature%3D353dad1308f98c2c9dfc82c58a540a8b2f1fe63c&amp;client=cbc79c14efcebee57402&amp;signature=60b7c061460d0d45f5d367b8a9c62978af6b76ce"></img><figcaption><span>Devindra Hardawar/AOL</span>
+ </figcaption></figure></div>
+ </div>
+ </div>
+ <div>
+ <div>
+ <div>
+ <div>
+ <p>The console's controller hasn't changed since its
+ last mini-upgrade with the Xbox One S. That revision
+ rounded out its seams, improved bumper performance
+ and added a 3.5mm headphone jack. It's still a great
+ controller, though I'm annoyed Microsoft is sticking
+ with AA batteries as their default power source.
+ Sure, you could just pick up some renewable
+ batteries, or the Play and Charge kit, but that's an
+ extra expense. And manually swapping batteries feels
+ like a bad user experience when every other console
+ has rechargeable controllers.</p>
+ <h3>In use</h3>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div>
+ <div>
+
+
+ <div data-engadget-breakout-type="image">
+ <figure><img src="https://o.aolcdn.com/images/dims?resize=980%2C640&amp;quality=100&amp;image_uri=https%3A%2F%2Fo.aolcdn.com%2Fimages%2Fdims%3Fcrop%3D1600%252C900%252C0%252C0%26quality%3D85%26format%3Djpg%26resize%3D1600%252C900%26image_uri%3Dhttp%253A%252F%252Fo.aolcdn.com%252Fhss%252Fstorage%252Fmidas%252F1885534bd201fc37481b806645c1fc8b%252F205828119%252FXbox%252Bone%252BX%252Bscreenshot%252Bgallery%252B8.jpg%26client%3Da1acac3e1b3290917d92%26signature%3Df63cf67c88b37fd9424855984e45f6b950c8c11a&amp;client=cbc79c14efcebee57402&amp;signature=0adca80fc8ee26a7353be639082881450a5ad49f"></img><figcaption><span>Devindra Hardawar/AOL</span>
+ </figcaption></figure></div>
+ </div>
+ </div>
+ <div>
+ <div>
+ <div>
+ <div>
+ <p>You won't find any major differences between the One
+ X and the last Xbox at first — aside from a more
+ dramatic startup sequence. Navigating the Xbox
+ interface is fast and zippy, but mostly that's due
+ to a recent OS upgrade. If you're moving over from
+ an older Xbox One, you can use the backup tool to
+ transfer your games and settings to an external hard
+ drive. Just plug that into the new console during
+ setup and it'll make it feel just like your old
+ machine. It's also a lot faster than waiting for
+ everything to download from Xbox Live.</p>
+ <p>You'll still have to set aside some time if you want
+ to play an Xbox One X-enhanced title, though. Those
+ 4K textures will make games significantly larger,
+ but Microsoft says it's come up with a few ways to
+ help developers make downloading them more
+ efficient. For example, language packs and other
+ optional content won't get installed by default.</p>
+ <p>We only had a few enhanced titles to test out during
+ our review: <em>Gears of War 4</em>, <em>Killer
+ Instinct</em> and <em>Super Lucky's Tale</em>.
+ They each took advantage of the console in different
+ ways. <em>Gears of War 4</em> runs natively in 4K at
+ 30 FPS with Dolby Atmos and HDR (high dynamic range
+ lighting) support. It looked great -- especially
+ with HDR, which highlighted bright elements like
+ lightning strikes -- but I noticed the frame rate
+ dip occasionally. I was also surprised that load
+ times were on-par with what I've seen with the game
+ on the Xbox One S.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div>
+ <div>
+ <div data-engadget-breakout-type="e2ehero">
+
+ <div>
+ <div>
+ <div>
+ <div>
+
+ <figure><img src="https://o.aolcdn.com/images/dims?crop=1600%2C900%2C0%2C0&amp;quality=85&amp;format=jpg&amp;resize=1600%2C900&amp;image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2F8352a8a14e88e2ca2ba5be4d8381a055%2F205828115%2FXbox%2Bone%2BX%2Bscreenshot%2Bgallery%2B1.jpg&amp;client=a1acac3e1b3290917d92&amp;signature=d2ccb22e0eaabeb05bfe46e83dbe26fd07f01da8"></img><div>
+ <div>
+ <div>
+
+ </div>
+ </div>
+ </div>
+ </figure></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div>
+ <div>
+ <div>
+ <div>
+ <p>You can also play in Performance mode, which bumps
+ the frame rate up to 60FPS and uses higher quality
+ graphical effects, while rendering it lower in
+ 1080p. Personally, I preferred this, since it makes
+ the game much smoother -- as if you're playing it on
+ a high-end gaming PC, not a console. Some
+ PlayStation 4 Pro games also let you choose how you
+ wanted to distribute its power, so in some ways
+ Microsoft is just following in its footsteps.</p>
+ <p>I've been playing <em>Gears of War 4</em> on my
+ gaming PC (which is connected to my home theater)
+ over the past year, and I was impressed that the
+ Xbox One X is able to deliver a similar experience.
+ It didn't quite match my rig though, which is
+ powered by Intel Core i7 4790k CPU running at 4GHz,
+ 16GB DDR3 RAM and an NVIDIA GTX 1080 GPU. Typically,
+ I play at 1,440p (2,560 by 1,440 pixels) with HDR
+ and all of the graphical settings set to their
+ highest level, and I can easily maintain a 60FPS
+ frame rate. The One X felt just as solid at 1080p,
+ but there were clearly plenty of graphics settings
+ it couldn't take advantage of, in particular higher
+ levels of bloom lighting and shadow detail.</p>
+
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div>
+ <div>
+ <div data-engadget-breakout-type="gallery">
+ <section><h3> Gallery: Xbox
+ One X screenshots | 9 Photos </h3>
+ <div data-behavior="lightbox_trigger" data-eng-bang="{&quot;gallery&quot;:803330,&quot;slide&quot;:7142924}" data-eng-mn="93511844" data-engadget-slideshow-id="803330"><p><a data-eng-bang="{&quot;gallery&quot;:803330,&quot;slide&quot;:7142924}" data-engadget-slide-id="7142924" data-index="0" href="#">
+ <img src="https://o.aolcdn.com/images/dims?thumbnail=980%2C653&amp;quality=80&amp;image_uri=https%3A%2F%2Fs.blogcdn.com%2Fslideshows%2Fimages%2Fslides%2F714%2F292%2F4%2FS7142924%2Fslug%2Fl%2Fxbox-one-x-screenshot-gallery-2-1.jpg&amp;client=cbc79c14efcebee57402&amp;signature=38c95635c7aad58a8a48038e05589f5cf35b1e28"></img></a></p>
+ </div>
+ </section></div>
+ </div>
+ </div>
+ <div>
+ <div>
+ <div>
+ <div>
+ <p><em>Killer Instinct</em> and <em>Super Lucky's
+ Tale</em> run in 4K at a smooth 60FPS. They both
+ looked and played better than their standard
+ versions, though I was surprised they didn't take
+ advantage of HDR. As usual, I noticed the
+ improvement in frame rates more than the higher
+ resolution. Unless you're sitting very close to a TV
+ above 50-inches, you'd likely have a hard time
+ telling between 4K and 1080p.</p>
+ <p>That poses a problem for Microsoft: It's betting that
+ gamers will actually want true 4K rendering. In
+ practice, though, PlayStation 4 Pro titles running
+ in HDR and resolutions between 1080p and 4K often
+ look just as good to the naked eye. The Xbox One X's
+ big advantage is that its hardware could let more
+ games reach 60FPS compared to Sony's console.</p>
+ <p>Microsoft says over 130 Xbox One X-enhanced titles
+ are in the works. That includes already-released
+ games like <em>Forza Motorsport 7</em> and <em>Assassin's
+ Creed Origins</em>, as well as upcoming titles
+ like <em>Call of Duty: WW2</em>. You'll be able to
+ find them easily in a special section in the Xbox
+ store. There is also a handful of Xbox 360 games
+ that'll get enhanced eventually, including <em>Halo
+ 3</em> and <em>Fallout 3</em>. Some of those
+ titles will get bumped up to a higher resolution,
+ while others will get HDR support. Microsoft
+ describes these upgrades as a bonus for developers
+ who were prescient about how they built their games.
+ Basically, don't expect your entire 360 library to
+ get enhanced.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div>
+ <div>
+ <div data-engadget-breakout-type="e2ehero">
+
+ <div>
+ <div>
+ <div>
+ <div>
+
+ <figure><img src="https://o.aolcdn.com/images/dims?crop=1600%2C900%2C0%2C0&amp;quality=85&amp;format=jpg&amp;resize=1600%2C900&amp;image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2Facb08903fbe26ad77b80db8c8e7e8fb1%2F205828118%2FXbox%2Bone%2BX%2Bscreenshot%2Bgallery%2B7.jpg&amp;client=a1acac3e1b3290917d92&amp;signature=21630fa5ec6d8fdce2c35f7e1f652636a2d8efe7"></img><div>
+ <div>
+ <div>
+
+ </div>
+ </div>
+ </div>
+ </figure></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div>
+ <div>
+ <div>
+ <div>
+ <p>Even if a game isn't specifically tuned for the new
+ console, Microsoft says you might still see some
+ performance improvements. The PlayStation 4 Pro,
+ meanwhile, has over one hundred games built for its
+ hardware, and its boost mode can speed up some older
+ games.</p>
+ <p>Microsoft is still pushing the Xbox as more than just
+ a game console, though. 4K Blu-rays loaded up
+ quickly, and I didn't notice many delays as I
+ skipped around films. <em>Planet Earth II</em>, in
+ particular, looked fantastic thanks to its brilliant
+ use of HDR. Unfortunately, the One X doesn't support
+ Dolby Vision, so you're stuck with the slightly less
+ capable HDR 10 standard. That makes sense since it's
+ more widely supported, but it would have been nice
+ to see Dolby's, too.</p>
+ <p>
+ <iframe allowfullscreen="" frameborder="0" gesture="media" height="360" src="https://www.youtube.com/embed/c8aFcHFu8QM" width="640"></iframe>
+ </p>
+ <p>And speaking of Dolby technology, Microsoft is also
+ highlighting Atmos support on the One X, just like
+ it did with the One S. The company's app lets you
+ configure the console to pass audio Atmos signals to
+ your audio receiver. You can also shell out $15 to
+ get Atmos support for headphones, which simulates
+ immersive surround sound. It's strange to pay money
+ to unlock Dolby features, but it's worth it since
+ it's significantly better than Microsoft's audio
+ virtualization technology. The Netflix app also
+ supports Atmos for a handful of films (something
+ that the Xbox One S and PlayStation 4 offer, as
+ well).</p>
+ <p>One thing you won't find in the new Xbox is VR
+ support. Microsoft has mentioned that the console
+ will offer some sort of mixed reality, but it hasn't
+ offered up any details yet. It's technically
+ powerful enough to work with any of the Windows
+ Mixed Reality headsets launching this fall. It's a
+ shame that Microsoft is being so wishy-washy because
+ Sony has had a very successful head start with the
+ PlayStation VR.</p>
+ <h3>Pricing and the competition</h3>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div>
+ <div>
+
+
+ <div data-engadget-breakout-type="image">
+ <figure><img src="https://o.aolcdn.com/images/dims?resize=980%2C640&amp;quality=100&amp;image_uri=https%3A%2F%2Fo.aolcdn.com%2Fimages%2Fdims%3Fcrop%3D1600%252C1027%252C0%252C0%26quality%3D85%26format%3Djpg%26resize%3D1600%252C1027%26image_uri%3Dhttp%253A%252F%252Fo.aolcdn.com%252Fhss%252Fstorage%252Fmidas%252Fa2c8ba1caccdbb9e0559797e5141eafd%252F205826078%252FXbox%252BOne%252BX%252Breview%252Bgallery%252B11.jpg%26client%3Da1acac3e1b3290917d92%26signature%3Da11bcddced805c6e3698f8ce0494102aef057265&amp;client=cbc79c14efcebee57402&amp;signature=1e9bd192add2772bc842a34e67b7572cfd1b265a"></img><figcaption><span>Devindra Hardawar/AOL</span>
+ </figcaption></figure></div>
+ </div>
+ </div>
+ <div>
+ <div>
+ <div>
+ <div>
+ <p>The biggest knock against the Xbox One X is its $500
+ price. The PS4 Pro launched at $400 last year, and
+ there's a good chance we'll see plenty of deals
+ around the holidays. If your friends are on Xbox
+ Live, or you're a devotee of Microsoft's first party
+ franchises, then the X makes more sense. If you just
+ want to play third-party titles that come to both
+ platforms, though, the PS4 Pro is clearly the better
+ deal.</p>
+ <p>If you're looking to upgrade from an original Xbox
+ One, and you have a new TV, the One X might be more
+ compelling. It's faster and offers more features
+ than the One S, and more importantly, it'll last you
+ much longer without needing an upgrade. There's also
+ plenty of wisdom in simply waiting a while before
+ you buy the One X, especially if you haven't moved
+ to a 4K TV yet. The new console can make games look
+ better on 1080p sets, since it'll supersample
+ high-res textures and have more graphical effects,
+ but it's simply not worth the upgrade since those
+ TVs don't support HDR.</p>
+ <p>If price isn't a huge concern for you, it's worth
+ considering investing in a gaming PC. A decent one
+ costs between $600 and $800, plus the price of a
+ monitor, but it'll easily be more powerful than the
+ One X. And you have the added benefit of upgrading
+ components down the line. Now that Microsoft and
+ game publishers are offering most major titles on
+ PC, you won't be missing out on much by ditching
+ consoles.</p>
+ <h3>Wrap-up</h3>
+ <p><img alt="" data-credit="Devindra Hardawar/AOL" data-mep="2181681" src="https://o.aolcdn.com/images/dims?crop=1600%2C1028%2C0%2C0&amp;quality=85&amp;format=jpg&amp;resize=1600%2C1028&amp;image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2F5396460ef8b6bde7fb7272d9e66a7701%2F205826076%2FXbox%2BOne%2BX%2Breview%2Bgallery%2B9.jpg&amp;client=a1acac3e1b3290917d92&amp;signature=f5b5b4b986c2f8b5031a4469ae0ecec82aff65b0"></img></p>
+ <p>Ultimately, the Xbox One X offers some major
+ performance upgrades that gamers will notice --
+ especially if you're coming from an original Xbox
+ One. But it's also a bit disappointing since it's
+ coming a year after the PS4 Pro, and it doesn't
+ offer VR yet. For Microsoft fans, though, none of
+ that will matter. It's exactly what the company
+ promised: the fastest game console ever made.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ </div>
+ </div>
+ </div>
+ </div>
+ </article></div>
+ </div>
+ </div>
+
+ <p>
+ <h2> From around the web </h2>
+ </p>
+
+
+ </div> \ No newline at end of file
diff --git a/test/test-pages/engadget/source.html b/test/test-pages/engadget/source.html
new file mode 100644
index 0000000..2bed808
--- /dev/null
+++ b/test/test-pages/engadget/source.html
@@ -0,0 +1,3513 @@
+<html lang="en">
+
+<head>
+ <meta charset="UTF-8"></meta>
+ <meta http-equiv="cache-control" content="no-cache"></meta>
+ <meta http-equiv="cache-control" content="no-store"></meta>
+ <meta http-equiv="expires" content="0"></meta>
+ <meta http-equiv="pragma" content="no-cache"></meta>
+ <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"></meta>
+ <script src="https://o.aolcdn.com/ads/adsWrapper.min.js"></script>
+ <!-- Rapid -->
+ <script src="https://s.yimg.com/ss/rapid-3.45.0.js"></script>
+ <script>
+ var rapidConfig = {
+ spaceid: 1197802876,
+ nol: true,
+ keys: {
+ "pt": "content",
+ "pct": "story",
+ "paid": "engadget_479=bsd:23265143",
+ "st_sec": "us.engadget",
+ "ver": "blogsmith"
+ },
+ webworker_file: 'https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/js/rapidworker-1.2.js'
+ };
+ var myRapidInstance = new YAHOO.i13n.Rapid(rapidConfig);
+ </script>
+ <!-- End Rapid -->
+ <meta http-equiv="content-type" content="text/html"></meta>
+ <link rel="stylesheet"
+ href="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/css/split/styles.css?h=d85ad52bbabf0f534ab4b3baf22e8900"></link>
+ <title>Xbox One X review: A console that keeps up with gaming PCs</title>
+ <link rel="amphtml" href="https://www.engadget.com/amp/2017/11/03/xbox-one-x-review/"></link>
+ <meta name="description"
+ content="The Xbox One X is the ultimate video game system. It sports more horsepower than any system ever. And it plays more titles in native 4K than Sony's PlayStation..."></meta>
+ <link rel="canonical" href="https://www.engadget.com/2017/11/03/xbox-one-x-review/"></link>
+ <meta property="og:type" content="article"></meta>
+ <meta property="og:url" content="https://www.engadget.com/2017/11/03/xbox-one-x-review/"></meta>
+ <meta property="og:title" content="Xbox One X review: A console that keeps up with gaming PCs"></meta>
+ <meta property="og:description"
+ content="The Xbox One X is the most powerful gaming console ever, but it's not for everyone yet."></meta>
+ <meta property="og:image"
+ content="https://o.aolcdn.com/images/dims?thumbnail=1200%2C630&amp;quality=80&amp;image_uri=https%3A%2F%2Fo.aolcdn.com%2Fimages%2Fdims%3Fcrop%3D1600%252C943%252C0%252C0%26quality%3D85%26format%3Djpg%26resize%3D1600%252C943%26image_uri%3Dhttp%253A%252F%252Fo.aolcdn.com%252Fhss%252Fstorage%252Fmidas%252Fd457f269d1400106a402302a310de800%252F205826071%252FXbox%252BOne%252BX%252Breview%252Bgallery%252B1.jpg%26client%3Da1acac3e1b3290917d92%26signature%3D9fa7b29452763464190c6edff6822489df516d1b&amp;client=cbc79c14efcebee57402&amp;signature=ab988e814a2686e0d93dd7ae306d241356fb7b9c"></meta>
+ <meta property="og:image:width" content="1200"></meta>
+ <meta property="og:image:height" content="630"></meta>
+ <meta property="article:tag" content="av"></meta>
+ <meta property="article:tag" content="consoles"></meta>
+ <meta property="article:tag" content="entertainment"></meta>
+ <meta property="article:tag" content="gadgetry"></meta>
+ <meta property="article:tag" content="gadgets"></meta>
+ <meta property="article:tag" content="gaming"></meta>
+ <meta property="article:tag" content="gear"></meta>
+ <meta property="article:tag" content="microsoft"></meta>
+ <meta property="article:tag" content="review"></meta>
+ <meta property="article:tag" content="video"></meta>
+ <meta property="article:tag" content="videogames"></meta>
+ <meta property="article:tag" content="Xbox"></meta>
+ <meta property="article:tag" content="XboxOne"></meta>
+ <meta property="article:tag" content="XboxOneX"></meta>
+ <meta name="post_id" content="23265143"></meta>
+ <meta property="article:author" content="devindra"></meta>
+ <meta name="robots" content="noodp,noydir"></meta>
+ <meta class="swiftype" name="sections" data-type="string" content=""></meta>
+ <meta name="twitter:card" content="summary_large_image"></meta>
+ <meta name="twitter:site" content="@engadget"></meta>
+ <meta name="twitter:url" content="https://www.engadget.com/2017/11/03/xbox-one-x-review/"></meta>
+ <meta name="twitter:title" content="Xbox One X review: A console that keeps up with gaming PCs"></meta>
+ <meta name="twitter:description"
+ content="The Xbox One X is the ultimate video game system. It sports more horsepower than any system ever. And it plays more titles in native 4K than Sony's PlayStation..."></meta>
+ <meta name="twitter:image"
+ content="https://o.aolcdn.com/images/dims?crop=1600%2C943%2C0%2C0&amp;quality=85&amp;format=jpg&amp;resize=1600%2C943&amp;image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2Fd457f269d1400106a402302a310de800%2F205826071%2FXbox%2BOne%2BX%2Breview%2Bgallery%2B1.jpg&amp;client=a1acac3e1b3290917d92&amp;signature=9fa7b29452763464190c6edff6822489df516d1b"></meta>
+ <meta name="twitter:creator" content="@devindra"></meta>
+ <meta name="twitter:app:name:iphone" content="Engadget for iPhone"></meta>
+ <meta name="twitter:app:url:iphone" content="com.aol.engadget://www.engadget.com/2017/11/03/xbox-one-x-review/"></meta>
+ <meta name="twitter:app:name:ipad" content="Engadget for iPad"></meta>
+ <meta name="twitter:app:url:ipad"
+ content="com.aol.appspinner.engadget://www.engadget.com/2017/11/03/xbox-one-x-review/"></meta>
+ <meta name="twitter:app:id:googleplay" content="com.aol.mobile.engadget"></meta>
+ <meta name="twitter:app:name:googleplay" content="Engadget"></meta>
+ <meta name="twitter:app:url:googleplay" content="engadget://xbox-one-x-review"></meta>
+ <meta name="activeEdition" content="irl"></meta>
+ <meta name="google-site-verification" content="wLXjbTY6pixubu5bTDip5LFbmV3y14B-1FuGRBA608U"></meta>
+ <meta name="google-site-verification" content="tWejEOjeALosEomCYTYn5Ps9e_bfdSDFep3l5tdwP30"></meta>
+ <meta name="google-site-verification" content="1GwTnKM_I1dlzvY6ZgkdMD7npjzC-zbHHs9BXlA8BrI"></meta>
+ <meta name="bitly-verification" content="f57da7265213"></meta>
+ <meta name="p:domain_verify" content="fb69533f2acad78bdd89abf093c35a28"></meta>
+ <meta name="msvalidate.01" content="5ABD8A078F3356F3A6A8C8643C31FB8F"></meta>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0"></meta>
+ <meta name="apple-mobile-web-app-status-bar-style" content="black"></meta>
+ <meta name="application-name" content="Engadget"></meta>
+ <meta property="fb:pages" content="5738237369"></meta>
+ <meta property="fb:admins" content="11710688"></meta>
+ <meta property="fb:app_id" content="132746074315"></meta>
+ <meta property="og:locale" content="en_US"></meta>
+ <meta property="og:site_name" content="Engadget"></meta>
+ <meta name="application-name" content="Engadget"></meta>
+ <meta name="msapplication-TileColor" content="#2B2D32"></meta>
+ <meta name="msapplication-TileImage"
+ content="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/eng-e-558.png?h=e46e7a1510fad56707bc442189dbb7bd"></meta>
+ <meta name="msapplication-square70x70logo"
+ content="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/eng-e-128.png?h=899847bb37304e3b3dc54c93580a087c"></meta>
+ <meta name="msapplication-square150x150logo"
+ content="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/eng-e-270.png?h=d343c1055c3eded8aa8f05c2d42dcaed"></meta>
+ <meta name="msapplication-wide310x150logo"
+ content="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/eng-e-558x270.png?h=61de5b820dbedd7eba8bb1b0fd08ce57"></meta>
+ <meta name="msapplication-square310x310logo"
+ content="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/eng-e-558.png?h=e46e7a1510fad56707bc442189dbb7bd"></meta>
+ <meta name="msapplication-notification"
+ content="frequency=30;polling-uri=https://notifications.buildmypinnedsite.com/?feed=https://www.engadget.com/rss.xml&amp;id=1;polling-uri2=https://notifications.buildmypinnedsite.com/?feed=https://www.engadget.com/rss.xml&amp;id=2;polling-uri3=https://notifications.buildmypinnedsite.com/?feed=https://www.engadget.com/rss.xml&amp;id=3;polling-uri4=https://notifications.buildmypinnedsite.com/?feed=https://www.engadget.com/rss.xml&amp;id=4;polling-uri5=https://notifications.buildmypinnedsite.com/?feed=https://www.engadget.com/rss.xml&amp;id=5; cycle=1"></meta>
+ <link rel="alternate" type="application/rss+xml" title="Engadget" href="//www.engadget.com/rss.xml"></link>
+ <link rel="apple-touch-icon" sizes="57x57"
+ href="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/apple-touch-icon-57x57.png?h=b07835531d7826b72615c77771a72171"></link>
+ <link rel="apple-touch-icon" sizes="114x114"
+ href="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/apple-touch-icon-114x114.png?h=50cf09ab299e153bf29c8649d827c83a"></link>
+ <link rel="apple-touch-icon" sizes="72x72"
+ href="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/apple-touch-icon-72x72.png?h=8f37a2b779de4fbfe1a7874704cc01e2"></link>
+ <link rel="apple-touch-icon" sizes="144x144"
+ href="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/apple-touch-icon-144x144.png?h=de656b4889f628881dabd59b88d24460"></link>
+ <link rel="apple-touch-icon" sizes="60x60"
+ href="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/apple-touch-icon-60x60.png?h=30dc9d03897d7b5e1c7d66ea023a628d"></link>
+ <link rel="apple-touch-icon" sizes="120x120"
+ href="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/apple-touch-icon-120x120.png?h=232a14b1a350de05a49b584a62abac9e"></link>
+ <link rel="apple-touch-icon" sizes="76x76"
+ href="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/apple-touch-icon-76x76.png?h=41c7920a7654ebebc6827434c8563668"></link>
+ <link rel="apple-touch-icon" sizes="152x152"
+ href="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/apple-touch-icon-152x152.png?h=443922d02603331286171a9bbc12fadd"></link>
+ <link rel="icon" type="image/png"
+ href="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/favicon-16x16.png?h=288a0831497b5dbbde1fdb670dc8a62c"
+ sizes="16x16"></link>
+ <link rel="icon" type="image/png"
+ href="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/favicon-32x32.png?h=876ea6dda580d9954a93627f24b6b25b"
+ sizes="32x32"></link>
+ <link rel="icon" type="image/png"
+ href="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/favicon-96x96.png?h=9680b5ecfb3de364248a4a98bf84664f"
+ sizes="96x96"></link>
+ <link rel="icon" type="image/png"
+ href="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/favicon-160x160.png?h=1638b0a8bbe7effa8f85c3ecabb63620"
+ sizes="160x160"></link>
+ <meta name="apple-touch-fullscreen" content="yes"></meta>
+ <link rel="dns-prefetch" href="//media.gdgt.com"></link>
+ <link rel="dns-prefetch" href="//ajax.googleapis.com"></link>
+ <link rel="search" type="application/opensearchdescription+xml" href="/osd.xml" title="Engadget"></link>
+ <script>
+ var _sf_startpt = (new Date()).getTime(),
+ Sitevars = {
+ geoCountry: "irl",
+ activeEdition: "irl"
+ };
+ </script>
+ <meta class="swiftype" name="blogger_name" data-type="string" content="Devindra Hardawar"></meta>
+ <meta class="swiftype" name="blogger_slug" data-type="enum" content="devindra-hardawar"></meta>
+ <meta class="swiftype" name="blogger_image" data-type="enum"
+ content="https://s.blogcdn.com/www.engadget.com/media/2016/03/devindra-engadget-headshot-small.jpg"></meta>
+ <meta class="swiftype" name="blogger_twitter" data-type="enum" content="devindra"></meta>
+ <meta class="swiftype" name="has_author" data-type="integer" content="1"></meta>
+ <meta class="swiftype" name="type" data-type="enum" content="reviews"></meta>
+ <meta class="swiftype" name="content_type_id" data-type="enum" content="23265143"></meta>
+ <meta class="swiftype" name="title" data-type="string"
+ content="Xbox One X review: A console that keeps up with gaming PCs"></meta>
+ <meta class="swiftype" name="main_tag_label" data-type="string" content="Gadgetry"></meta>
+ <meta class="swiftype" name="published_at" data-type="date" content="2017-11-03T03:01:00-04:00"></meta>
+ <meta class="swiftype" name="image" data-type="enum"
+ content="https://o.aolcdn.com/images/dims?crop=1600%2C943%2C0%2C0&amp;quality=85&amp;format=jpg&amp;resize=1600%2C943&amp;image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2Fd457f269d1400106a402302a310de800%2F205826071%2FXbox%2BOne%2BX%2Breview%2Bgallery%2B1.jpg&amp;client=a1acac3e1b3290917d92&amp;signature=9fa7b29452763464190c6edff6822489df516d1b"></meta>
+ <meta class="swiftype" name="thumbnail_url" data-type="enum"
+ content="https://o.aolcdn.com/images/dims?thumbnail=300%2C200&amp;quality=80&amp;image_uri=https%3A%2F%2Fo.aolcdn.com%2Fimages%2Fdims%3Fcrop%3D1600%252C943%252C0%252C0%26quality%3D85%26format%3Djpg%26resize%3D1600%252C943%26image_uri%3Dhttp%253A%252F%252Fo.aolcdn.com%252Fhss%252Fstorage%252Fmidas%252Fd457f269d1400106a402302a310de800%252F205826071%252FXbox%252BOne%252BX%252Breview%252Bgallery%252B1.jpg%26client%3Da1acac3e1b3290917d92%26signature%3D9fa7b29452763464190c6edff6822489df516d1b&amp;client=cbc79c14efcebee57402&amp;signature=44978fa251cd5f68b2f2d722afa2ea162cc35d35"></meta>
+ <meta class="swiftype" name="autocomplete_thumbnail_url" data-type="enum"
+ content="https://o.aolcdn.com/images/dims?thumbnail=130%2C86&amp;quality=80&amp;image_uri=https%3A%2F%2Fo.aolcdn.com%2Fimages%2Fdims%3Fcrop%3D1600%252C943%252C0%252C0%26quality%3D85%26format%3Djpg%26resize%3D1600%252C943%26image_uri%3Dhttp%253A%252F%252Fo.aolcdn.com%252Fhss%252Fstorage%252Fmidas%252Fd457f269d1400106a402302a310de800%252F205826071%252FXbox%252BOne%252BX%252Breview%252Bgallery%252B1.jpg%26client%3Da1acac3e1b3290917d92%26signature%3D9fa7b29452763464190c6edff6822489df516d1b&amp;client=cbc79c14efcebee57402&amp;signature=59500f8bfd9da79dd2445e808c704cd7ffcc4d20"></meta>
+ <meta class="swiftype" name="url" data-type="enum" content="/2017/11/03/xbox-one-x-review/"></meta>
+ <meta class="swiftype" name="dek" data-type="string" content="But only hardcore gamers will appreciate it."></meta>
+ <meta class="swiftype" name="has_video" data-type="integer" content="1"></meta>
+ <meta class="swiftype" name="has_gallery" data-type="integer" content="1"></meta>
+ <meta class="swiftype" name="has_video_and_gallery" data-type="integer" content="1"></meta>
+ <meta class="swiftype" name="popularity" data-type="integer" content="2192"></meta>
+ <meta class="swiftype" name="country_origin" data-type="string" content="origin-us"></meta>
+ <meta class="swiftype" name="tags" data-type="string" content="av"></meta>
+ <meta class="swiftype" name="tags" data-type="string" content="consoles"></meta>
+ <meta class="swiftype" name="tags" data-type="string" content="entertainment"></meta>
+ <meta class="swiftype" name="tags" data-type="string" content="gadgetry"></meta>
+ <meta class="swiftype" name="tags" data-type="string" content="gadgets"></meta>
+ <meta class="swiftype" name="tags" data-type="string" content="gaming"></meta>
+ <meta class="swiftype" name="tags" data-type="string" content="gear"></meta>
+ <meta class="swiftype" name="tags" data-type="string" content="microsoft"></meta>
+ <meta class="swiftype" name="tags" data-type="string" content="review"></meta>
+ <meta class="swiftype" name="tags" data-type="string" content="video"></meta>
+ <meta class="swiftype" name="tags" data-type="string" content="videogames"></meta>
+ <meta class="swiftype" name="tags" data-type="string" content="Xbox"></meta>
+ <meta class="swiftype" name="tags" data-type="string" content="XboxOne"></meta>
+ <meta class="swiftype" name="tags" data-type="string" content="XboxOneX"></meta>
+ <meta class="swiftype" name="channel" data-type="string" content="review"></meta>
+ <meta class="swiftype" name="engadget_score" data-type="string" content="87"></meta>
+ <meta class="swiftype" name="computed_score" data-type="string" content="87"></meta>
+ <meta class="swiftype" name="channel" data-type="string" content="gear"></meta>
+ <meta class="swiftype" name="channel" data-type="string" content="gaming"></meta>
+ <meta class="swiftype" name="channel" data-type="string" content="entertainment"></meta>
+ <meta class="swiftype" name="order" data-type="integer" content="3"></meta>
+ <script type="application/javascript">
+ <!--
+ function runOmni() {
+ s_265.pfxID = "weg";
+ s_265.pageName = s_265.pfxID + ' : ' + "Xbox One X review: A console that keeps up with gaming PCs";
+ s_265.server = location.protocol + '//' + location.host;
+ s_265.channel = "us.engadget";
+ s_265.linkInternalFilters = "javascript:,engadget.com,joystiq.com,massively.com,tuaw.com,switched.com,techcrunch.com";
+ s_265.mmxgo = true;
+ s_265.prop12 = document.location;
+ s_265.prop1 = "article";
+ s_265.prop2 = "gaming";
+ s_265.prop8 = "bss:21";
+ s_265.prop45 = "aws";
+ s_265.prop54 = "blogsmith";
+ s_265.prop62 = "video_o2_entrybody|video_youtube_entrybody";
+ s_265.prop9 = "bsd:23265143";
+ s_265.prop18 = "gaming|microsoft|entertainment|gear|av|gadgetry";
+ s_265.prop19 = "av|consoles|entertainment|gadgetry|gadgets|gaming|gear|microsoft|review|video|videogames|Xbox|XboxOne|XboxOneX|@aoloriginal|@applenews|@av|@badge-video|@company-microsoft|@entertainment|@features|@gadgetry|@gaming|@gear|@spotim|@swipe-review|@uk";
+ s_265.prop22 = "devindra-hardawar";
+ s_265.prop23 = "11-03-2017";
+ s_265.prop65 = "original_content";
+ s_265.eVar14 = "amp-ex";
+ s_265.eVar57 = "amp-ex";
+ s_265.t();
+ }
+
+ var s_account = "aolwbengadget,aolsvc";
+ (function (d) {
+ var h = d.getElementsByTagName('head')[0],
+ s1 = d.createElement('script');
+ s1.src = '//o.aolcdn.com/os/aol/omniture.min.js';
+ h.appendChild(s1);
+ })(document);
+ var bN_cfg = {
+ h: location.hostname,
+ p: {
+ "dL_ch": "us.engadget",
+ "dL_dpt": document.title,
+ "dL_sDpt": document.title,
+ "cms_src": "AMP",
+ "dL_siteID": "bss:21",
+ "dL_cmsID": "bsd:23265143",
+ "dL_categories": "gaming|microsoft|entertainment|gear|av|gadgetry",
+ "dL_tags": "av|consoles|entertainment|gadgetry|gadgets|gaming|gear|microsoft|review|video|videogames|Xbox|XboxOne|XboxOneX|@aoloriginal|@applenews|@av|@badge-video|@company-microsoft|@entertainment|@features|@gadgetry|@gaming|@gear|@spotim|@swipe-review|@uk",
+ "dL_author": "devindra-hardawar",
+ "dL_published": "11-03-2017",
+ "dL_source": "original_content",
+ "dL_vid": "video_o2_entrybody|video_youtube_entrybody",
+ "spaceid": "1197802876"
+ }
+ };
+ (function (d) {
+ var h = d.getElementsByTagName('head')[0],
+ s2 = d.createElement('script');
+ s2.src = '//o.aolcdn.com/os/aol/beacon.min.js';
+ h.appendChild(s2);
+ })(document);
+ //-->
+ </script>
+ <style>
+ html {
+ display: none;
+ }
+ </style>
+ <script>
+ if (self == top) {
+ document.documentElement.style.display = 'block';
+ } else {
+ top.location = self.location;
+ }
+ </script>
+ <script type="text/javascript">
+ window._taboola = window._taboola || [];
+ _taboola.push({
+ article: 'auto'
+ });
+ !function (e, f, u) {
+ e.async = 1;
+ e.src = u;
+ f.parentNode.insertBefore(e, f);
+ }(document.createElement('script'), document.getElementsByTagName('script')[0], '//cdn.taboola.com/libtrc/aol-engadget/loader.js');
+ </script>
+</head>
+
+<body class="th-base" data-behavior="addthis">
+<div class="o-h">
+ <div class="i-nav_drawer_slide@tp-" data-behavior="NavDrawerSlide">
+ <!-- global-header -->
+ <header class="uk-cookiebanner o-sticky_header@tp- th-reverse@tp- c-white@tp- border-bottom@tp- bc-gray-2@tp- i-nav_drawer_slide@tp-__panel z-1"
+ data-nav-drawer-slide-panel="">
+ <div class="container@tl+ pl-25@tp- o-h h-60@s h-80@m+">
+ <div>
+ <div class="table h-60@s h-80@m+ ">
+ <div class="table-cell">
+ <div class="hide@tl+ inline-block vm mr-20">
+ <button class="block i-nav_drawer_slide@tp-__menu_btn" data-nav-drawer-slide-btn="">
+ <div class="w-20 h-2 bg-white"></div>
+ <div class="w-20 h-2 mt-3 bg-white"></div>
+ <div class="w-20 h-2 mt-3 bg-white"></div>
+ </button>
+ </div>
+ <div class="inline-block vm">
+ <a href="/" class="">
+ <h1>
+ <svg role="img" aria-label="Engadget" class="th-title header-logo">
+ <title>Engadget</title>
+ <use xlink:href="#icon-logo"></use>
+ </svg>
+ </h1>
+ </a>
+ </div>
+ </div>
+ <ul class="table-cell ta-r c-gray-7 hide@tp-">
+ <li class="inline-block t-meta "><a href="https://www.engadget.com/user/login"
+ class="increase-hit th-meta" target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_auth_window"> <span
+ class="increase-hit__inner">
+ Login
+ </span>
+ </a></li>
+ </ul>
+ <a href="#search-box" data-search-box-trigger=""
+ class="hide@tl+ table-cell ta-c c-gray-5 w-60@s w-80@m+ full-height border-left">
+ <svg class="icon inline-block vm">
+ <use xlink:href="#icon-search"></use>
+ </svg>
+ </a></div>
+ </div>
+ </div>
+ </header>
+ <div class="o-sticky_header@tp-__spacer"></div>
+ <!-- global-nav -->
+ <nav role="navigation"
+ class="o-nav_drawer@tp- bg-gray-1 c-gray-5 border-bottom bc-gray-2 h-80@tl+ i-nav_drawer_slide@tp-__nav z-5@tp- z-0@tl+">
+ <a href="#" class="i-nav_drawer_slide@tp-__close hide@tl+ absolute r-n40 c-gray-2">
+ <svg class="icon increase-hit__inner">
+ <use xlink:href="#icon-close"></use>
+ </svg>
+ </a>
+ <div class="container@tl+ cf o-nav_drawer@tp-__inner c-gray-7">
+ <ul class="left@tl+ ml-n35@tl+ o-nav_drawer@tp-__main" data-nav-drawer-slide-nav="">
+ <li class="inline-block@tl+ t-global-nav@tl+ pt-45@tl+ pl-25@tl+ hide@tl+ border-top@tp-">
+ <a href="/" class="increase-hit@tl+ c-gray-10:hvr block@tp- p-20@tp- o-h@tp- ">
+ <div class="left@tp-"> <span class="increase-hit@tl+__inner t-global-nav@tp-">
+ Home
+ </span></div>
+ </a>
+ </li>
+ <li class="inline-block@tl+ t-global-nav@tl+ pt-45@tl+ pl-25@tl+ border-top@tp-">
+ <a href="/gear/" class="increase-hit@tl+ c-gray-10:hvr block@tp- p-20@tp- o-h@tp- ">
+ <div class="left@tp-"> <span class="increase-hit@tl+__inner t-global-nav@tp-">
+ Gear
+ </span></div>
+ </a>
+ </li>
+ <li class="inline-block@tl+ t-global-nav@tl+ pt-45@tl+ pl-25@tl+ border-top@tp-">
+ <a href="/gaming/" class="increase-hit@tl+ c-gray-10:hvr block@tp- p-20@tp- o-h@tp- ">
+ <div class="left@tp-"> <span class="increase-hit@tl+__inner t-global-nav@tp-">
+ Gaming
+ </span></div>
+ </a>
+ </li>
+ <li class="inline-block@tl+ t-global-nav@tl+ pt-45@tl+ pl-25@tl+ border-top@tp-">
+ <a href="/entertainment/" class="increase-hit@tl+ c-gray-10:hvr block@tp- p-20@tp- o-h@tp- ">
+ <div class="left@tp-"> <span class="increase-hit@tl+__inner t-global-nav@tp-">
+ Entertainment
+ </span></div>
+ </a>
+ </li>
+ <li class="inline-block@tl+ t-global-nav@tl+ pt-45@tl+ pl-25@tl+ border-top@tp-">
+ <a href="/tomorrow/" class="increase-hit@tl+ c-gray-10:hvr block@tp- p-20@tp- o-h@tp- ">
+ <div class="left@tp-"> <span class="increase-hit@tl+__inner t-global-nav@tp-">
+ Tomorrow
+ </span></div>
+ </a>
+ </li>
+ <li class="inline-block@tl+ t-global-nav@tl+ pt-45@tl+ pl-25@tl+ border-top@tp-">
+ <a href="/videos/" class="increase-hit@tl+ c-gray-10:hvr block@tp- p-20@tp- o-h@tp- ">
+ <div class="left@tp-"> <span class="increase-hit@tl+__inner t-global-nav@tp-">
+ Video
+ </span></div>
+ </a>
+ </li>
+ <li class="inline-block@tl+ t-global-nav@tl+ pt-45@tl+ pl-25@tl+ border-top@tp-">
+ <a href="/reviews/" class="increase-hit@tl+ c-gray-10:hvr block@tp- p-20@tp- o-h@tp- ">
+ <div class="left@tp-"> <span class="increase-hit@tl+__inner t-global-nav@tp-">
+ Reviews
+ </span></div>
+ </a>
+ </li>
+ <li class="inline-block@tl+ t-global-nav@tl+ pt-45@tl+ pl-25@tl+ border-top@tp-">
+ <a href="/events/the-engadget-experience-2017/"
+ class="increase-hit@tl+ c-gray-10:hvr block@tp- p-20@tp- o-h@tp- ">
+ <div class="left@tp-"> <span class="increase-hit@tl+__inner t-global-nav@tp-">
+ Events
+ </span></div>
+ </a>
+ </li>
+ <li class="inline-block@tl+ t-global-nav@tl+ pt-45@tl+ pl-25@tl+ border-top@tp-">
+ <a href="/?edition=usa" class="increase-hit@tl+ c-gray-10:hvr block@tp- p-20@tp- o-h@tp- ">
+ <div class="left@tp-"> <span class="increase-hit@tl+__inner t-global-nav@tp-">
+ US Edition
+ </span></div>
+ </a>
+ </li>
+ </ul>
+ <a href="#search-box" data-search-box-trigger="" class="hide@tp- increase-hit mt-30 ml-25 right">
+ <svg class="icon search-icon increase-hit__inner">
+ <use xlink:href="#icon-search"></use>
+ </svg>
+ </a>
+ <ul class="hide@tl+" data-nav-drawer-slide-nav="">
+ <li class="inline-block@tl+ t-global-nav@tl+ pt-45@tl+ pl-25@tl+ hide@tl+ bg-gray-2@tp- bc-gray-3@tp- ">
+ <a href="https://www.engadget.com/user/"
+ class="increase-hit@tl+ c-gray-10:hvr block@tp- p-20@tp- o-h@tp- " target="_blank"
+ data-behavior="Pop" data-engadget-popname="engadget_auth_window">
+ <div class="left@tp-"> <span class="increase-hit@tl+__inner t-global-nav@tp-">
+ Log in
+ </span></div>
+ </a>
+ </li>
+ <li class="inline-block@tl+ t-global-nav@tl+ pt-45@tl+ pl-25@tl+ hide@tl+ bg-gray-2@tp- bc-gray-3@tp- border-top@tp-">
+ <a href="https://www.engadget.com/user/register"
+ class="increase-hit@tl+ c-gray-10:hvr block@tp- p-20@tp- o-h@tp- " target="_blank"
+ data-behavior="Pop" data-engadget-popname="engadget_auth_window">
+ <div class="left@tp-"> <span class="increase-hit@tl+__inner t-global-nav@tp-">
+ Sign up
+ </span></div>
+ </a>
+ </li>
+ </ul>
+ <!-- share-macro -->
+ <div class="hide@tl+ fixed-table h-60 bg-gray-2 bc-gray-3 border-top" data-nav-drawer-slide-nav=""><a
+ href="https://www.facebook.com/dialog/share?app_id=132746074315&amp;display=popup&amp;href=https%3A%2F%2Fwww.engadget.com%2F2017%2F11%2F03%2Fxbox-one-x-review%2F"
+ class="table-cell contain c-white:hvr sharebtn facebook-share" target="_blank"
+ data-behavior="Pop" data-engadget-popname="engadget_share" data-engadget-pop-w="560"
+ data-engadget-h="636">
+ <svg class="icon contain__inner">
+ <use xlink:href="#icon-facebook"></use>
+ </svg>
+ </a>
+ <a href="https://twitter.com/share?url=https%3A%2F%2Fwww.engadget.com%2F2017%2F11%2F03%2Fxbox-one-x-review%2F&amp;text=Xbox%20One%20X%20review%3A%20%20A%20console%20that%20keeps%20up%20with%20gaming%20PCs&amp;via=engadget"
+ class="table-cell contain border-left c-white:hvr sharebtn twitter-share" target="_blank"
+ data-behavior="Pop" data-engadget-popname="engadget_share" data-engadget-pop-w="670"
+ data-engadget-h="430">
+ <svg class="icon contain__inner">
+ <use xlink:href="#icon-twitter"></use>
+ </svg>
+ </a>
+ <a href="https://www.reddit.com/submit?url=https%3A%2F%2Fwww.engadget.com%2F2017%2F11%2F03%2Fxbox-one-x-review%2F&amp;title=Xbox%20One%20X%20review%3A%20%20A%20console%20that%20keeps%20up%20with%20gaming%20PCs"
+ class="table-cell contain border-left c-white:hvr sharebtn reddit-share" target="_blank"
+ data-behavior="Pop" data-engadget-popname="engadget_share" data-engadget-pop-w="960"
+ data-engadget-h="750">
+ <svg class="icon contain__inner">
+ <use xlink:href="#icon-reddit"></use>
+ </svg>
+ </a></div>
+ </div>
+ </nav>
+ <section id="search-box"
+ class="i-search_box is-box-hidden is-results-hidden i-nav_drawer_slide@tp-__panel z-1 fixed@tp- absolute@tl+ full-width t-0@tp- t-80@tl+"
+ data-behavior="SearchBox SearchAutocomplete">
+ <div class="th-reverse bg-gray-2 bc-gray-3 c-gray-6">
+ <div class="container@tp+ pl-20@m- pr-20@m-">
+ <div class="relative pl-40 pr-40"><label for="search-terms">
+ <svg class="absolute l-0 t-0 b-0 mt-a mb-a search-icon inline-block mr-5 relative">
+ <use xlink:href="#icon-search"></use>
+ </svg>
+ </label>
+ <form action="/search/" data-engadget-search-submit=""><input data-search-box-input=""
+ class="c-white bg-trans full-width pt-20@s pt-25@m+ pb-20@s pb-25@m+ tx-d5@s tx-d3@m+"
+ type="Text" id="search-terms"
+ name="search-terms" value=""
+ placeholder="What are you searching for?"
+ autocomplete="off" required=""></input>
+ </form>
+ <a href="#" data-search-box-close="">
+ <svg class="absolute t-0 r-0 b-0 mt-a mb-a icon vm">
+ <use xlink:href="#icon-close"></use>
+ </svg>
+ </a></div>
+ </div>
+ </div>
+ <section class="th-reverse bg-gray-2 bc-gray-3 c-gray-6 border-top pt-15 pb-25 i-search_box__results">
+ <div class="container@tp+ pl-20@m- pr-20@m-">
+ <div class="scroll custom-scroll scroll-track-gray-4-30 scroll-handle-gray-4"
+ style="max-height: 313px">
+ <div class="contain">
+ <div class="contain__inner">
+ <div class="grid full-height">
+ <div class="grid__cell col-1-of-2@tp col-1-of-3@tl+ full-height grid-divider"></div>
+ <div class="hide@m- grid__cell col-1-of-2@tp col-1-of-3@tl+ full-height grid-divider"></div>
+ <div class="hide@tp- grid__cell col-1-of-2@tp col-1-of-3@tl+ full-height grid-divider"></div>
+ </div>
+ </div>
+ <div id="autocomplete-results-container"
+ class="grid o-grid_divider_mask mt-n15@s mt-n25@m+">
+ <div class="hide@m- o-grid_divider_mask__mask bg-gray-2"></div>
+ </div>
+ </div>
+ </div>
+ <div class="js-show-more-acresults-container container@tp- mt-15 hide"><a href="#"
+ class="js-show-more-acresults o-btn th-btn">
+ <span class="t-btn">
+ <span class="hide@s">Show</span> More <span class="hide@s">Results</span>
+ </span>
+ </a></div>
+ </div>
+ </section>
+ </section>
+ <div class="i-nav_drawer_slide@tp-__panel relative z-0" data-nav-drawer-slide-panel="">
+ <!-- banner-leaderboard -->
+ <aside role="banner" class="">
+ <div class="relative">
+ <div id="leaderboard_article"
+ data-aol-adcall="{&quot;s&quot;:{&quot;adSetType&quot;:&quot;F&quot;,&quot;htmlAdWH&quot;:{&quot;mn&quot;:93484767,&quot;sizes&quot;:{&quot;w&quot;:&quot;320&quot;,&quot;h&quot;:&quot;50&quot;},&quot;type&quot;:&quot;f&quot;},&quot;cb&quot;:&quot;adjust_lb&quot;},&quot;tp&quot;:{&quot;adSetType&quot;:&quot;F&quot;,&quot;htmlAdWH&quot;:{&quot;mn&quot;:93484768,&quot;sizes&quot;:{&quot;w&quot;:&quot;LB&quot;,&quot;h&quot;:&quot;LB&quot;},&quot;type&quot;:&quot;fc&quot;},&quot;cb&quot;:&quot;adjust_lb&quot;}}"
+ data-behavior="Advertisement"></div>
+ </div>
+ </aside>
+ <main role="main" class="th-base o-h">
+ <!-- article-context-nav -->
+ <!-- context-nav -->
+ <nav data-behavior="ContextNav"
+ class="i-context_nav bc-white-10 border-bottom c-gray-5 t-0 full-width o-context_nav hide@tp- z-10"
+ data-context-nav-offset="200" style="z-index: 100000">
+ <div class="th-reverse bc-gray-2 h-80">
+ <div class="container relative">
+ <div class="o-bar">
+ <div class="table-cell-top">
+ <div class="vt pt-20 pb-20 pr-50"><a href="/">
+ <svg role="img" aria-label="Engadget" class="header-logo c-white">
+ <title>Engadget</title>
+ <use xlink:href="#icon-logo"></use>
+ </svg>
+ </a></div>
+ <a href="#"
+ class="hide@tl- i-context_nav__related_btn vt pl-60 pr-60 border-left border-right h-80 hit c-white:hvr c-inherit-*:hvr"
+ data-context-nav-related-btn="">
+ <div class="t-btn-context-nav mt-30">
+ <div class="inline-block">3 related articles</div>
+ <svg class="c-gray-4 inline-block vm ml-10 caret-icon">
+ <use xlink:href="#icon-down-caret"></use>
+ </svg>
+ </div>
+ </a>
+ </div>
+ <div class="o-bar__cell">
+ <div class="vt pr-20">
+ <div class="table h-80">
+ <div class="table-cell">
+ <div class="inline-block hide@tl-">
+ <!-- buy-button-alt -->
+ <a href="/buylink/110829"
+ class="o-btn o-btn--small th-btn-alt w-130@tl+ c-white@tp-"
+ target="_blank">
+ <div class="t-btn"> Buy Now
+ <div class="ml-10 inline-block hide@m-">
+ <svg class="icon t-1 relative">
+ <use xlink:href="#icon-link-off"></use>
+ </svg>
+ </div>
+ </div>
+ </a>
+ </div>
+ <div class="inline-block pr-60">
+ <!-- share-macro -->
+ <div class="inline-block border-right icon-20-line-height"><a
+ href="https://www.facebook.com/dialog/share?app_id=132746074315&amp;display=popup&amp;href=https%3A%2F%2Fwww.engadget.com%2F2017%2F11%2F03%2Fxbox-one-x-review%2F"
+ class="inline-block pl-20 pr-20 th-meta sharebtn facebook-share"
+ target="_blank" data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="560" data-engadget-h="636">
+ <svg class="inline-block icon vm th-meta__icon">
+ <use xlink:href="#icon-facebook"></use>
+ </svg>
+ </a></div>
+ <div class="inline-block border-right icon-20-line-height"><a
+ href="https://twitter.com/share?url=https%3A%2F%2Fwww.engadget.com%2F2017%2F11%2F03%2Fxbox-one-x-review%2F&amp;text=Xbox%20One%20X%20review%3A%20%20A%20console%20that%20keeps%20up%20with%20gaming%20PCs&amp;via=engadget"
+ class="inline-block pl-20 pr-20 th-meta sharebtn twitter-share"
+ target="_blank" data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="670" data-engadget-h="430">
+ <svg class="inline-block icon vm th-meta__icon">
+ <use xlink:href="#icon-twitter"></use>
+ </svg>
+ </a></div>
+ <div class="inline-block border-right icon-20-line-height"><a
+ href="https://www.reddit.com/submit?url=https%3A%2F%2Fwww.engadget.com%2F2017%2F11%2F03%2Fxbox-one-x-review%2F&amp;title=Xbox%20One%20X%20review%3A%20%20A%20console%20that%20keeps%20up%20with%20gaming%20PCs"
+ class="inline-block pl-20 pr-20 th-meta sharebtn reddit-share"
+ target="_blank" data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="960" data-engadget-h="750">
+ <svg class="inline-block icon vm th-meta__icon">
+ <use xlink:href="#icon-reddit"></use>
+ </svg>
+ </a></div>
+ <div class="inline-block border-right icon-20-line-height"><a
+ href="mailto:?subject=Xbox%20One%20X%20review%3A%20%20A%20console%20that%20keeps%20up%20with%20gaming%20PCs via Engadget&amp;body=https%3A%2F%2Fwww.engadget.com%2F2017%2F11%2F03%2Fxbox-one-x-review%2F"
+ class="inline-block pl-20 pr-20 th-meta" target="_blank"
+ data-behavior="Pop" data-engadget-popname="engadget_share">
+ <svg class="inline-block icon vm th-meta__icon">
+ <use xlink:href="#icon-email"></use>
+ </svg>
+ </a></div>
+ </div>
+ <ul class="inline-block pr-30">
+ <li class="inline-block t-meta "><a
+ href="https://www.engadget.com/user/login"
+ class="increase-hit th-meta" target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_auth_window">
+ <span class="increase-hit__inner">
+ Login
+ </span>
+ </a></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ <div class="inline-block vt"><a href="#search-box" data-search-box-trigger=""
+ class="w-80 h-80 contain inline-block border-left th-meta">
+ <svg class="icon search-icon contain__inner">
+ <use xlink:href="#icon-search"></use>
+ </svg>
+ </a></div>
+ </div>
+ </div>
+ </div>
+ <section
+ class="i-context_nav__related bg-gray-2 c-gray-9 bc-gray-5 pt-25 pb-25 o-context_nav__related">
+ <div class="container">
+ <div class="grid">
+ <div class="grid__cell col-1-of-3">
+ <a href="https://www.engadget.com/2018/03/21/google-lytro-acquisition-rumor/"
+ class="c-white:hvr">
+ <article class="table">
+ <div class="table-cell-top pr-20 w-130"><img
+ src="https://o.aolcdn.com/images/dims?thumbnail=130%2C87&amp;quality=80&amp;image_uri=https%3A%2F%2Fo.aolcdn.com%2Fimages%2Fdims%3Fcrop%3D3000%252C1996%252C0%252C0%26quality%3D85%26format%3Djpg%26resize%3D1600%252C1065%26image_uri%3Dhttp%253A%252F%252Fo.aolcdn.com%252Fhss%252Fstorage%252Fmidas%252F4281e1d07a07ef72be80107dbe2507de%252F206231272%252Fthe-lytro-camera-is-displayed-for-a-photograph-in-san-francisco-us-picture-id140228514%26client%3Da1acac3e1b3290917d92%26signature%3D3652a66233df6394ce5f09154619f3b62feab93e&amp;client=cbc79c14efcebee57402&amp;signature=7ac5f830221b7d6285b7c08212b6724ceeeada60"
+ alt="Google is reportedly acquiring Lytro for around $40 million"
+ class="max-img"></img></div>
+ <div class="table-cell-top pl-20">
+ <h2 class="t-h6">Google is reportedly acquiring Lytro for around $40
+ million</h2>
+ </div>
+ </article>
+ </a>
+ </div>
+ <div class="grid__cell col-1-of-3">
+ <a href="https://www.engadget.com/2018/03/21/hyper-light-drifter-is-another-indie-game-coming-to-switch/"
+ class="c-white:hvr">
+ <article class="table">
+ <div class="table-cell-top pr-20 w-130"><img
+ src="https://o.aolcdn.com/images/dims?thumbnail=130%2C87&amp;quality=80&amp;image_uri=https%3A%2F%2Fs.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2Fa45e94a7987030d3366b8e9570d04df2%2F206231033%2Ffba4a93144c04a87dc2bd998e822b218_original.jpg&amp;client=cbc79c14efcebee57402&amp;signature=69faf46cf16b248637d393468f674362c6da2688"
+ alt="'Hyper Light Drifter' is another indie game coming to Switch"
+ class="max-img"></img></div>
+ <div class="table-cell-top pl-20">
+ <h2 class="t-h6">'Hyper Light Drifter' is another indie game coming
+ to Switch</h2>
+ </div>
+ </article>
+ </a>
+ </div>
+ <div class="grid__cell col-1-of-3">
+ <a href="https://www.engadget.com/2018/03/20/samsungs-commercial-grade-galaxy-tab-active-2-is-available-in-t/"
+ class="c-white:hvr">
+ <article class="table">
+ <div class="table-cell-top pr-20 w-130"><img
+ src="https://o.aolcdn.com/images/dims?thumbnail=130%2C87&amp;quality=80&amp;image_uri=https%3A%2F%2Fs.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2F468b08b5911b6515fc5903f0a07d362%2F206230195%2Ftabactive2.jpg&amp;client=cbc79c14efcebee57402&amp;signature=622dbee20f12ddc433bec544928a36b582216a77"
+ alt="Samsung's commercial-grade Galaxy Tab Active 2 is available in the US"
+ class="max-img"></img></div>
+ <div class="table-cell-top pl-20">
+ <h2 class="t-h6">Samsung's commercial-grade Galaxy Tab Active 2 is
+ available in the US</h2>
+ </div>
+ </article>
+ </a>
+ </div>
+ </div>
+ </div>
+ </section>
+ </div>
+ </nav>
+ <!-- article -->
+ <!-- article-hero-embed -->
+ <header class="bg-gray-11 cf">
+ <div class="ta-c bg-gray-1">
+ <div class="container@d">
+ <!-- TAG START { player: "Eng: HERO EMBED - sideview, autoplay, muted ", owner: "Engadget AOL", for: "Engadget AOL" } -->
+ <div id="56e83c06e4b01fe390d9dadd"
+ class="vdb_player vdb_56e83c06e4b01fe390d9dadd564f3144ff690c0a7c285e51"
+ vdb_params="m.embeded=cms_video_plugin_cms.publishing.oath.com"
+ data-placeholder="//img.vidible.tv/prod/2017-11/01/59fa00654db5ff559119c006/59fa012bae56975c360acc8b_o_U_v1.jpg?w=1440&amp;h=900">
+ <script async="" type="text/javascript"
+ src="//delivery.vidible.tv/jsonp/pid=56e83c06e4b01fe390d9dadd/vid=59fa00654db5ff559119c006/564f3144ff690c0a7c285e51.js?m.embeded=cms_video_plugin_cms.publishing.oath.com"></script>
+ </div>
+ <!-- TAG END { date: 11/02/17 } -->
+ </div>
+ </div>
+ <div class="ta-c pb-60@tp- pb-80@tl+ container">
+ <h1 class="t-h4@s t-h3@m t-h1@tp t-alpha-h1@tl+ mt-40@tp- mt-75@tl+ c-gray-1 ml-a mr-a col-11-of-15">
+ Xbox One X review: A console that keeps up with gaming PCs </h1>
+ <h2 class="t-d7@m- t-d3-b@tp t-d2@tl+ mt-25 c-gray-3 ml-a mr-a col-11-of-15"> But only hardcore
+ gamers will appreciate it. </h2>
+ </div>
+ <div class="container border-top pt-25 pb-25">
+ <div class="grid">
+ <div class="grid__cell vm col-6-of-15@tp- col-7-of-15@tl+">
+ <!-- article-author-header -->
+ <div class="o-article_meta_bar__avatar left mr-20 mr-10@s o-avatar_offset">
+ <div class="w-45@m+ h-45@m+ o-h w-30@s h-30@s"><a
+ href="/about/editors/devindra-hardawar/">
+ <img src="https://o.aolcdn.com/images/dims?thumbnail=45%2C45&amp;quality=80&amp;image_uri=http%3A%2F%2Fwww.blogcdn.com%2Fwww.engadget.com%2Fmedia%2F2016%2F03%2Fdevindra-engadget-headshot-small.jpg&amp;client=cbc79c14efcebee57402&amp;signature=e6ffba7468c380581b6589a70ce5d7c1ec40cd1d"
+ class="inline-block vm circle-mask"></img>
+ </a></div>
+ </div>
+ <div class="t-meta-small@s t-meta@m+"><a href="/about/editors/devindra-hardawar/"
+ class="th-meta">Devindra Hardawar</a><span
+ class="hide@s th-meta">, <a href="https://twitter.com/devindra" class="th-meta">@devindra</a></span>
+ <div class="th-meta"> 11.03.17 in <a href="/tags/gadgetry/" class="th-topic">Gadgetry</a>
+ </div>
+ </div>
+ </div>
+ <div class="grid__cell vm col-2-of-15 grid-divider hide@tp-">
+ <!-- article-stat --><a href="#comments" class="o-hit"><span
+ class="t-d1 pb-5 spot-im-replies-count" data-post-id="post-23265143"></span>
+ <span class="t-meta pb-0 th-meta">Comments</span>
+ </a></div>
+ <div class="grid__cell vm col-2-of-15 grid-divider hide@tp-">
+ <!-- article-stat --><span class="t-d1 pb-5 ">2192</span> <span
+ class="t-meta pb-0 th-meta">Shares</span></div>
+ <div class="grid__cell vm col-9-of-15@tp- col-4-of-15@tl+ ta-r">
+ <!-- article-social-nav -->
+ <div class="o-social_nav c-gray-9">
+ <!-- share-macro -->
+ <div class="o-social_nav__item" data-tooltip-outer=""><a
+ href="https://www.facebook.com/dialog/share?app_id=132746074315&amp;display=popup&amp;href=https%3A%2F%2Fwww.engadget.com%2F2017%2F11%2F03%2Fxbox-one-x-review%2F"
+ class="inline-block pl-10@s th-meta sharebtn facebook-share"
+ data-behavior="Tooltip Pop" target="_blank"
+ data-engadget-popname="engadget_share" data-engadget-pop-w="560"
+ data-engadget-h="636">
+ <svg class="inline-block icon vm th-meta__icon">
+ <use xlink:href="#icon-facebook"></use>
+ </svg>
+ </a>
+ <div class="hide" data-tooltip-content="">
+ <div class="o-tooltip ta-c th-reverse">
+ <div class="t-meta th-meta"><span class="c-white">Share</span> <span
+ data-share-count-facebook=""></span></div>
+ </div>
+ </div>
+ </div>
+ <div class="o-social_nav__item" data-tooltip-outer=""><a
+ href="https://twitter.com/share?url=https%3A%2F%2Fwww.engadget.com%2F2017%2F11%2F03%2Fxbox-one-x-review%2F&amp;text=Xbox%20One%20X%20review%3A%20%20A%20console%20that%20keeps%20up%20with%20gaming%20PCs&amp;via=engadget"
+ class="inline-block pl-10@s th-meta sharebtn twitter-share"
+ data-behavior="Tooltip Pop" target="_blank"
+ data-engadget-popname="engadget_share" data-engadget-pop-w="670"
+ data-engadget-h="430">
+ <svg class="inline-block icon vm th-meta__icon">
+ <use xlink:href="#icon-twitter"></use>
+ </svg>
+ </a>
+ <div class="hide" data-tooltip-content="">
+ <div class="o-tooltip ta-c th-reverse">
+ <div class="t-meta th-meta"><span class="c-white">Tweet</span> <span
+ data-share-count-twitter=""></span></div>
+ </div>
+ </div>
+ </div>
+ <div class="o-social_nav__item " data-tooltip-outer=""><a
+ href="https://www.reddit.com/submit?url=https%3A%2F%2Fwww.engadget.com%2F2017%2F11%2F03%2Fxbox-one-x-review%2F&amp;title=Xbox%20One%20X%20review%3A%20%20A%20console%20that%20keeps%20up%20with%20gaming%20PCs"
+ class="inline-block pl-10@s th-meta sharebtn reddit-share"
+ data-behavior="Tooltip Pop" target="_blank"
+ data-engadget-popname="engadget_share" data-engadget-pop-w="960"
+ data-engadget-h="750">
+ <svg class="inline-block icon vm th-meta__icon">
+ <use xlink:href="#icon-reddit"></use>
+ </svg>
+ </a>
+ <div class="hide" data-tooltip-content="">
+ <div class="o-tooltip ta-c th-reverse">
+ <div class="t-meta th-meta"><span class="c-white">Share</span> <span
+ data-share-count-reddit=""></span></div>
+ </div>
+ </div>
+ </div>
+ <div class="o-social_nav__item" data-tooltip-outer=""><a href="javascript:;"
+ class="inline-block pl-10@s th-meta"
+ data-engadget-reading-list-id="23265143"
+ data-engadget-reading-list-type="post"
+ data-behavior="Tooltip AddToReadingList"
+ target="_blank"
+ data-engadget-auth="false">
+ <svg class="inline-block icon vm th-meta__icon">
+ <use xlink:href="#icon-save"></use>
+ </svg>
+ </a>
+ <div class="hide" data-tooltip-content="">
+ <div class="o-tooltip ta-c th-reverse">
+ <div class="t-meta th-meta"><span class="c-white">Save</span> <span
+ data-share-count-save=""></span></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </header>
+ <div class="container@tp+ pt-40@tp+" data-behavior="BreakoutsHandler">
+ <div class="grid flex">
+ <div class="grid__cell col-3-of-15 hide@tl- flex pb-80" style="flex-direction: column">
+ <div class="flex-1" id="hero-table-of-contents" data-sticky-container=""
+ style="margin-top: -160px; padding-top: 160px">
+ <ul class="i-contents_nav flush-top " data-behavior="sticky"></ul>
+ </div>
+ </div>
+ <div class="grid__cell col-12-of-15@d ">
+ <article class="c-gray-1">
+ <div id="page_body" data-behavior="trigger_contents_nav">
+ <div class="container@m-">
+ <!-- article-contents -->
+ <div class="flush-top flush-bottom" data-behavior="FitVids ">
+ <div class="o-article_block ">
+ <!-- rail -->
+ <div class="grid@tl+ mt-n40">
+ <div style="clear: right;"></div>
+ <div id="right-ads-rail"
+ class="hide@tp- grid@tl+__cell col-4-of-12@tl+ right@tl+ flush-top pt-40 relative z-1">
+ <!-- product-card -->
+ <aside class="o-card rounded mb-40 hide@tp-">
+ <div class="o-hit th-meta i-hover_text o-h">
+ <header class="o-bar">
+ <div class=" h-70 o-h">
+ <div class="i-hover_text__barrel">
+ <div class="o-bar h-70">
+ <div class="o-bar__cell o-card__title">
+ <h4 class="t-list-header c-gray-2">
+ Xbox One X </h4>
+ </div>
+ <div class="o-bar__cell ta-r o-card__title h-70 w-45 contain">
+ <svg class="vc inline-block arrow-small contain__inner">
+ <use xlink:href="#icon-right-arrow-thick"></use>
+ </svg>
+ </div>
+ </div>
+ <div class="o-bar h-70">
+ <div class="o-bar__cell o-card__title">
+ <h4 class="t-list-header c-gray-2">
+ Get more info </h4>
+ </div>
+ <div class="o-bar__cell ta-r o-card__title h-70 w-45 contain">
+ <svg class="vc inline-block arrow-small contain__inner">
+ <use xlink:href="#icon-right-arrow-thick"></use>
+ </svg>
+ </div>
+ </div>
+ </div>
+ </div>
+ <a href="https://www.engadget.com/products/microsoft/xbox/one/x/"
+ class="o-hit__link">More</a></header>
+ </div>
+ <a href="https://www.engadget.com/products/microsoft/xbox/one/x/"
+ class="o-hit__link">
+ <!-- rating-thumb -->
+ <div class="o-rating_thumb c-white"><img
+ data-original="https://o.aolcdn.com/images/dims?quality=100&amp;image_uri=https%3A%2F%2Fs3.amazonaws.com%2Fengadget-production%2Fproducts%2F558%2Fbyyh%2Fbyyh.jpg&amp;client=cbc79c14efcebee57402&amp;signature=be3d0bf5faf20e48947fa9635f7f3305460f3198"
+ alt="Xbox" class="ml-a mr-a pb-30 max-img"></img>
+ <div class="o-rating_thumb__rating b-75@m- z-3">
+ <!-- rating -->
+ <div class="o-rating bg-rating-85 c-white ">
+ <div class="o-rating__inner t-rating-large">
+ 87
+ </div>
+ </div>
+ </div>
+ </div>
+ </a>
+ <section>
+ <div class="hide@m-">
+ <div class="border-top pt-20 pr-20 pb-25 pl-20">
+ <div class="th-title t-list-header-2"><a
+ href="https://www.engadget.com/products/microsoft/xbox/one/x/scores/">Scores</a>
+ </div>
+ <!-- rating-bars -->
+ <div class="i-rating_bars mt-0"
+ data-behavior="RatingBars">
+ <article class=" pt-15">
+ <div class="table">
+ <div class="table-cell-bottom">
+ <h4 class=" t-meta">
+ <span class="th-title">Engadget</span>
+ </h4>
+ </div>
+ <div class="table-cell-bottom ta-r">
+ <div class="t-list-header-2 th-title">
+ 87
+ </div>
+ </div>
+ </div>
+ <!-- rating-meter -->
+ <div class="bg-gray-10 mt-10 i-rating_bars__bar">
+ <div style="width: 87%;"
+ class="h-10 bg-rating-85">
+ &nbsp;
+ </div>
+ </div>
+ </article>
+ <article class=" pt-15">
+ <div class="table">
+ <div class="table-cell-bottom">
+ <h4 class=" t-meta">
+ <span class="th-title">Critic</span>
+ <a href="//www.engadget.com/products/microsoft/xbox/one/x/scores/"
+ class="inline tx-meta ml-5 lh-inherit th-meta">
+ 10 Reviews
+ </a></h4>
+ </div>
+ <div class="table-cell-bottom ta-r">
+ <div class="t-list-header-2 th-title">
+ 8.3
+ </div>
+ </div>
+ </div>
+ <!-- rating-meter -->
+ <div class="bg-gray-10 mt-10 i-rating_bars__bar">
+ <div style="width: 83%;"
+ class="h-10 bg-rating-70">
+ &nbsp;
+ </div>
+ </div>
+ </article>
+ <article class=" pt-15">
+ <div class="table">
+ <div class="table-cell-bottom">
+ <h4 class=" t-meta">
+ <span class="th-title">Users</span>
+ <a href="//www.engadget.com/products/microsoft/xbox/one/x/user-scores/"
+ class="inline tx-meta ml-5 lh-inherit th-meta">
+ 1 Reviews
+ </a></h4>
+ </div>
+ <div class="table-cell-bottom ta-r">
+ <div class="t-list-header-2 th-title">
+ 10
+ </div>
+ </div>
+ </div>
+ <!-- rating-meter -->
+ <div class="bg-gray-10 mt-10 i-rating_bars__bar">
+ <div style="width: 100%;"
+ class="h-10 bg-rating-85">
+ &nbsp;
+ </div>
+ </div>
+ </article>
+ </div>
+ </div>
+ <div class="border-top pt-20 pr-20 pb-25 pl-20">
+ <h4 class="th-title t-list-header-2"><a
+ href="https://www.engadget.com/products/microsoft/xbox/one/x/specs/">Key
+ Specs</a></h4>
+ <ul class="t-meta-list th-meta mt-15">
+ <li><span
+ class="c-gray-3">Game format&nbsp;</span>
+ Optical, Downloadable
+ </li>
+ <li><span class="c-gray-3">Online features&nbsp;</span>
+ Multiplayer, Voice chat, Store
+ </li>
+ <li><span class="c-gray-3">Drive capacity&nbsp;</span>
+ 10001
+ </li>
+ <li><span class="c-gray-3">Controller type&nbsp;</span>
+ Wired, Wireless
+ </li>
+ <li><span class="c-gray-3">Video outputs&nbsp;</span>
+ HDMI
+ </li>
+ </ul>
+ </div>
+ </div>
+ </section>
+ <div class="border-top hide@m p-20 ta-c"><span
+ class="inline-block vm t-meta c-gray-7">From</span>
+ <span class="inline-block vm t-h3-b">$610.00</span>
+ <div class="mt-10">
+ <!-- buy-button-alt -->
+ <a href="/buylink/110829"
+ class="o-btn o-btn--small th-btn-alt c-white@tp-"
+ target="_blank">
+ <div class="t-btn"> Buy Now
+ <div class="ml-10 inline-block hide@m-">
+ <svg class="icon t-1 relative">
+ <use xlink:href="#icon-link-off"></use>
+ </svg>
+ </div>
+ </div>
+ </a>
+ </div>
+ </div>
+ </aside>
+ <aside id="shared-ads-container" role="banner">
+ <div class="vc relative mb-20">
+ <div id="multi_size_article"
+ data-aol-adcall="{&quot;tl&quot;:{&quot;adSetType&quot;:&quot;F&quot;,&quot;htmlAdWH&quot;:{&quot;mn&quot;:93484769,&quot;sizes&quot;:{&quot;w&quot;:&quot;RR&quot;,&quot;h&quot;:&quot;RR&quot;},&quot;type&quot;:&quot;f&quot;}}}"
+ data-behavior="Advertisement"></div>
+ </div>
+ </aside>
+ <div id="taboola-right-rail-thumbnails"
+ class="mt-35 mb-35"></div>
+ <script type="text/javascript">
+ window._taboola = window._taboola || [];
+ _taboola.push({
+ mode: 'thumbnails-e',
+ container: 'taboola-right-rail-thumbnails',
+ placement: 'Right Rail Thumbnails',
+ target_type: 'mix'
+ });
+ </script>
+ <aside role="banner">
+ <div class="relative mb-15 mt-25">
+ <div id="latest_rail_article"
+ data-aol-adcall="{&quot;tl&quot;:{&quot;adSetInView&quot;:[&quot;D&quot;,&quot;&quot;,&quot;250&quot;],&quot;htmlAdWH&quot;:{&quot;mn&quot;:93484770,&quot;sizes&quot;:{&quot;w&quot;:&quot;RR&quot;,&quot;h&quot;:&quot;RR&quot;},&quot;type&quot;:&quot;f&quot;}}}"
+ data-behavior="Advertisement"></div>
+ </div>
+ </aside>
+ </div>
+ </div>
+ </div>
+ <!-- post-contents -->
+ <div class="o-article_block pb-15 pb-5@m- mt-25@s">
+ <div class="grid@tl+">
+ <div class="grid@tl+__cell col-8-of-12@tl+">
+ <div class="article-text c-gray-1" data-behavior="Dropcap">
+ <p>The <a
+ href="https://www.engadget.com/2017/06/13/the-xbox-one-x-is-aspirational-in-the-purest-sense-of-the-word/">Xbox
+ One X</a> is the ultimate video game system. It sports
+ more horsepower than any system ever. And it plays more
+ titles in native 4K than <a
+ href="https://www.engadget.com/2016/11/07/sony-playstation-4-pro-review/">Sony's
+ PlayStation 4 Pro</a>. It's just about everything
+ you could want without investing in a gaming PC. The
+ only problem? It's now been a year since the PS4 Pro
+ launched, and the One X costs $500, while Sony's console
+ launched at $400. That high price limits the Xbox One X
+ to diehard Microsoft fans who don't mind paying a bit
+ more to play the console's exclusive titles in 4K.
+ Everyone else might be better off waiting, or opting for
+ the $279 <a
+ href="https://www.engadget.com/2016/08/02/xbox-one-s-review/">Xbox
+ One S</a>. </p>
+ <!-- inline article gal -->
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- article-gallery -->
+ <div class="o-article_block o-subtle_divider">
+ <div class="grid@tl+">
+ <div class="grid@tl+__cell col-8-of-12@tl+ left">
+ <section>
+ <h4 class="t-section-title mb-35 mb-15@s"> Gallery: Xbox One
+ X | 14 Photos </h4>
+ <div class="relative mb-n15 mb-25@tp-"
+ data-behavior="lightbox_trigger"
+ data-engadget-slideshow-id="803271"
+ data-eng-bang="{&quot;gallery&quot;:803271,&quot;slide&quot;:7142088,&quot;index&quot;:0}"
+ data-eng-mn="93511844"><a href="#" data-index="0"
+ data-engadget-slide-id="7142088"
+ data-eng-bang="{&quot;gallery&quot;:803271,&quot;slide&quot;:7142088,&quot;index&quot;:0}">
+ <img src="https://o.aolcdn.com/images/dims?thumbnail=980%2C653&amp;quality=80&amp;image_uri=https%3A%2F%2Fs.blogcdn.com%2Fslideshows%2Fimages%2Fslides%2F714%2F208%2F8%2FS7142088%2Fslug%2Fl%2Fxbox-one-x-review-gallery-1-1.jpg&amp;client=cbc79c14efcebee57402&amp;signature=9bb08b52e12de8e4060f863a52c613489529818d"
+ class="stretch-img"></img>
+ </a>
+ <div class="hide@tp+ t-meta absolute b-0 l-0 c-white">
+ <svg class="inline-block slideshow-icon vm mr-n15">
+ <use xlink:href="#icon-slideshow"></use>
+ </svg>
+ 14
+ </div>
+ <ul class="hide@m- absolute b-0 l-0 ml-n10 pt-10 pr-10 bg-white">
+ <li class="ml-10 inline-block vt contain"><a
+ href="#" data-index="1"
+ data-engadget-slide-id="7142089"
+ data-eng-bang="{&quot;gallery&quot;:803271,&quot;slide&quot;:7142089,&quot;index&quot;:0}">
+ <img src="https://o.aolcdn.com/images/dims?thumbnail=130%2C87&amp;quality=80&amp;image_uri=https%3A%2F%2Fs.blogcdn.com%2Fslideshows%2Fimages%2Fslides%2F714%2F208%2F9%2FS7142089%2Fslug%2Fl%2Fxbox-one-x-review-gallery-2-1.jpg&amp;client=cbc79c14efcebee57402&amp;signature=916edb7e63b5363e0d7ddfa5a1eb84cde5b6c0f9"></img>
+ </a></li>
+ <li class="ml-10 inline-block vt contain"><a
+ href="#" data-index="2"
+ data-engadget-slide-id="7142090"
+ data-eng-bang="{&quot;gallery&quot;:803271,&quot;slide&quot;:7142090,&quot;index&quot;:0}">
+ <img src="https://o.aolcdn.com/images/dims?thumbnail=130%2C87&amp;quality=80&amp;image_uri=https%3A%2F%2Fs.blogcdn.com%2Fslideshows%2Fimages%2Fslides%2F714%2F209%2F0%2FS7142090%2Fslug%2Fl%2Fxbox-one-x-review-gallery-3-1.jpg&amp;client=cbc79c14efcebee57402&amp;signature=2ff9a50b64a05d9bb5f006c6a7ed6a38818c6111"></img>
+ </a></li>
+ <li class="ml-10 inline-block vt contain"><a
+ href="#" data-index="3"
+ data-engadget-slide-id="7142091"
+ data-eng-bang="{&quot;gallery&quot;:803271,&quot;slide&quot;:7142091,&quot;index&quot;:0}">
+ <img src="https://o.aolcdn.com/images/dims?thumbnail=130%2C87&amp;quality=80&amp;image_uri=https%3A%2F%2Fs.blogcdn.com%2Fslideshows%2Fimages%2Fslides%2F714%2F209%2F1%2FS7142091%2Fslug%2Fl%2Fxbox-one-x-review-gallery-4-1.jpg&amp;client=cbc79c14efcebee57402&amp;signature=05f59c708541c0bcc6569a09deb733249b6ffce6"></img>
+ </a></li>
+ <li class="ml-10 inline-block vt contain"><a
+ href="#" data-index="4"
+ data-engadget-slide-id="7142092"
+ data-eng-bang="{&quot;gallery&quot;:803271,&quot;slide&quot;:7142092,&quot;index&quot;:0}">
+ <img src="https://o.aolcdn.com/images/dims?thumbnail=130%2C87&amp;quality=80&amp;image_uri=https%3A%2F%2Fs.blogcdn.com%2Fslideshows%2Fimages%2Fslides%2F714%2F209%2F2%2FS7142092%2Fslug%2Fl%2Fxbox-one-x-review-gallery-5-1.jpg&amp;client=cbc79c14efcebee57402&amp;signature=e9fe81e42526f7f32e57e22fcc6cd7ac4e00801a"></img>
+ </a>
+ <a href="#" data-index="grid"
+ data-engadget-slide-type="grid"
+ data-eng-bang="{&quot;gallery&quot;:803271,&quot;view&quot;:&quot;grid&quot;}"
+ class="contain__inner bg-gray-1 translucent">
+ <div class="t-article-gallery-count absolute b-10 l-15 c-white">
+ +10
+ </div>
+ </a>
+ </li>
+ </ul>
+ </div>
+ </section>
+ </div>
+ </div>
+ </div>
+ <div class="o-article_block pb-15 pb-5@m- cf@tp-">
+ <div class="grid@tl+">
+ <div class="move-up@tp- full-width@tp- grid@tl+__cell col-8-of-12@tl+">
+ <div class="article-text c-gray-1">
+ <p></p>
+ <p style="margin-top: -20px"></p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- review-card -->
+ <div class="o-article_block o-subtle_divider@tl+">
+ <div class="grid@tl+">
+ <div class="full-width@tp- grid@tl+__cell col-8-of-12@tl+">
+ <h4 class="t-list-header">Engadget Score
+ <div class="right">
+ <!-- rating-key -->
+ <figure class="pb-0 ta-r c-gray-6 hide@s o-rating_key i-rating-key t-meta-small cf">
+ <div class="o-rating_key__score o-rating_key__score--poor
+ i-rating-key__score i-rating-key__score--poor left" data-rating-from="1" data-rating-to="55"><span
+ class="o-rating_key__score__label i-rating-key__score__label c-gray-2">Poor</span>
+ <div class="inline-block full-width bg-rating-1"
+ style="height: 3px"></div>
+ </div>
+ <div class="o-rating_key__score o-rating_key__score--uninspiring
+ i-rating-key__score i-rating-key__score--uninspiring left" data-rating-from="55" data-rating-to="70"><span
+ class="o-rating_key__score__label i-rating-key__score__label c-gray-2">Uninspiring</span>
+ <div class="inline-block full-width bg-rating-55"
+ style="height: 3px"></div>
+ </div>
+ <div class="o-rating_key__score o-rating_key__score--good
+ i-rating-key__score i-rating-key__score--good left" data-rating-from="70" data-rating-to="85"><span
+ class="o-rating_key__score__label i-rating-key__score__label c-gray-2">Good</span>
+ <div class="inline-block full-width bg-rating-70"
+ style="height: 3px"></div>
+ </div>
+ <div class="o-rating_key__score o-rating_key__score--excellent
+ i-rating-key__score i-rating-key__score--excellent left" data-rating-from="85" data-rating-to="100"><span
+ class="o-rating_key__score__label i-rating-key__score__label c-gray-2">Excellent</span>
+ <div class="inline-block full-width bg-rating-85"
+ style="height: 3px"></div>
+ </div>
+ <figcaption class="t-meta mt-5">Key</figcaption>
+ </figure>
+ </div>
+ </h4>
+ <div class="border-top pt-20 mt-30 cf relative">
+ <div class="table">
+ <div class="table-cell">
+ <div class="t-meta"><a href="/products/microsoft/"
+ class="th-topic">Microsoft</a>
+ </div>
+ <div class="t-meta th-title mt-5"><a
+ href="/products/microsoft/xbox/one/x">Xbox</a>
+ </div>
+ </div>
+ <div class="table-cell">
+ <div class="grid">
+ <div class="grid__cell col-1-of-3">
+ <div class="relative t-15"><span
+ class="th-meta inline-block">from</span>&nbsp;<span
+ class="t-h4-b inline-block">$610.00</span>
+ </div>
+ </div>
+ <div class="grid__cell col-2-of-3">
+ <!-- buy-button-alt -->
+ <a href="/buylink/110829"
+ class="o-btn o-btn--medium th-btn-alt c-white@tp-"
+ target="_blank">
+ <div class="t-btn"> Buy Now
+ <div class="ml-10 inline-block hide@m-">
+ <svg class="icon t-1 relative">
+ <use xlink:href="#icon-link-off"></use>
+ </svg>
+ </div>
+ </div>
+ </a>
+ </div>
+ </div>
+ </div>
+ <div class="table-cell w-60">
+ <!-- rating -->
+ <div class="o-rating bg-rating-85 c-white w-60 h-60 ml-20 right">
+ <div class="o-rating__inner t-rating-large">
+ 87
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="mt-35 border-top">
+ <!-- pros-cons -->
+ <div class="grid mt-30">
+ <div class="grid__cell col-1-of-2@m+ ">
+ <h5 class="t-list-header">Pros</h5>
+ <ul class="t-bullet-list-large mt-20 c-gray-3">
+ <li class="bulleted bulleted--large">Most
+ powerful hardware ever in a home console
+ </li>
+ <li class="bulleted bulleted--large">Solid
+ selection of enhanced titles
+ </li>
+ <li class="bulleted bulleted--large">4K Blu-ray
+ drive is great for movie fans
+ </li>
+ </ul>
+ </div>
+ <div class="grid__cell col-1-of-2@m+ grid-divider@m+ mt-20@m-">
+ <h5 class="t-list-header">Cons</h5>
+ <ul class="t-bullet-list-large mt-20 c-gray-3">
+ <li class="bulleted bulleted--large">Expensive
+ </li>
+ <li class="bulleted bulleted--large">Not worth
+ it if you don’t have a 4K TV
+ </li>
+ <li class="bulleted bulleted--large">Still no VR
+ support
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ <div class="mt-35 pb-35 pt-35 border-top border-bottom">
+ <h4 class="t-list-header">Summary</h4>
+ <p class="t-d3 mt-15">As promised, the Xbox One X is the
+ most powerful game console ever. In practice, though, it
+ really just puts Microsoft on equal footing with Sony’s
+ PlayStation 4 Pro. 4K/HDR enhanced games look great, but
+ it’s lack of VR is disappointing in 2017.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="js-notMobileReferredByFbTw">
+ <!-- continued contents -->
+ <div class="o-article_block pb-15 pb-5@m- mt-n35 mt-n25@m mt-n15@s">
+ <div class="grid@tl+">
+ <div class="full-width@tp- grid@tl+__cell col-8-of-12@tl+">
+ <div class="article-text c-gray-1 Array">
+ <h3>Hardware</h3>
+ <p><img data-credit="Devindra Hardawar/AOL"
+ data-mep="2181678"
+ src="https://o.aolcdn.com/images/dims?crop=1600%2C1067%2C0%2C0&amp;quality=85&amp;format=jpg&amp;resize=1600%2C1067&amp;image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2F93beb86758ae1cf95721699e1e006e35%2F205826074%2FXbox%2BOne%2BX%2Breview%2Bgallery%2B7.jpg&amp;client=a1acac3e1b3290917d92&amp;signature=c0f2d36259c2c1decfb60aae364527cda2560d4a"
+ alt=""></img></p>
+ <p>Despite all the power inside, the One X is
+ Microsoft's smallest console to date. It looks
+ similar to the Xbox One S, except it has an entirely
+ matte black case and is slightly slimmer. It's also
+ surprisingly dense -- the console weighs 8.4 pounds,
+ but it feels far heavier than you'd expect for its
+ size, thanks to all of its new hardware. The One S,
+ in comparison, weighs two pounds less.</p>
+ <p>The Xbox One X's real upgrades are under the hood. It
+ features an 8-core CPU running at 2.3Ghz, 12GB of
+ GDDR5 RAM, a 1 terabyte hard drive and an upgraded
+ AMD Polaris GPU with 6 teraflops of computing power.
+ The PS4 Pro has only 8GB of RAM and tops out at 4.2
+ teraflops. Microsoft's console is clearly faster.
+ That additional horsepower means the Xbox One X can
+ run more games in full native 4K than the Sony's
+ console.</p>
+ <p><img data-credit="Devindra Hardawar/AOL"
+ data-mep="2182489"
+ src="https://o.aolcdn.com/images/dims?crop=1600%2C949%2C0%2C0&amp;quality=85&amp;format=jpg&amp;resize=1600%2C949&amp;image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2F9ece7fdad1e7025dec06ac9bf98688d0%2F205826075%2FXbox%2BOne%2BX%2Breview%2Bgallery%2B5.jpg&amp;client=a1acac3e1b3290917d92&amp;signature=9913883753141e7df322616bfe0bc41c6ecd80c8"
+ alt=""></img></p>
+ <p>Along the front, there's the slot-loading 4K Blu-ray
+ drive, a physical power button, a single USB port
+ and a controller pairing button. And around back,
+ there are HDMI out and in ports, the latter of which
+ lets you plug in your cable box. Additionally, there
+ are two USB ports, connections for optical audio, IR
+ out, and gigabit Ethernet. If you've still got a
+ Kinect around, you'll need to use a USB adapter to
+ plug it in.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="o-article_block pb-0 pt-0">
+ <div class="move-up@tp- full-width@tp-">
+ <!-- article-full-bleed -->
+ <!-- article-figure -->
+ <div class="js-breakout-container"
+ data-engadget-breakout-type="image">
+ <figure><img
+ src="https://o.aolcdn.com/images/dims?resize=980%2C640&amp;quality=100&amp;image_uri=https%3A%2F%2Fo.aolcdn.com%2Fimages%2Fdims%3Fcrop%3D1599%252C1043%252C0%252C0%26quality%3D85%26format%3Djpg%26resize%3D1600%252C1043%26image_uri%3Dhttp%253A%252F%252Fo.aolcdn.com%252Fhss%252Fstorage%252Fmidas%252F8b98ec8f6649158fe7448ac2f2695ac5%252F205826072%252FXbox%252BOne%252BX%252Breview%252Bgallery%252B6.jpg%26client%3Da1acac3e1b3290917d92%26signature%3D353dad1308f98c2c9dfc82c58a540a8b2f1fe63c&amp;client=cbc79c14efcebee57402&amp;signature=60b7c061460d0d45f5d367b8a9c62978af6b76ce"
+ class="stretch-img"></img>
+ <figcaption class="mt-15 t-meta c-gray-3"><span
+ class="c-gray-7">Devindra Hardawar/AOL</span>
+ </figcaption>
+ </figure>
+ </div>
+ </div>
+ </div>
+ <div class="o-article_block pb-10 pb-5@m- cf@tp-">
+ <div class="grid@tl+">
+ <div class="move-up@tp- full-width@tp- grid@tl+__cell col-8-of-12@tl+">
+ <div class="article-text c-gray-1">
+ <p>The console's controller hasn't changed since its
+ last mini-upgrade with the Xbox One S. That revision
+ rounded out its seams, improved bumper performance
+ and added a 3.5mm headphone jack. It's still a great
+ controller, though I'm annoyed Microsoft is sticking
+ with AA batteries as their default power source.
+ Sure, you could just pick up some renewable
+ batteries, or the Play and Charge kit, but that's an
+ extra expense. And manually swapping batteries feels
+ like a bad user experience when every other console
+ has rechargeable controllers.</p>
+ <h3>In use</h3>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="o-article_block pb-0 pt-0">
+ <div class="move-up@tp- full-width@tp-">
+ <!-- article-full-bleed -->
+ <!-- article-figure -->
+ <div class="js-breakout-container"
+ data-engadget-breakout-type="image">
+ <figure><img
+ src="https://o.aolcdn.com/images/dims?resize=980%2C640&amp;quality=100&amp;image_uri=https%3A%2F%2Fo.aolcdn.com%2Fimages%2Fdims%3Fcrop%3D1600%252C900%252C0%252C0%26quality%3D85%26format%3Djpg%26resize%3D1600%252C900%26image_uri%3Dhttp%253A%252F%252Fo.aolcdn.com%252Fhss%252Fstorage%252Fmidas%252F1885534bd201fc37481b806645c1fc8b%252F205828119%252FXbox%252Bone%252BX%252Bscreenshot%252Bgallery%252B8.jpg%26client%3Da1acac3e1b3290917d92%26signature%3Df63cf67c88b37fd9424855984e45f6b950c8c11a&amp;client=cbc79c14efcebee57402&amp;signature=0adca80fc8ee26a7353be639082881450a5ad49f"
+ class="stretch-img"></img>
+ <figcaption class="mt-15 t-meta c-gray-3"><span
+ class="c-gray-7">Devindra Hardawar/AOL</span>
+ </figcaption>
+ </figure>
+ </div>
+ </div>
+ </div>
+ <div class="o-article_block pb-10 pb-5@m- cf@tp-">
+ <div class="grid@tl+">
+ <div class="move-up@tp- full-width@tp- grid@tl+__cell col-8-of-12@tl+">
+ <div class="article-text c-gray-1">
+ <p>You won't find any major differences between the One
+ X and the last Xbox at first — aside from a more
+ dramatic startup sequence. Navigating the Xbox
+ interface is fast and zippy, but mostly that's due
+ to a recent OS upgrade. If you're moving over from
+ an older Xbox One, you can use the backup tool to
+ transfer your games and settings to an external hard
+ drive. Just plug that into the new console during
+ setup and it'll make it feel just like your old
+ machine. It's also a lot faster than waiting for
+ everything to download from Xbox Live.</p>
+ <p>You'll still have to set aside some time if you want
+ to play an Xbox One X-enhanced title, though. Those
+ 4K textures will make games significantly larger,
+ but Microsoft says it's come up with a few ways to
+ help developers make downloading them more
+ efficient. For example, language packs and other
+ optional content won't get installed by default.</p>
+ <p>We only had a few enhanced titles to test out during
+ our review: <em>Gears of War 4</em>, <em>Killer
+ Instinct</em> and <em>Super Lucky's Tale</em>.
+ They each took advantage of the console in different
+ ways. <em>Gears of War 4</em> runs natively in 4K at
+ 30 FPS with Dolby Atmos and HDR (high dynamic range
+ lighting) support. It looked great -- especially
+ with HDR, which highlighted bright elements like
+ lightning strikes -- but I noticed the frame rate
+ dip occasionally. I was also surprised that load
+ times were on-par with what I've seen with the game
+ on the Xbox One S.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="o-article_block o-subtle_divider pb-10 pb-5@m-">
+ <div class="mt-n40">
+ <div class="move-up@tp- full-width@tp- pt-40 js-breakout-container"
+ data-engadget-breakout-type="e2ehero">
+ <!-- article-full-bleed -->
+ <div class="pull-3-of-12@d">
+ <div class="ml-n10@d">
+ <div class="ml-i mr-i">
+ <div class="ml-a mr-a full-screen-width">
+ <!-- article-hero -->
+ <figure class="contain "><img
+ src="https://o.aolcdn.com/images/dims?crop=1600%2C900%2C0%2C0&amp;quality=85&amp;format=jpg&amp;resize=1600%2C900&amp;image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2F8352a8a14e88e2ca2ba5be4d8381a055%2F205828115%2FXbox%2Bone%2BX%2Bscreenshot%2Bgallery%2B1.jpg&amp;client=a1acac3e1b3290917d92&amp;signature=d2ccb22e0eaabeb05bfe46e83dbe26fd07f01da8"
+ class="stretch-img"></img>
+ <div class="container@tp- contain@tl+__inner">
+ <div class="grid@tl+ full-height ">
+ <div class="grid@tl+__cell full-height col-4-of-15@tl+ ta-l">
+ <div class="full-height relative@tl+"></div>
+ </div>
+ </div>
+ </div>
+ </figure>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="o-article_block pb-10 pb-5@m- cf@tp- js-after-hero-quote">
+ <div class="grid@tl+">
+ <div class="move-up@tp- full-width@tp- grid@tl+__cell col-8-of-12@tl+">
+ <div class="article-text c-gray-1">
+ <p>You can also play in Performance mode, which bumps
+ the frame rate up to 60FPS and uses higher quality
+ graphical effects, while rendering it lower in
+ 1080p. Personally, I preferred this, since it makes
+ the game much smoother -- as if you're playing it on
+ a high-end gaming PC, not a console. Some
+ PlayStation 4 Pro games also let you choose how you
+ wanted to distribute its power, so in some ways
+ Microsoft is just following in its footsteps.</p>
+ <p>I've been playing <em>Gears of War 4</em> on my
+ gaming PC (which is connected to my home theater)
+ over the past year, and I was impressed that the
+ Xbox One X is able to deliver a similar experience.
+ It didn't quite match my rig though, which is
+ powered by Intel Core i7 4790k CPU running at 4GHz,
+ 16GB DDR3 RAM and an NVIDIA GTX 1080 GPU. Typically,
+ I play at 1,440p (2,560 by 1,440 pixels) with HDR
+ and all of the graphical settings set to their
+ highest level, and I can easily maintain a 60FPS
+ frame rate. The One X felt just as solid at 1080p,
+ but there were clearly plenty of graphics settings
+ it couldn't take advantage of, in particular higher
+ levels of bloom lighting and shadow detail.</p>
+ <!-- inline article gal -->
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- article-gallery-breakout -->
+ <div class="o-article_block o-subtle_divider">
+ <div class="mt-n40">
+ <div class="move-up@tp- full-width@tp- pt-40 js-breakout-container"
+ data-engadget-breakout-type="gallery">
+ <section>
+ <h3 class="t-section-title mb-35 mb-15@s"> Gallery: Xbox
+ One X screenshots | 9 Photos </h3>
+ <div class="relative" data-behavior="lightbox_trigger"
+ data-engadget-slideshow-id="803330"
+ data-eng-bang="{&quot;gallery&quot;:803330,&quot;slide&quot;:7142924}"
+ data-eng-mn="93511844"><a href="#" data-index="0"
+ data-engadget-slide-id="7142924"
+ data-eng-bang="{&quot;gallery&quot;:803330,&quot;slide&quot;:7142924}">
+ <img src="https://o.aolcdn.com/images/dims?thumbnail=980%2C653&amp;quality=80&amp;image_uri=https%3A%2F%2Fs.blogcdn.com%2Fslideshows%2Fimages%2Fslides%2F714%2F292%2F4%2FS7142924%2Fslug%2Fl%2Fxbox-one-x-screenshot-gallery-2-1.jpg&amp;client=cbc79c14efcebee57402&amp;signature=38c95635c7aad58a8a48038e05589f5cf35b1e28"
+ class="stretch-img"></img>
+ </a>
+ <div class="hide@tp+ t-meta absolute b-0 l-0 c-white">
+ <svg class="inline-block slideshow-icon vm mr-n15">
+ <use xlink:href="#icon-slideshow"></use>
+ </svg>
+ 9
+ </div>
+ <ul class="hide@m- absolute b-0 l-0 ml-n10 pt-10 pr-10 bg-white">
+ <li class="ml-10 inline-block vt contain"><a
+ href="#" data-index="1"
+ data-engadget-slide-id="7142925"
+ data-eng-bang="{&quot;gallery&quot;:803330,&quot;slide&quot;:7142925}">
+ <img src="https://o.aolcdn.com/images/dims?thumbnail=130%2C87&amp;quality=80&amp;image_uri=https%3A%2F%2Fs.blogcdn.com%2Fslideshows%2Fimages%2Fslides%2F714%2F292%2F5%2FS7142925%2Fslug%2Fl%2Fxbox-one-x-screenshot-gallery-3-1.jpg&amp;client=cbc79c14efcebee57402&amp;signature=4dfa6e80acd3f2286ec97fadee78f05d440b1b64"></img>
+ </a></li>
+ <li class="ml-10 inline-block vt contain"><a
+ href="#" data-index="2"
+ data-engadget-slide-id="7142926"
+ data-eng-bang="{&quot;gallery&quot;:803330,&quot;slide&quot;:7142926}">
+ <img src="https://o.aolcdn.com/images/dims?thumbnail=130%2C87&amp;quality=80&amp;image_uri=https%3A%2F%2Fs.blogcdn.com%2Fslideshows%2Fimages%2Fslides%2F714%2F292%2F6%2FS7142926%2Fslug%2Fl%2Fxbox-one-x-screenshot-gallery-4-1.jpg&amp;client=cbc79c14efcebee57402&amp;signature=e35908c4fa292b0578fb81152657eea02ae148fd"></img>
+ </a></li>
+ <li class="ml-10 inline-block vt contain"><a
+ href="#" data-index="3"
+ data-engadget-slide-id="7142927"
+ data-eng-bang="{&quot;gallery&quot;:803330,&quot;slide&quot;:7142927}">
+ <img src="https://o.aolcdn.com/images/dims?thumbnail=130%2C87&amp;quality=80&amp;image_uri=https%3A%2F%2Fs.blogcdn.com%2Fslideshows%2Fimages%2Fslides%2F714%2F292%2F7%2FS7142927%2Fslug%2Fl%2Fxbox-one-x-screenshot-gallery-5-1.jpg&amp;client=cbc79c14efcebee57402&amp;signature=894210646519be60ae021b1835372b3fb2055339"></img>
+ </a></li>
+ <li class="ml-10 inline-block vt contain"><a
+ href="#" data-index="4"
+ data-engadget-slide-id="7142923"
+ data-eng-bang="{&quot;gallery&quot;:803330,&quot;slide&quot;:7142923}">
+ <img src="https://o.aolcdn.com/images/dims?thumbnail=130%2C87&amp;quality=80&amp;image_uri=https%3A%2F%2Fs.blogcdn.com%2Fslideshows%2Fimages%2Fslides%2F714%2F292%2F3%2FS7142923%2Fslug%2Fl%2Fxbox-one-x-screenshot-gallery-1-1.jpg&amp;client=cbc79c14efcebee57402&amp;signature=9a6cc2c58efde1b4dbd4989d5a534ae67dac6f2e"></img>
+ </a>
+ <a href="#" data-index="grid"
+ data-engadget-slide-type="grid"
+ data-eng-bang="{&quot;gallery&quot;:803330,&quot;view&quot;:&quot;grid&quot;}"
+ class="contain__inner bg-gray-1 translucent">
+ <div class="t-article-gallery-count absolute b-10 l-15 c-white">
+ +6
+ </div>
+ </a>
+ </li>
+ </ul>
+ </div>
+ </section>
+ </div>
+ </div>
+ </div>
+ <div class="o-article_block o-subtle_divider pb-15 pb-5@m- cf@tp-">
+ <div class="grid@tl+">
+ <div class="move-up@tp- full-width@tp- grid@tl+__cell col-8-of-12@tl+">
+ <div class="article-text c-gray-1">
+ <p><em>Killer Instinct</em> and <em>Super Lucky's
+ Tale</em> run in 4K at a smooth 60FPS. They both
+ looked and played better than their standard
+ versions, though I was surprised they didn't take
+ advantage of HDR. As usual, I noticed the
+ improvement in frame rates more than the higher
+ resolution. Unless you're sitting very close to a TV
+ above 50-inches, you'd likely have a hard time
+ telling between 4K and 1080p.</p>
+ <p>That poses a problem for Microsoft: It's betting that
+ gamers will actually want true 4K rendering. In
+ practice, though, PlayStation 4 Pro titles running
+ in HDR and resolutions between 1080p and 4K often
+ look just as good to the naked eye. The Xbox One X's
+ big advantage is that its hardware could let more
+ games reach 60FPS compared to Sony's console.</p>
+ <p>Microsoft says over 130 Xbox One X-enhanced titles
+ are in the works. That includes already-released
+ games like <em>Forza Motorsport 7</em> and <em>Assassin's
+ Creed Origins</em>, as well as upcoming titles
+ like <em>Call of Duty: WW2</em>. You'll be able to
+ find them easily in a special section in the Xbox
+ store. There is also a handful of Xbox 360 games
+ that'll get enhanced eventually, including <em>Halo
+ 3</em> and <em>Fallout 3</em>. Some of those
+ titles will get bumped up to a higher resolution,
+ while others will get HDR support. Microsoft
+ describes these upgrades as a bonus for developers
+ who were prescient about how they built their games.
+ Basically, don't expect your entire 360 library to
+ get enhanced.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="o-article_block o-subtle_divider pb-10 pb-5@m-">
+ <div class="mt-n40">
+ <div class="move-up@tp- full-width@tp- pt-40 js-breakout-container"
+ data-engadget-breakout-type="e2ehero">
+ <!-- article-full-bleed -->
+ <div class="pull-3-of-12@d">
+ <div class="ml-n10@d">
+ <div class="ml-i mr-i">
+ <div class="ml-a mr-a full-screen-width">
+ <!-- article-hero -->
+ <figure class="contain "><img
+ src="https://o.aolcdn.com/images/dims?crop=1600%2C900%2C0%2C0&amp;quality=85&amp;format=jpg&amp;resize=1600%2C900&amp;image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2Facb08903fbe26ad77b80db8c8e7e8fb1%2F205828118%2FXbox%2Bone%2BX%2Bscreenshot%2Bgallery%2B7.jpg&amp;client=a1acac3e1b3290917d92&amp;signature=21630fa5ec6d8fdce2c35f7e1f652636a2d8efe7"
+ class="stretch-img"></img>
+ <div class="container@tp- contain@tl+__inner">
+ <div class="grid@tl+ full-height ">
+ <div class="grid@tl+__cell full-height col-4-of-15@tl+ ta-l">
+ <div class="full-height relative@tl+"></div>
+ </div>
+ </div>
+ </div>
+ </figure>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="o-article_block pb-10 pb-5@m- cf@tp- js-after-hero-quote">
+ <div class="grid@tl+">
+ <div class="move-up@tp- full-width@tp- grid@tl+__cell col-8-of-12@tl+">
+ <div class="article-text c-gray-1">
+ <p>Even if a game isn't specifically tuned for the new
+ console, Microsoft says you might still see some
+ performance improvements. The PlayStation 4 Pro,
+ meanwhile, has over one hundred games built for its
+ hardware, and its boost mode can speed up some older
+ games.</p>
+ <p>Microsoft is still pushing the Xbox as more than just
+ a game console, though. 4K Blu-rays loaded up
+ quickly, and I didn't notice many delays as I
+ skipped around films. <em>Planet Earth II</em>, in
+ particular, looked fantastic thanks to its brilliant
+ use of HDR. Unfortunately, the One X doesn't support
+ Dolby Vision, so you're stuck with the slightly less
+ capable HDR 10 standard. That makes sense since it's
+ more widely supported, but it would have been nice
+ to see Dolby's, too.</p>
+ <p>
+ <iframe allowfullscreen="" frameborder="0"
+ gesture="media" height="360"
+ src="https://www.youtube.com/embed/c8aFcHFu8QM"
+ width="640"></iframe>
+ </p>
+ <p>And speaking of Dolby technology, Microsoft is also
+ highlighting Atmos support on the One X, just like
+ it did with the One S. The company's app lets you
+ configure the console to pass audio Atmos signals to
+ your audio receiver. You can also shell out $15 to
+ get Atmos support for headphones, which simulates
+ immersive surround sound. It's strange to pay money
+ to unlock Dolby features, but it's worth it since
+ it's significantly better than Microsoft's audio
+ virtualization technology. The Netflix app also
+ supports Atmos for a handful of films (something
+ that the Xbox One S and PlayStation 4 offer, as
+ well).</p>
+ <p>One thing you won't find in the new Xbox is VR
+ support. Microsoft has mentioned that the console
+ will offer some sort of mixed reality, but it hasn't
+ offered up any details yet. It's technically
+ powerful enough to work with any of the Windows
+ Mixed Reality headsets launching this fall. It's a
+ shame that Microsoft is being so wishy-washy because
+ Sony has had a very successful head start with the
+ PlayStation VR.</p>
+ <h3>Pricing and the competition</h3>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="o-article_block pb-0 pt-0">
+ <div class="move-up@tp- full-width@tp-">
+ <!-- article-full-bleed -->
+ <!-- article-figure -->
+ <div class="js-breakout-container"
+ data-engadget-breakout-type="image">
+ <figure><img
+ src="https://o.aolcdn.com/images/dims?resize=980%2C640&amp;quality=100&amp;image_uri=https%3A%2F%2Fo.aolcdn.com%2Fimages%2Fdims%3Fcrop%3D1600%252C1027%252C0%252C0%26quality%3D85%26format%3Djpg%26resize%3D1600%252C1027%26image_uri%3Dhttp%253A%252F%252Fo.aolcdn.com%252Fhss%252Fstorage%252Fmidas%252Fa2c8ba1caccdbb9e0559797e5141eafd%252F205826078%252FXbox%252BOne%252BX%252Breview%252Bgallery%252B11.jpg%26client%3Da1acac3e1b3290917d92%26signature%3Da11bcddced805c6e3698f8ce0494102aef057265&amp;client=cbc79c14efcebee57402&amp;signature=1e9bd192add2772bc842a34e67b7572cfd1b265a"
+ class="stretch-img"></img>
+ <figcaption class="mt-15 t-meta c-gray-3"><span
+ class="c-gray-7">Devindra Hardawar/AOL</span>
+ </figcaption>
+ </figure>
+ </div>
+ </div>
+ </div>
+ <div class="o-article_block pb-10 pb-5@m- cf@tp-">
+ <div class="grid@tl+">
+ <div class="move-up@tp- full-width@tp- grid@tl+__cell col-8-of-12@tl+">
+ <div class="article-text c-gray-1">
+ <p>The biggest knock against the Xbox One X is its $500
+ price. The PS4 Pro launched at $400 last year, and
+ there's a good chance we'll see plenty of deals
+ around the holidays. If your friends are on Xbox
+ Live, or you're a devotee of Microsoft's first party
+ franchises, then the X makes more sense. If you just
+ want to play third-party titles that come to both
+ platforms, though, the PS4 Pro is clearly the better
+ deal.</p>
+ <p>If you're looking to upgrade from an original Xbox
+ One, and you have a new TV, the One X might be more
+ compelling. It's faster and offers more features
+ than the One S, and more importantly, it'll last you
+ much longer without needing an upgrade. There's also
+ plenty of wisdom in simply waiting a while before
+ you buy the One X, especially if you haven't moved
+ to a 4K TV yet. The new console can make games look
+ better on 1080p sets, since it'll supersample
+ high-res textures and have more graphical effects,
+ but it's simply not worth the upgrade since those
+ TVs don't support HDR.</p>
+ <p>If price isn't a huge concern for you, it's worth
+ considering investing in a gaming PC. A decent one
+ costs between $600 and $800, plus the price of a
+ monitor, but it'll easily be more powerful than the
+ One X. And you have the added benefit of upgrading
+ components down the line. Now that Microsoft and
+ game publishers are offering most major titles on
+ PC, you won't be missing out on much by ditching
+ consoles.</p>
+ <h3>Wrap-up</h3>
+ <p><img data-credit="Devindra Hardawar/AOL"
+ data-mep="2181681"
+ src="https://o.aolcdn.com/images/dims?crop=1600%2C1028%2C0%2C0&amp;quality=85&amp;format=jpg&amp;resize=1600%2C1028&amp;image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2F5396460ef8b6bde7fb7272d9e66a7701%2F205826076%2FXbox%2BOne%2BX%2Breview%2Bgallery%2B9.jpg&amp;client=a1acac3e1b3290917d92&amp;signature=f5b5b4b986c2f8b5031a4469ae0ecec82aff65b0"
+ alt=""></img></p>
+ <p>Ultimately, the Xbox One X offers some major
+ performance upgrades that gamers will notice --
+ especially if you're coming from an original Xbox
+ One. But it's also a bit disappointing since it's
+ coming a year after the PS4 Pro, and it doesn't
+ offer VR yet. For Microsoft fans, though, none of
+ that will matter. It's exactly what the company
+ promised: the fastest game console ever made.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- footer -->
+ <footer class="o-article_block">
+ <div class="grid@tl+ mt-n40">
+ <div class="grid@tl+__cell col-8-of-12@tl+ pb-80@tp+ pb-120@d ">
+ <div class="pb-35 border-top mt-20 mt-35@s pt-35 pt-30@m pt-25@s pb-25@s break-out@s">
+ <section class="t-meta c-gray-3">
+ <div class="mt-5">In this article: <span
+ class="th-meta">
+ <a href="/tag/av" class="th-meta">av</a>, <a href="/tag/consoles" class="th-meta">consoles</a>, <a
+ href="/tag/entertainment" class="th-meta">entertainment</a>, <a
+ href="/tag/gadgetry" class="th-meta">gadgetry</a>, <a
+ href="/tag/gadgets"
+ class="th-meta">gadgets</a>, <a
+ href="/tag/gaming"
+ class="th-meta">gaming</a>, <a
+ href="/tag/gear" class="th-meta">gear</a>, <a
+ href="/tag/microsoft" class="th-meta">microsoft</a>, <a
+ href="/tag/review"
+ class="th-meta">review</a>, <a
+ href="/tag/video" class="th-meta">video</a>, <a
+ href="/tag/videogames" class="th-meta">videogames</a>, <a
+ href="/tag/Xbox" class="th-meta">Xbox</a>, <a
+ href="/tag/XboxOne"
+ class="th-meta">XboxOne</a>, <a
+ href="/tag/XboxOneX" class="th-meta">XboxOneX</a> </span>
+ </div>
+ </section>
+ </div>
+ <div class="border-top pt-40 pt-30@s break-out@s pb-35">
+ <div class="table">
+ <div class="table-cell w-100@m+ w-55@s"><a
+ href="/about/editors/devindra-hardawar/">
+ <img src="https://o.aolcdn.com/images/dims?thumbnail=100%2C100&amp;quality=80&amp;image_uri=http%3A%2F%2Fwww.blogcdn.com%2Fwww.engadget.com%2Fmedia%2F2016%2F03%2Fdevindra-engadget-headshot-small.jpg&amp;client=cbc79c14efcebee57402&amp;signature=30e2e66c20e041451c3d8f10afbba87b97998f2b"
+ class="circle-mask"></img>
+ </a></div>
+ <div class="table-cell pl-30 pl-20@s"><span
+ class="t-list-header@m+ t-meta@s">By <a
+ href="/about/editors/devindra-hardawar/">Devindra Hardawar</a></span>
+ <a href="https://twitter.com/devindra"
+ class="t-meta th-meta mt-5">@devindra</a>
+ </div>
+ </div>
+ <div class="t-d6 c-gray-3 mt-35 hide@s">Devindra has
+ been obsessed with technology for as long as he can
+ remember -- starting with the first time he ever
+ glimpsed an NES. He spent several years fixing other
+ people's computers before he started down the
+ treacherous path of writing about technology.
+ Mission accomplished?
+ </div>
+ </div>
+ <!-- article-comments -->
+ <div class="table@m+ pt-40@m+ pb-40@m+ border-top@m+ hide@s">
+ <div class="table-cell@m+"><span
+ class="t-h3@m+ pb-5 pl-30@s">2192</span> <span
+ class="t-meta@m+ pb-0 c-gray-7@m+">Shares</span>
+ </div>
+ <div class="table-cell@m+ ta-r@m+ c-gray-9">
+ <div class="o-social_nav@m+">
+ <!-- share-macro -->
+ <div class="o-social_nav__item"
+ data-tooltip-outer=""><a
+ href="https://www.facebook.com/dialog/share?app_id=132746074315&amp;display=popup&amp;href=https%3A%2F%2Fwww.engadget.com%2F2017%2F11%2F03%2Fxbox-one-x-review%2F"
+ class="inline-block pl-10@s th-meta sharebtn facebook-share"
+ data-behavior="Tooltip Pop"
+ target="_blank"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="560"
+ data-engadget-h="636">
+ <svg class="inline-block icon vm th-meta__icon">
+ <use xlink:href="#icon-facebook"></use>
+ </svg>
+ </a>
+ <div class="hide" data-tooltip-content="">
+ <div class="o-tooltip ta-c th-reverse">
+ <div class="t-meta th-meta"><span
+ class="c-white">Share</span>
+ <span data-share-count-facebook=""></span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="o-social_nav__item"
+ data-tooltip-outer=""><a
+ href="https://twitter.com/share?url=https%3A%2F%2Fwww.engadget.com%2F2017%2F11%2F03%2Fxbox-one-x-review%2F&amp;text=Xbox%20One%20X%20review%3A%20%20A%20console%20that%20keeps%20up%20with%20gaming%20PCs&amp;via=engadget"
+ class="inline-block pl-10@s th-meta sharebtn twitter-share"
+ data-behavior="Tooltip Pop"
+ target="_blank"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="670"
+ data-engadget-h="430">
+ <svg class="inline-block icon vm th-meta__icon">
+ <use xlink:href="#icon-twitter"></use>
+ </svg>
+ </a>
+ <div class="hide" data-tooltip-content="">
+ <div class="o-tooltip ta-c th-reverse">
+ <div class="t-meta th-meta"><span
+ class="c-white">Tweet</span>
+ <span data-share-count-twitter=""></span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="o-social_nav__item "
+ data-tooltip-outer=""><a
+ href="https://www.reddit.com/submit?url=https%3A%2F%2Fwww.engadget.com%2F2017%2F11%2F03%2Fxbox-one-x-review%2F&amp;title=Xbox%20One%20X%20review%3A%20%20A%20console%20that%20keeps%20up%20with%20gaming%20PCs"
+ class="inline-block pl-10@s th-meta sharebtn reddit-share"
+ data-behavior="Tooltip Pop"
+ target="_blank"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="960"
+ data-engadget-h="750">
+ <svg class="inline-block icon vm th-meta__icon">
+ <use xlink:href="#icon-reddit"></use>
+ </svg>
+ </a>
+ <div class="hide" data-tooltip-content="">
+ <div class="o-tooltip ta-c th-reverse">
+ <div class="t-meta th-meta"><span
+ class="c-white">Share</span>
+ <span data-share-count-reddit=""></span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="o-social_nav__item"
+ data-tooltip-outer=""><a
+ href="javascript:;"
+ class="inline-block pl-10@s th-meta"
+ data-engadget-reading-list-id="23265143"
+ data-engadget-reading-list-type="post"
+ data-behavior="Tooltip AddToReadingList"
+ target="_blank"
+ data-engadget-auth="false">
+ <svg class="inline-block icon vm th-meta__icon">
+ <use xlink:href="#icon-save"></use>
+ </svg>
+ </a>
+ <div class="hide" data-tooltip-content="">
+ <div class="o-tooltip ta-c th-reverse">
+ <div class="t-meta th-meta"><span
+ class="c-white">Save</span>
+ <span data-share-count-save=""></span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <section id="recirculation"
+ class="border-top@m+ pt-40@s+ pb-40@s+">
+ <div data-spotim-module="recirculation"
+ data-spot-id="sp_f76RE06N"></div>
+ </section>
+ <section id="comments" class="border-top@m+ border-bottom@s"
+ data-site-id="20"
+ data-engadget-svg-assets="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/svg/icons.svg?h=bbb41e9a8e18f1699b5c221570e081c2">
+ <header class="table pt-35@m+ pb-10@m+">
+ <div class="table@s">
+ <div class="table-cell@s w-40@s ta-c inline@m+">
+ <svg class="inline-block icon vm@m+ vt@s th-meta__icon hide@m+">
+ <use xlink:href="#icon-comment"></use>
+ </svg>
+ </div>
+ <div class="table-cell@s inline@m+"> <span
+ class="t-h3@m+ pb-5 th-title pl-20@s">
+ <span class="c-gray-6@s spot-im-replies-count" data-post-id="post-23265143"></span> </span> <span
+ class="t-meta@m+ pb-0 c-gray-7@m+ c-gray-6@s">Comments</span>
+ </div>
+ </div>
+ <div class="table-cell ta-r">
+ <div class="hide@s"><a href="/user/login/"
+ class="o-btn o-btn--small th-btn w-120"
+ target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_auth_window">
+ <span class="t-btn">Sign In</span>
+ </a></div>
+ </div>
+ </header>
+ <div class="spot-im-frame-inpage"
+ data-post-id="post-23265143"
+ data-messages-count="0"
+ data-sort-by="newest"></div>
+ </section>
+ </div>
+ </div>
+ </footer>
+ </div>
+ </div>
+ </div>
+ </div>
+ </article>
+ </div>
+ </div>
+ </div>
+ <!-- section-latest-footer -->
+ <aside class="pb-40@m- pb-20@s pt-25@m mt-25@m- border-top">
+ <div class=" pb-40@tp+ pt-40@tp+">
+ <div class="container@m+">
+ <!-- latest-listing -->
+ <article class="o-hit ">
+ <div class="grid@m+">
+ <div class="hide@tp- grid@tl+__cell col-1-of-8@tl+ col-1-of-15@d">
+ <!-- listing-time-label -->
+ <div class="t-meta th-meta absolute">
+ <svg class="icon inline-block th-meta__icon vm"
+ style="margin-top: -2px; margin-right: 2px">
+ <use xlink:href="#icon-clock"></use>
+ </svg>
+ 52m
+ </div>
+ </div>
+ <div class="grid@m+__cell col-2-of-4@tp col-3-of-8@tl+ col-4-of-15@d">
+ <!-- rating-thumb -->
+ <div class="o-rating_thumb c-white"><img
+ data-original="https://o.aolcdn.com/images/dims?thumbnail=300%2C200&amp;quality=80&amp;image_uri=https%3A%2F%2Fo.aolcdn.com%2Fimages%2Fdims%3Fcrop%3D3000%252C2000%252C0%252C0%26quality%3D85%26format%3Djpg%26resize%3D1600%252C1067%26image_uri%3Dhttp%253A%252F%252Fo.aolcdn.com%252Fhss%252Fstorage%252Fmidas%252F36514d02b27e52baa311efcbcbda2610%252F203644880%252F464270905.jpg%26client%3Da1acac3e1b3290917d92%26signature%3Da29e527af032f490baae3ac233ff2aad96f1b383&amp;client=cbc79c14efcebee57402&amp;signature=58657eab6bc275a3affd3fce9d4357e11d7ec2fc"
+ alt="AMD vows to fix newly-disclosed processor vulnerabilities"
+ class="stretch-img prelazy"></img>
+ <div class="absolute l-0 b-0 b-55@s"></div>
+ <div class="o-rating_thumb__rating b-75@m- z-3">
+ <!-- rating -->
+ </div>
+ </div>
+ </div>
+ <div class="grid@m+__cell col-2-of-4@tp col-4-of-8@tl+ col-10-of-15@d ">
+ <!-- listing-body -->
+ <div class=" o-feed_listing@m- o-feed_bleed@s" data-feed-container="">
+ <div class=" o-feed_listing@m-__mid">
+ <div class=" o-feed_listing@m-__inner th-base@m- break-left@s ">
+ <div class="">
+ <!-- time-label -->
+ <div class="t-meta th-meta inline-block hide@tl+ hide@m-">
+ <svg class="icon inline-block th-meta__icon vm"
+ style="margin-top: -2px; margin-right: 2px">
+ <use xlink:href="#icon-clock"></use>
+ </svg>
+ 52m ago in
+ </div>
+ <!-- topic-link -->
+ <div class="t-meta hide@m- inline-block"><a
+ href="https://www.engadget.com/tags/security"
+ class="th-topic">
+ Security
+ </a></div>
+ </div>
+ <div class="th-title">
+ <h2 class="mt-10@tp+ t-h4@s t-h3-c@m t-h3-b@tp t-h4@tl t-h3@d"> <span
+ class="th-underline">
+ AMD vows to fix newly-disclosed processor vulnerabilities
+ </span></h2>
+ </div>
+ <div class="hide@s mt-10@s">
+ <p class="mt-15@m+ t-d5@m- t-d5@tp+ c-gray-3">The company was
+ given just 24 hours' notice before the flaws were made
+ public.</p>
+ </div>
+ <div class="mt-20@s">
+ <!-- listing-meta-bar -->
+ <div class="">
+ <div class="table@tp+ mt-15@m+ th-meta">
+ <div class="relative inline-block "><a
+ href="/about/editors/rachel-england/">
+ <img class="vc circle-mask absolute l-0 "
+ src="https://o.aolcdn.com/images/dims?thumbnail=30%2C30&amp;quality=70&amp;image_uri=https%3A%2F%2Fs.blogcdn.com%2Fwww.engadget.com%2Fmedia%2F2017%2F06%2Frachelengland-300x300.jpg&amp;client=cbc79c14efcebee57402&amp;signature=c05d26e9ef7778f715b176f03d4781a094f21f6d"
+ width="30px" height="30px"></img>
+ </a>
+ <div class="h-1 w-40 inline-block "></div>
+ <span class="t-meta pb-0 vt mt-5@tp+ w-185@m mr-10@tp+
+ ">
+
+ <span class="hide@m-">By </span> <span class="block@m-"><a href="/about/editors/rachel-england"
+ class="th-meta">R. England</a></span><span
+ class="hide@m- hide@tp">, </span><span
+ class=" hide@tp">
+ &nbsp;52m ago</span></span>
+ </div>
+ <div class="inline-block@tp+ relative@tp+ t-2@tp+ o-feed_share@m- mt-5@m "
+ style="vertical-align: -2px">
+ <div class="o-feed_share@m-__item inline-block@tp+"
+ data-tooltip-outer="">
+ <!-- listing-action --><a href="javascript:;"
+ class=" vc@tp+ ml-a@m- icon th-meta increase-hit "
+ data-engadget-reading-list-id="23391267"
+ data-engadget-reading-list-type="article"
+ data-behavior="Tooltip AddToReadingList"
+ data-engadget-icon="save"
+ target="_blank"
+ data-engadget-auth="false">
+ <span class="increase-hit__inner contain block full-height">
+ <svg class="icon contain__inner th-meta__icon" role="img" aria-label="save">
+ <title>save</title>
+ <use xlink:href="#icon-save"></use>
+ </svg>
+ </span>
+ </a>
+ <div class="hide" data-tooltip-content="">
+ <div class="o-tooltip ta-c th-reverse">
+ <div class="t-meta th-meta"><span
+ class="c-white">Save</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- share-macro -->
+ <div class="o-feed_share@m-__item icon-divider@tp+ relative i-share_overlay"
+ data-behavior="ShareOverlay">
+ <div class="bg-gray-2 o-share_ui i-share_overlay__over o-h"
+ data-share-overlay-over="">
+ <div style="padding-top: 8px">
+ <div class="icon-20-line-height"><a
+ href="https://twitter.com/share?url=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Famd-vows-to-fix-newly-disclosed-processor-vulnerabilities%2F&amp;text=AMD%20vows%20to%20fix%20newly-disclosed%20processor%20vulnerabilities&amp;via=engadget"
+ class="c-white:hvr block o-share_ui__item sharebtn twitter-share"
+ target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="670"
+ data-engadget-h="430">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-twitter"></use>
+ </svg>
+ </a></div>
+ <div class="icon-20-line-height"><a
+ href="https://www.facebook.com/dialog/share?app_id=132746074315&amp;display=popup&amp;href=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Famd-vows-to-fix-newly-disclosed-processor-vulnerabilities%2F"
+ class="c-white:hvr block o-share_ui__item sharebtn facebook-share"
+ target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="560"
+ data-engadget-h="636">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-facebook"></use>
+ </svg>
+ </a></div>
+ <div class="icon-20-line-height"><a
+ href="https://www.reddit.com/submit?url=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Famd-vows-to-fix-newly-disclosed-processor-vulnerabilities%2F&amp;title=AMD%20vows%20to%20fix%20newly-disclosed%20processor%20vulnerabilities"
+ class="c-white:hvr block o-share_ui__item sharebtn reddit-share"
+ target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="960"
+ data-engadget-h="750">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-reddit"></use>
+ </svg>
+ </a></div>
+ <div class="icon-20-line-height"><a
+ href="mailto:?subject=AMD%20vows%20to%20fix%20newly-disclosed%20processor%20vulnerabilities via Engadget&amp;body=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Famd-vows-to-fix-newly-disclosed-processor-vulnerabilities%2F"
+ class="c-white:hvr block o-share_ui__item"
+ target="_blank"
+ data-behavior="Pop">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-email"></use>
+ </svg>
+ </a></div>
+ </div>
+ </div>
+ <div class="relative i-share_overlay__btn full-height"
+ data-share-overlay-btn="">
+ <!-- listing-action --><a
+ href="javascript:;"
+ class=" c-white:hvr! c-inherit-*:hvr vc@tp+ ml-a@m- icon th-meta increase-hit c-white:hvr! c-inherit-*:hvr">
+ <span class="increase-hit__inner contain block full-height">
+ <svg class="icon contain__inner th-meta__icon" role="img" aria-label="share">
+ <title>share</title>
+ <use xlink:href="#icon-share"></use>
+ </svg>
+ </span>
+ </a></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <a href="/2018/03/21/amd-vows-to-fix-newly-disclosed-processor-vulnerabilities/"
+ class="o-hit__link">
+ View
+ </a></article>
+ </div>
+ </div>
+ <div class="border-top@tp+ pb-40@tp+ pt-40@tp+">
+ <div class="container@m+">
+ <!-- latest-listing -->
+ <article class="o-hit ">
+ <div class="grid@m+">
+ <div class="hide@tp- grid@tl+__cell col-1-of-8@tl+ col-1-of-15@d">
+ <!-- listing-time-label -->
+ <div class="t-meta th-meta absolute">
+ <svg class="icon inline-block th-meta__icon vm"
+ style="margin-top: -2px; margin-right: 2px">
+ <use xlink:href="#icon-clock"></use>
+ </svg>
+ 1h
+ </div>
+ </div>
+ <div class="grid@m+__cell col-2-of-4@tp col-3-of-8@tl+ col-4-of-15@d">
+ <!-- rating-thumb -->
+ <div class="o-rating_thumb c-white"><img
+ src="https://s.aolcdn.com/hss/storage/midas/320e92598e4f352eb5686998e408f820/206231387/hmm.gif"
+ alt="The Morning After: Two days with the always on, always online laptop"
+ class="stretch-img"></img>
+ <div class="absolute l-0 b-0 b-55@s"></div>
+ <div class="o-rating_thumb__rating b-75@m- z-3">
+ <!-- rating -->
+ </div>
+ </div>
+ </div>
+ <div class="grid@m+__cell col-2-of-4@tp col-4-of-8@tl+ col-10-of-15@d ">
+ <!-- listing-body -->
+ <div class=" o-feed_listing@m- o-feed_bleed@s" data-feed-container="">
+ <div class=" o-feed_listing@m-__mid">
+ <div class=" o-feed_listing@m-__inner th-base@m- break-left@s ">
+ <div class="">
+ <!-- time-label -->
+ <div class="t-meta th-meta inline-block hide@tl+ hide@m-">
+ <svg class="icon inline-block th-meta__icon vm"
+ style="margin-top: -2px; margin-right: 2px">
+ <use xlink:href="#icon-clock"></use>
+ </svg>
+ 1h ago in
+ </div>
+ <!-- topic-link -->
+ <div class="t-meta hide@m- inline-block"><a
+ href="https://www.engadget.com/tags/internet"
+ class="th-topic">
+ Internet
+ </a></div>
+ </div>
+ <div class="th-title">
+ <h2 class="mt-10@tp+ t-h4@s t-h3-c@m t-h3-b@tp t-h4@tl t-h3@d"> <span
+ class="th-underline">
+ The Morning After: Two days with the always on, always online laptop
+ </span></h2>
+ </div>
+ <div class="hide@s mt-10@s">
+ <p class="mt-15@m+ t-d5@m- t-d5@tp+ c-gray-3">Last week, we'd
+ never heard of Cambridge Analytica...</p>
+ </div>
+ <div class="mt-20@s">
+ <!-- listing-meta-bar -->
+ <div class="">
+ <div class="table@tp+ mt-15@m+ th-meta">
+ <div class="relative inline-block "><a
+ href="/about/editors/mat-smith/">
+ <img class="vc circle-mask absolute l-0 "
+ src="https://o.aolcdn.com/images/dims?thumbnail=30%2C30&amp;quality=70&amp;image_uri=https%3A%2F%2Fs.blogcdn.com%2Fwww.engadget.com%2Fmedia%2F2017%2F07%2Fsmiles.jpg&amp;client=cbc79c14efcebee57402&amp;signature=7ab9ed3575aea521e45af95481a6e3eb095e4102"
+ width="30px" height="30px"></img>
+ </a>
+ <div class="h-1 w-40 inline-block "></div>
+ <span class="t-meta pb-0 vt mt-5@tp+ w-185@m mr-10@tp+
+ ">
+
+ <span class="hide@m-">By </span> <span class="block@m-"><a href="/about/editors/mat-smith" class="th-meta">M. Smith</a></span><span
+ class="hide@m- hide@tp">, </span><span
+ class=" hide@tp">
+ &nbsp;1h ago</span></span>
+ </div>
+ <div class="inline-block@tp+ relative@tp+ t-2@tp+ o-feed_share@m- mt-5@m "
+ style="vertical-align: -2px">
+ <div class="o-feed_share@m-__item inline-block@tp+"
+ data-tooltip-outer="">
+ <!-- listing-action --><a href="javascript:;"
+ class=" vc@tp+ ml-a@m- icon th-meta increase-hit "
+ data-engadget-reading-list-id="23391253"
+ data-engadget-reading-list-type="article"
+ data-behavior="Tooltip AddToReadingList"
+ data-engadget-icon="save"
+ target="_blank"
+ data-engadget-auth="false">
+ <span class="increase-hit__inner contain block full-height">
+ <svg class="icon contain__inner th-meta__icon" role="img" aria-label="save">
+ <title>save</title>
+ <use xlink:href="#icon-save"></use>
+ </svg>
+ </span>
+ </a>
+ <div class="hide" data-tooltip-content="">
+ <div class="o-tooltip ta-c th-reverse">
+ <div class="t-meta th-meta"><span
+ class="c-white">Save</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- share-macro -->
+ <div class="o-feed_share@m-__item icon-divider@tp+ relative i-share_overlay"
+ data-behavior="ShareOverlay">
+ <div class="bg-gray-2 o-share_ui i-share_overlay__over o-h"
+ data-share-overlay-over="">
+ <div style="padding-top: 8px">
+ <div class="icon-20-line-height"><a
+ href="https://twitter.com/share?url=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Fthe-morning-after-two-days-with-the-always-on-always-online-la%2F&amp;text=The%20Morning%20After%3A%20Two%20days%20with%20the%20always%20on%2C%20always%20online%20laptop&amp;via=engadget"
+ class="c-white:hvr block o-share_ui__item sharebtn twitter-share"
+ target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="670"
+ data-engadget-h="430">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-twitter"></use>
+ </svg>
+ </a></div>
+ <div class="icon-20-line-height"><a
+ href="https://www.facebook.com/dialog/share?app_id=132746074315&amp;display=popup&amp;href=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Fthe-morning-after-two-days-with-the-always-on-always-online-la%2F"
+ class="c-white:hvr block o-share_ui__item sharebtn facebook-share"
+ target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="560"
+ data-engadget-h="636">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-facebook"></use>
+ </svg>
+ </a></div>
+ <div class="icon-20-line-height"><a
+ href="https://www.reddit.com/submit?url=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Fthe-morning-after-two-days-with-the-always-on-always-online-la%2F&amp;title=The%20Morning%20After%3A%20Two%20days%20with%20the%20always%20on%2C%20always%20online%20laptop"
+ class="c-white:hvr block o-share_ui__item sharebtn reddit-share"
+ target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="960"
+ data-engadget-h="750">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-reddit"></use>
+ </svg>
+ </a></div>
+ <div class="icon-20-line-height"><a
+ href="mailto:?subject=The%20Morning%20After%3A%20Two%20days%20with%20the%20always%20on%2C%20always%20online%20laptop via Engadget&amp;body=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Fthe-morning-after-two-days-with-the-always-on-always-online-la%2F"
+ class="c-white:hvr block o-share_ui__item"
+ target="_blank"
+ data-behavior="Pop">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-email"></use>
+ </svg>
+ </a></div>
+ </div>
+ </div>
+ <div class="relative i-share_overlay__btn full-height"
+ data-share-overlay-btn="">
+ <!-- listing-action --><a
+ href="javascript:;"
+ class=" c-white:hvr! c-inherit-*:hvr vc@tp+ ml-a@m- icon th-meta increase-hit c-white:hvr! c-inherit-*:hvr">
+ <span class="increase-hit__inner contain block full-height">
+ <svg class="icon contain__inner th-meta__icon" role="img" aria-label="share">
+ <title>share</title>
+ <use xlink:href="#icon-share"></use>
+ </svg>
+ </span>
+ </a></div>
+ </div>
+ </div>
+ <a href="https://www.engadget.com/about/newsletter"
+ class="absolute sponsored-byline r-0 b-n25"><img
+ alt="The Morning After logo"
+ src="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/images/morning-after-static.png?h=c98aa0f8b50bb6027fc52135691e1240"
+ width="130"
+ class="hide@tl- inline vm right"></img></a></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <a href="/2018/03/21/the-morning-after-two-days-with-the-always-on-always-online-la/"
+ class="o-hit__link">
+ View
+ </a></article>
+ </div>
+ </div>
+ <div class="border-top@tp+ pb-40@tp+ pt-40@tp+">
+ <div class="container@m+">
+ <!-- latest-listing -->
+ <article class="o-hit ">
+ <div class="grid@m+">
+ <div class="hide@tp- grid@tl+__cell col-1-of-8@tl+ col-1-of-15@d">
+ <!-- listing-time-label -->
+ <div class="t-meta th-meta absolute">
+ <svg class="icon inline-block th-meta__icon vm"
+ style="margin-top: -2px; margin-right: 2px">
+ <use xlink:href="#icon-clock"></use>
+ </svg>
+ 2h
+ </div>
+ </div>
+ <div class="grid@m+__cell col-2-of-4@tp col-3-of-8@tl+ col-4-of-15@d">
+ <!-- rating-thumb -->
+ <div class="o-rating_thumb c-white"><img
+ data-original="https://o.aolcdn.com/images/dims?thumbnail=300%2C200&amp;quality=80&amp;image_uri=https%3A%2F%2Fo.aolcdn.com%2Fimages%2Fdims%3Fcrop%3D3000%252C1996%252C0%252C0%26quality%3D85%26format%3Djpg%26resize%3D1600%252C1065%26image_uri%3Dhttp%253A%252F%252Fo.aolcdn.com%252Fhss%252Fstorage%252Fmidas%252F4281e1d07a07ef72be80107dbe2507de%252F206231272%252Fthe-lytro-camera-is-displayed-for-a-photograph-in-san-francisco-us-picture-id140228514%26client%3Da1acac3e1b3290917d92%26signature%3D3652a66233df6394ce5f09154619f3b62feab93e&amp;client=cbc79c14efcebee57402&amp;signature=3c05d14f6db98dba9696b3a4075264474311ca5c"
+ alt="Google is reportedly acquiring Lytro for around $40 million"
+ class="stretch-img prelazy"></img>
+ <div class="absolute l-0 b-0 b-55@s"></div>
+ <div class="o-rating_thumb__rating b-75@m- z-3">
+ <!-- rating -->
+ </div>
+ </div>
+ </div>
+ <div class="grid@m+__cell col-2-of-4@tp col-4-of-8@tl+ col-10-of-15@d ">
+ <!-- listing-body -->
+ <div class=" o-feed_listing@m- o-feed_bleed@s" data-feed-container="">
+ <div class=" o-feed_listing@m-__mid">
+ <div class=" o-feed_listing@m-__inner th-base@m- break-left@s ">
+ <div class="">
+ <!-- time-label -->
+ <div class="t-meta th-meta inline-block hide@tl+ hide@m-">
+ <svg class="icon inline-block th-meta__icon vm"
+ style="margin-top: -2px; margin-right: 2px">
+ <use xlink:href="#icon-clock"></use>
+ </svg>
+ 2h ago in
+ </div>
+ <!-- topic-link -->
+ <div class="t-meta hide@m- inline-block"><a
+ href="https://www.engadget.com/tags/gadgetry"
+ class="th-topic">
+ Gadgetry
+ </a></div>
+ </div>
+ <div class="th-title">
+ <h2 class="mt-10@tp+ t-h4@s t-h3-c@m t-h3-b@tp t-h4@tl t-h3@d"> <span
+ class="th-underline">
+ Google is reportedly acquiring Lytro for around $40 million
+ </span></h2>
+ </div>
+ <div class="hide@s mt-10@s">
+ <p class="mt-15@m+ t-d5@m- t-d5@tp+ c-gray-3">The light field
+ camera/VR company had been valued at $360 million.</p>
+ </div>
+ <div class="mt-20@s">
+ <!-- listing-meta-bar -->
+ <div class="">
+ <div class="table@tp+ mt-15@m+ th-meta">
+ <div class="relative inline-block "><a
+ href="/about/editors/richard-lawler/">
+ <img class="vc circle-mask absolute l-0 "
+ src="https://o.aolcdn.com/images/dims?thumbnail=30%2C30&amp;quality=70&amp;image_uri=https%3A%2F%2Fs.blogcdn.com%2Fwww.engadget.com%2Fmedia%2F2017%2F04%2F1781464810155265074044066361860786402917460o.jpg&amp;client=cbc79c14efcebee57402&amp;signature=9768114a5782d84bc7017417fe1ef974f76300b4"
+ width="30px" height="30px"></img>
+ </a>
+ <div class="h-1 w-40 inline-block "></div>
+ <span class="t-meta pb-0 vt mt-5@tp+ w-185@m mr-10@tp+
+ ">
+
+ <span class="hide@m-">By </span> <span class="block@m-"><a href="/about/editors/richard-lawler"
+ class="th-meta">R. Lawler</a></span><span
+ class="hide@m- hide@tp">, </span><span
+ class=" hide@tp">
+ &nbsp;2h ago</span></span>
+ </div>
+ <div class="inline-block@tp+ relative@tp+ t-2@tp+ o-feed_share@m- mt-5@m "
+ style="vertical-align: -2px">
+ <div class="o-feed_share@m-__item inline-block@tp+"
+ data-tooltip-outer="">
+ <!-- listing-action --><a href="javascript:;"
+ class=" vc@tp+ ml-a@m- icon th-meta increase-hit "
+ data-engadget-reading-list-id="23391149"
+ data-engadget-reading-list-type="article"
+ data-behavior="Tooltip AddToReadingList"
+ data-engadget-icon="save"
+ target="_blank"
+ data-engadget-auth="false">
+ <span class="increase-hit__inner contain block full-height">
+ <svg class="icon contain__inner th-meta__icon" role="img" aria-label="save">
+ <title>save</title>
+ <use xlink:href="#icon-save"></use>
+ </svg>
+ </span>
+ </a>
+ <div class="hide" data-tooltip-content="">
+ <div class="o-tooltip ta-c th-reverse">
+ <div class="t-meta th-meta"><span
+ class="c-white">Save</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- share-macro -->
+ <div class="o-feed_share@m-__item icon-divider@tp+ relative i-share_overlay"
+ data-behavior="ShareOverlay">
+ <div class="bg-gray-2 o-share_ui i-share_overlay__over o-h"
+ data-share-overlay-over="">
+ <div style="padding-top: 8px">
+ <div class="icon-20-line-height"><a
+ href="https://twitter.com/share?url=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Fgoogle-lytro-acquisition-rumor%2F&amp;text=Google%20is%20reportedly%20acquiring%20Lytro%20for%20around%20%2440%20million&amp;via=engadget"
+ class="c-white:hvr block o-share_ui__item sharebtn twitter-share"
+ target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="670"
+ data-engadget-h="430">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-twitter"></use>
+ </svg>
+ </a></div>
+ <div class="icon-20-line-height"><a
+ href="https://www.facebook.com/dialog/share?app_id=132746074315&amp;display=popup&amp;href=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Fgoogle-lytro-acquisition-rumor%2F"
+ class="c-white:hvr block o-share_ui__item sharebtn facebook-share"
+ target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="560"
+ data-engadget-h="636">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-facebook"></use>
+ </svg>
+ </a></div>
+ <div class="icon-20-line-height"><a
+ href="https://www.reddit.com/submit?url=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Fgoogle-lytro-acquisition-rumor%2F&amp;title=Google%20is%20reportedly%20acquiring%20Lytro%20for%20around%20%2440%20million"
+ class="c-white:hvr block o-share_ui__item sharebtn reddit-share"
+ target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="960"
+ data-engadget-h="750">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-reddit"></use>
+ </svg>
+ </a></div>
+ <div class="icon-20-line-height"><a
+ href="mailto:?subject=Google%20is%20reportedly%20acquiring%20Lytro%20for%20around%20%2440%20million via Engadget&amp;body=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Fgoogle-lytro-acquisition-rumor%2F"
+ class="c-white:hvr block o-share_ui__item"
+ target="_blank"
+ data-behavior="Pop">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-email"></use>
+ </svg>
+ </a></div>
+ </div>
+ </div>
+ <div class="relative i-share_overlay__btn full-height"
+ data-share-overlay-btn="">
+ <!-- listing-action --><a
+ href="javascript:;"
+ class=" c-white:hvr! c-inherit-*:hvr vc@tp+ ml-a@m- icon th-meta increase-hit c-white:hvr! c-inherit-*:hvr">
+ <span class="increase-hit__inner contain block full-height">
+ <svg class="icon contain__inner th-meta__icon" role="img" aria-label="share">
+ <title>share</title>
+ <use xlink:href="#icon-share"></use>
+ </svg>
+ </span>
+ </a></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <a href="/2018/03/21/google-lytro-acquisition-rumor/" class="o-hit__link">
+ View
+ </a></article>
+ </div>
+ </div>
+ <div class="border-top@tp+ pb-40@tp+ pt-40@tp+">
+ <div class="container@m+">
+ <!-- latest-listing -->
+ <article class="o-hit ">
+ <div class="grid@m+">
+ <div class="hide@tp- grid@tl+__cell col-1-of-8@tl+ col-1-of-15@d">
+ <!-- listing-time-label -->
+ <div class="t-meta th-meta absolute">
+ <svg class="icon inline-block th-meta__icon vm"
+ style="margin-top: -2px; margin-right: 2px">
+ <use xlink:href="#icon-clock"></use>
+ </svg>
+ 4h
+ </div>
+ </div>
+ <div class="grid@m+__cell col-2-of-4@tp col-3-of-8@tl+ col-4-of-15@d">
+ <!-- rating-thumb -->
+ <div class="o-rating_thumb c-white"><img
+ data-original="https://o.aolcdn.com/images/dims?thumbnail=300%2C200&amp;quality=80&amp;image_uri=https%3A%2F%2Fs.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2F24ce2419e679c50b46e1ad2dcede3428%2F206231202%2Fyoutube-pic-in-pic2.jpg&amp;client=cbc79c14efcebee57402&amp;signature=71a527a92ddd95eba0dba79d5615c02033420fff"
+ alt="YouTube is testing floating picture-in-picture videos on the web"
+ class="stretch-img prelazy"></img>
+ <div class="absolute l-0 b-0 b-55@s"></div>
+ <div class="o-rating_thumb__rating b-75@m- z-3">
+ <!-- rating -->
+ </div>
+ </div>
+ </div>
+ <div class="grid@m+__cell col-2-of-4@tp col-4-of-8@tl+ col-10-of-15@d ">
+ <!-- listing-body -->
+ <div class=" o-feed_listing@m- o-feed_bleed@s" data-feed-container="">
+ <div class=" o-feed_listing@m-__mid">
+ <div class=" o-feed_listing@m-__inner th-base@m- break-left@s ">
+ <div class="">
+ <!-- time-label -->
+ <div class="t-meta th-meta inline-block hide@tl+ hide@m-">
+ <svg class="icon inline-block th-meta__icon vm"
+ style="margin-top: -2px; margin-right: 2px">
+ <use xlink:href="#icon-clock"></use>
+ </svg>
+ 4h ago in
+ </div>
+ <!-- topic-link -->
+ <div class="t-meta hide@m- inline-block"><a
+ href="https://www.engadget.com/tags/internet"
+ class="th-topic">
+ Internet
+ </a></div>
+ </div>
+ <div class="th-title">
+ <h2 class="mt-10@tp+ t-h4@s t-h3-c@m t-h3-b@tp t-h4@tl t-h3@d"> <span
+ class="th-underline">
+ YouTube is testing floating picture-in-picture videos on the web
+ </span></h2>
+ </div>
+ <div class="hide@s mt-10@s">
+ <p class="mt-15@m+ t-d5@m- t-d5@tp+ c-gray-3">This one's for the
+ multitaskers. </p>
+ </div>
+ <div class="mt-20@s">
+ <!-- listing-meta-bar -->
+ <div class="">
+ <div class="table@tp+ mt-15@m+ th-meta">
+ <div class="relative inline-block "><a
+ href="/about/editors/mariella-moon/">
+ <img class="vc circle-mask absolute l-0 "
+ src="https://o.aolcdn.com/images/dims?thumbnail=30%2C30&amp;quality=70&amp;image_uri=https%3A%2F%2Fs.blogcdn.com%2Fwww.engadget.com%2Fmedia%2F2017%2F04%2Fprofile-picture.jpg&amp;client=cbc79c14efcebee57402&amp;signature=5bab654f3e7a19c6a7ffe4940f30763e8c7b3c18"
+ width="30px" height="30px"></img>
+ </a>
+ <div class="h-1 w-40 inline-block "></div>
+ <span class="t-meta pb-0 vt mt-5@tp+ w-185@m mr-10@tp+
+ ">
+
+ <span class="hide@m-">By </span> <span class="block@m-"><a href="/about/editors/mariella-moon"
+ class="th-meta">M. Moon</a></span><span
+ class="hide@m- hide@tp">, </span><span
+ class=" hide@tp">
+ &nbsp;4h ago</span></span>
+ </div>
+ <div class="inline-block@tp+ relative@tp+ t-2@tp+ o-feed_share@m- mt-5@m "
+ style="vertical-align: -2px">
+ <div class="o-feed_share@m-__item inline-block@tp+"
+ data-tooltip-outer="">
+ <!-- listing-action --><a href="javascript:;"
+ class=" vc@tp+ ml-a@m- icon th-meta increase-hit "
+ data-engadget-reading-list-id="23391131"
+ data-engadget-reading-list-type="article"
+ data-behavior="Tooltip AddToReadingList"
+ data-engadget-icon="save"
+ target="_blank"
+ data-engadget-auth="false">
+ <span class="increase-hit__inner contain block full-height">
+ <svg class="icon contain__inner th-meta__icon" role="img" aria-label="save">
+ <title>save</title>
+ <use xlink:href="#icon-save"></use>
+ </svg>
+ </span>
+ </a>
+ <div class="hide" data-tooltip-content="">
+ <div class="o-tooltip ta-c th-reverse">
+ <div class="t-meta th-meta"><span
+ class="c-white">Save</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- share-macro -->
+ <div class="o-feed_share@m-__item icon-divider@tp+ relative i-share_overlay"
+ data-behavior="ShareOverlay">
+ <div class="bg-gray-2 o-share_ui i-share_overlay__over o-h"
+ data-share-overlay-over="">
+ <div style="padding-top: 8px">
+ <div class="icon-20-line-height"><a
+ href="https://twitter.com/share?url=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Fyoutube-pic-in-pic-testing-on-the-web%2F&amp;text=YouTube%20is%20testing%20floating%20picture-in-picture%20videos%20on%20the%20web&amp;via=engadget"
+ class="c-white:hvr block o-share_ui__item sharebtn twitter-share"
+ target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="670"
+ data-engadget-h="430">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-twitter"></use>
+ </svg>
+ </a></div>
+ <div class="icon-20-line-height"><a
+ href="https://www.facebook.com/dialog/share?app_id=132746074315&amp;display=popup&amp;href=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Fyoutube-pic-in-pic-testing-on-the-web%2F"
+ class="c-white:hvr block o-share_ui__item sharebtn facebook-share"
+ target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="560"
+ data-engadget-h="636">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-facebook"></use>
+ </svg>
+ </a></div>
+ <div class="icon-20-line-height"><a
+ href="https://www.reddit.com/submit?url=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Fyoutube-pic-in-pic-testing-on-the-web%2F&amp;title=YouTube%20is%20testing%20floating%20picture-in-picture%20videos%20on%20the%20web"
+ class="c-white:hvr block o-share_ui__item sharebtn reddit-share"
+ target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="960"
+ data-engadget-h="750">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-reddit"></use>
+ </svg>
+ </a></div>
+ <div class="icon-20-line-height"><a
+ href="mailto:?subject=YouTube%20is%20testing%20floating%20picture-in-picture%20videos%20on%20the%20web via Engadget&amp;body=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Fyoutube-pic-in-pic-testing-on-the-web%2F"
+ class="c-white:hvr block o-share_ui__item"
+ target="_blank"
+ data-behavior="Pop">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-email"></use>
+ </svg>
+ </a></div>
+ </div>
+ </div>
+ <div class="relative i-share_overlay__btn full-height"
+ data-share-overlay-btn="">
+ <!-- listing-action --><a
+ href="javascript:;"
+ class=" c-white:hvr! c-inherit-*:hvr vc@tp+ ml-a@m- icon th-meta increase-hit c-white:hvr! c-inherit-*:hvr">
+ <span class="increase-hit__inner contain block full-height">
+ <svg class="icon contain__inner th-meta__icon" role="img" aria-label="share">
+ <title>share</title>
+ <use xlink:href="#icon-share"></use>
+ </svg>
+ </span>
+ </a></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <a href="/2018/03/21/youtube-pic-in-pic-testing-on-the-web/" class="o-hit__link">
+ View
+ </a></article>
+ </div>
+ </div>
+ <div class="border-top@tp+ pb-40@tp+ pt-40@tp+">
+ <div class="container@m+">
+ <!-- latest-listing -->
+ <article class="o-hit ">
+ <div class="grid@m+">
+ <div class="hide@tp- grid@tl+__cell col-1-of-8@tl+ col-1-of-15@d">
+ <!-- listing-time-label -->
+ <div class="t-meta th-meta absolute">
+ <svg class="icon inline-block th-meta__icon vm"
+ style="margin-top: -2px; margin-right: 2px">
+ <use xlink:href="#icon-clock"></use>
+ </svg>
+ 6h
+ </div>
+ </div>
+ <div class="grid@m+__cell col-2-of-4@tp col-3-of-8@tl+ col-4-of-15@d">
+ <!-- rating-thumb -->
+ <div class="o-rating_thumb c-white"><img
+ data-original="https://o.aolcdn.com/images/dims?thumbnail=300%2C200&amp;quality=80&amp;image_uri=https%3A%2F%2Fs.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2Fa45e94a7987030d3366b8e9570d04df2%2F206231033%2Ffba4a93144c04a87dc2bd998e822b218_original.jpg&amp;client=cbc79c14efcebee57402&amp;signature=4151c220a7131de869d37436d4ebcbfdade4b9d7"
+ alt="'Hyper Light Drifter' is another indie game coming to Switch"
+ class="stretch-img prelazy"></img>
+ <div class="absolute l-0 b-0 b-55@s"></div>
+ <div class="o-rating_thumb__rating b-75@m- z-3">
+ <!-- rating -->
+ </div>
+ </div>
+ </div>
+ <div class="grid@m+__cell col-2-of-4@tp col-4-of-8@tl+ col-10-of-15@d ">
+ <!-- listing-body -->
+ <div class=" o-feed_listing@m- o-feed_bleed@s" data-feed-container="">
+ <div class=" o-feed_listing@m-__mid">
+ <div class=" o-feed_listing@m-__inner th-base@m- break-left@s ">
+ <div class="">
+ <!-- time-label -->
+ <div class="t-meta th-meta inline-block hide@tl+ hide@m-">
+ <svg class="icon inline-block th-meta__icon vm"
+ style="margin-top: -2px; margin-right: 2px">
+ <use xlink:href="#icon-clock"></use>
+ </svg>
+ 6h ago in
+ </div>
+ <!-- topic-link -->
+ <div class="t-meta hide@m- inline-block"><a
+ href="https://www.engadget.com/tags/gadgetry"
+ class="th-topic">
+ Gadgetry
+ </a></div>
+ </div>
+ <div class="th-title">
+ <h2 class="mt-10@tp+ t-h4@s t-h3-c@m t-h3-b@tp t-h4@tl t-h3@d"> <span
+ class="th-underline">
+ 'Hyper Light Drifter' is another indie game coming to Switch
+ </span></h2>
+ </div>
+ <div class="hide@s mt-10@s">
+ <p class="mt-15@m+ t-d5@m- t-d5@tp+ c-gray-3">'Nidhogg 2' and
+ 'Crashlands' also have Switch ports due later this year.</p>
+ </div>
+ <div class="mt-20@s">
+ <!-- listing-meta-bar -->
+ <div class="">
+ <div class="table@tp+ mt-15@m+ th-meta">
+ <div class="relative inline-block "><a
+ href="/about/editors/richard-lawler/">
+ <img class="vc circle-mask absolute l-0 "
+ src="https://o.aolcdn.com/images/dims?thumbnail=30%2C30&amp;quality=70&amp;image_uri=https%3A%2F%2Fs.blogcdn.com%2Fwww.engadget.com%2Fmedia%2F2017%2F04%2F1781464810155265074044066361860786402917460o.jpg&amp;client=cbc79c14efcebee57402&amp;signature=9768114a5782d84bc7017417fe1ef974f76300b4"
+ width="30px" height="30px"></img>
+ </a>
+ <div class="h-1 w-40 inline-block "></div>
+ <span class="t-meta pb-0 vt mt-5@tp+ w-185@m mr-10@tp+
+ ">
+
+ <span class="hide@m-">By </span> <span class="block@m-"><a href="/about/editors/richard-lawler"
+ class="th-meta">R. Lawler</a></span><span
+ class="hide@m- hide@tp">, </span><span
+ class=" hide@tp">
+ &nbsp;6h ago</span></span>
+ </div>
+ <div class="inline-block@tp+ relative@tp+ t-2@tp+ o-feed_share@m- mt-5@m "
+ style="vertical-align: -2px">
+ <div class="o-feed_share@m-__item inline-block@tp+"
+ data-tooltip-outer="">
+ <!-- listing-action --><a href="javascript:;"
+ class=" vc@tp+ ml-a@m- icon th-meta increase-hit "
+ data-engadget-reading-list-id="23391093"
+ data-engadget-reading-list-type="article"
+ data-behavior="Tooltip AddToReadingList"
+ data-engadget-icon="save"
+ target="_blank"
+ data-engadget-auth="false">
+ <span class="increase-hit__inner contain block full-height">
+ <svg class="icon contain__inner th-meta__icon" role="img" aria-label="save">
+ <title>save</title>
+ <use xlink:href="#icon-save"></use>
+ </svg>
+ </span>
+ </a>
+ <div class="hide" data-tooltip-content="">
+ <div class="o-tooltip ta-c th-reverse">
+ <div class="t-meta th-meta"><span
+ class="c-white">Save</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- share-macro -->
+ <div class="o-feed_share@m-__item icon-divider@tp+ relative i-share_overlay"
+ data-behavior="ShareOverlay">
+ <div class="bg-gray-2 o-share_ui i-share_overlay__over o-h"
+ data-share-overlay-over="">
+ <div style="padding-top: 8px">
+ <div class="icon-20-line-height"><a
+ href="https://twitter.com/share?url=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Fhyper-light-drifter-is-another-indie-game-coming-to-switch%2F&amp;text=%27Hyper%20Light%20Drifter%27%20is%20another%20indie%20game%20coming%20to%20Switch&amp;via=engadget"
+ class="c-white:hvr block o-share_ui__item sharebtn twitter-share"
+ target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="670"
+ data-engadget-h="430">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-twitter"></use>
+ </svg>
+ </a></div>
+ <div class="icon-20-line-height"><a
+ href="https://www.facebook.com/dialog/share?app_id=132746074315&amp;display=popup&amp;href=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Fhyper-light-drifter-is-another-indie-game-coming-to-switch%2F"
+ class="c-white:hvr block o-share_ui__item sharebtn facebook-share"
+ target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="560"
+ data-engadget-h="636">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-facebook"></use>
+ </svg>
+ </a></div>
+ <div class="icon-20-line-height"><a
+ href="https://www.reddit.com/submit?url=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Fhyper-light-drifter-is-another-indie-game-coming-to-switch%2F&amp;title=%27Hyper%20Light%20Drifter%27%20is%20another%20indie%20game%20coming%20to%20Switch"
+ class="c-white:hvr block o-share_ui__item sharebtn reddit-share"
+ target="_blank"
+ data-behavior="Pop"
+ data-engadget-popname="engadget_share"
+ data-engadget-pop-w="960"
+ data-engadget-h="750">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-reddit"></use>
+ </svg>
+ </a></div>
+ <div class="icon-20-line-height"><a
+ href="mailto:?subject=%27Hyper%20Light%20Drifter%27%20is%20another%20indie%20game%20coming%20to%20Switch via Engadget&amp;body=https%3A%2F%2Fwww.engadget.com%2F2018%2F03%2F21%2Fhyper-light-drifter-is-another-indie-game-coming-to-switch%2F"
+ class="c-white:hvr block o-share_ui__item"
+ target="_blank"
+ data-behavior="Pop">
+ <svg class="inline-block icon vm">
+ <use xlink:href="#icon-email"></use>
+ </svg>
+ </a></div>
+ </div>
+ </div>
+ <div class="relative i-share_overlay__btn full-height"
+ data-share-overlay-btn="">
+ <!-- listing-action --><a
+ href="javascript:;"
+ class=" c-white:hvr! c-inherit-*:hvr vc@tp+ ml-a@m- icon th-meta increase-hit c-white:hvr! c-inherit-*:hvr">
+ <span class="increase-hit__inner contain block full-height">
+ <svg class="icon contain__inner th-meta__icon" role="img" aria-label="share">
+ <title>share</title>
+ <use xlink:href="#icon-share"></use>
+ </svg>
+ </span>
+ </a></div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <a href="/2018/03/21/hyper-light-drifter-is-another-indie-game-coming-to-switch/"
+ class="o-hit__link">
+ View
+ </a></article>
+ </div>
+ </div>
+ <footer class="container@m- pt-40@s"><a href="/all"
+ class="o-btn@m- th-btn block h-120@tp+ pt-45@tp+ ta-c border-top@tp+ border-bottom@tp+ mb-45@tp+">
+ <span class="t-meta">More Stories</span>
+ </a></footer>
+ </aside>
+ <!-- section-title -->
+ <div class="o-title_mark pb-15@ mt-20 mb-20 container bc-gray-2">
+ <h2 class="t-section-title th-title mt-15"> From around the web </h2>
+ </div>
+ <div class="container">
+ <div class="grid">
+ <div class="col-12-of-12 grid__cell">
+ <div id="taboola-below-article-thumbnails"></div>
+ <script type="text/javascript">
+ window._taboola = window._taboola || [];
+ _taboola.push({
+ mode: 'thumbnails-b',
+ container: 'taboola-below-article-thumbnails',
+ placement: 'Below Article Thumbnails',
+ target_type: 'mix'
+ });
+ </script>
+ </div>
+ </div>
+ </div>
+ <div class="container mt-25@s mb-25@s">
+ <aside role="banner">
+ <div class="vc relative stretch-img">
+ <div class="ml-a mr-a" style="width: 300px;">
+ <div id="mo_300x250_article"
+ data-aol-adcall="{&quot;s&quot;:{&quot;adSetType&quot;:&quot;F&quot;,&quot;adSetInView&quot;:1,&quot;htmlAdWH&quot;:{&quot;mn&quot;:963860499,&quot;sizes&quot;:{&quot;w&quot;:&quot;MM&quot;,&quot;h&quot;:&quot;MM&quot;},&quot;type&quot;:&quot;f&quot;}},&quot;m&quot;:false}"
+ data-behavior="Advertisement"></div>
+ </div>
+ </div>
+ </aside>
+ </div>
+ <script type="application/ld+json">
+ {
+ "@context": "https://schema.org",
+ "@type": "Review",
+ "reviewBody": "The Xbox One X is the ultimate video game system. It sports more horsepower than any system ever. And it plays more titles in native 4K than Sony's PlayStation 4 Pro. It's just about everything you could want without investing in a gaming PC. The only problem? It's now been a year since the PS4 Pro launched, and the One X costs $500, while Sony's console launched at $400. That high price limits the Xbox One X to diehard Microsoft fans who don't mind paying a bit more to play the console's exclusive titles in 4K. Everyone else might be better off waiting, or opting for the $279 Xbox One S. %Slideshow-803271%",
+ "author": [{
+ "@type": "Person",
+ "url": "https://www.engadget.com/about/editors/devindra-hardawar",
+ "name": "Devindra Hardawar"
+ }],
+ "datePublished": "2017-11-03 03:01:00.000000",
+ "keywords": ["av", "consoles", "entertainment", "gadgetry", "gadgets", "gaming", "gear", "microsoft", "review", "video", "videogames", "Xbox", "XboxOne", "XboxOneX"],
+ "itemReviewed": "Microsoft Xbox One",
+ "reviewRating": [{
+ "@type": "Rating",
+ "ratingValue": "87",
+ "bestRating": "100",
+ "worstRating": "0"
+ }],
+ "sourceOrganization": [{
+ "@type": "Organization",
+ "name": "Engadget",
+ "url": "https://www.engadget.com",
+ "logo": [{
+ "@type": "ImageObject",
+ "url": "https://www.engadget.com/assets/eng-e-128.png",
+ "width": "128px",
+ "height": "128px"
+ }]
+ }]
+ }
+
+ </script>
+ <script type="application/ld+json">
+ {
+ "@context": "https://schema.org",
+ "@type": "Article",
+ "url": "https://www.engadget.com/2017/11/03/xbox-one-x-review/",
+ "author": [{
+ "@type": "Person",
+ "url": "https://www.engadget.com/about/editors/devindra-hardawar",
+ "name": "Devindra Hardawar"
+ }],
+ "headline": "Xbox One X review: A console that keeps up with gaming PCs",
+ "datePublished": "2017-11-03 03:01:00.000000",
+ "mainEntityOfPage": "True",
+ "thumbnailUrl": "https://o.aolcdn.com/images/dims?crop=1600%2C943%2C0%2C0&quality=85&format=jpg&resize=1600%2C943&image_uri=http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2Fd457f269d1400106a402302a310de800%2F205826071%2FXbox%2BOne%2BX%2Breview%2Bgallery%2B1.jpg&client=a1acac3e1b3290917d92&signature=9fa7b29452763464190c6edff6822489df516d1b",
+ "image": [{
+ "@type": "ImageObject",
+ "url": "https://o.aolcdn.com/images/dims?thumbnail=640%2C480&amp;quality=80&amp;image_uri=https%3A%2F%2Fo.aolcdn.com%2Fimages%2Fdims%3Fcrop%3D1600%252C943%252C0%252C0%26quality%3D85%26format%3Djpg%26resize%3D1600%252C943%26image_uri%3Dhttp%253A%252F%252Fo.aolcdn.com%252Fhss%252Fstorage%252Fmidas%252Fd457f269d1400106a402302a310de800%252F205826071%252FXbox%252BOne%252BX%252Breview%252Bgallery%252B1.jpg%26client%3Da1acac3e1b3290917d92%26signature%3D9fa7b29452763464190c6edff6822489df516d1b&amp;client=cbc79c14efcebee57402&amp;signature=d93f3537fca242c8851867bc9d49d057e6d382c5",
+ "width": "640px",
+ "height": "480px"
+ }],
+ "articleBody": "The Xbox One X is the ultimate video game system. It sports more horsepower than any system ever. And it plays more titles in native 4K than Sony's PlayStation 4 Pro. It's just about everything you could want without investing in a gaming PC. The only problem? It's now been a year since the PS4 Pro launched, and the One X costs $500, while Sony's console launched at $400. That high price limits the Xbox One X to diehard Microsoft fans who don't mind paying a bit more to play the console's exclusive titles in 4K. Everyone else might be better off waiting, or opting for the $279 Xbox One S. %Slideshow-803271% Hardware\n\n\n\nDespite all the power inside, the One X is Microsoft's smallest console to date. It looks similar to the Xbox One S, except it has an entirely matte black case and is slightly slimmer. It's also surprisingly dense -- the console weighs 8.4 pounds, but it feels far heavier than you'd expect for its size, thanks to all of its new hardware. The One S, in comparison, weighs two pounds less.\n\nThe Xbox One X's real upgrades are under the hood. It features an 8-core CPU running at 2.3Ghz, 12GB of GDDR5 RAM, a 1 terabyte hard drive and an upgraded AMD Polaris GPU with 6 teraflops of computing power. The PS4 Pro has only 8GB of RAM and tops out at 4.2 teraflops. Microsoft's console is clearly faster. That additional horsepower means the Xbox One X can run more games in full native 4K than the Sony's console.\n\n\n\nAlong the front, there's the slot-loading 4K Blu-ray drive, a physical power button, a single USB port and a controller pairing button. And around back, there are HDMI out and in ports, the latter of which lets you plug in your cable box. Additionally, there are two USB ports, connections for optical audio, IR out, and gigabit Ethernet. If you've still got a Kinect around, you'll need to use a USB adapter to plug it in.\n\n\nDevindra Hardawar\/AOL\n\n\nThe console's controller hasn't changed since its last mini-upgrade with the Xbox One S. That revision rounded out its seams, improved bumper performance and added a 3.5mm headphone jack. It's still a great controller, though I'm annoyed Microsoft is sticking with AA batteries as their default power source. Sure, you could just pick up some renewable batteries, or the Play and Charge kit, but that's an extra expense. And manually swapping batteries feels like a bad user experience when every other console has rechargeable controllers.\n\nIn use\n\n\nDevindra Hardawar\/AOL\n\n\nYou won't find any major differences between the One X and the last Xbox at first &mdash; aside from a more dramatic startup sequence. Navigating the Xbox interface is fast and zippy, but mostly that's due to a recent OS upgrade. If you're moving over from an older Xbox One, you can use the backup tool to transfer your games and settings to an external hard drive. Just plug that into the new console during setup and it'll make it feel just like your old machine. It's also a lot faster than waiting for everything to download from Xbox Live.\n\nYou'll still have to set aside some time if you want to play an Xbox One X-enhanced title, though. Those 4K textures will make games significantly larger, but Microsoft says it's come up with a few ways to help developers make downloading them more efficient. For example, language packs and other optional content won't get installed by default.\n\nWe only had a few enhanced titles to test out during our review: Gears of War 4, Killer Instinct and Super Lucky's Tale. They each took advantage of the console in different ways. Gears of War 4 runs natively in 4K at 30 FPS with Dolby Atmos and HDR (high dynamic range lighting) support. It looked great -- especially with HDR, which highlighted bright elements like lightning strikes -- but I noticed the frame rate dip occasionally. I was also surprised that load times were on-par with what I've seen with the game on the Xbox One S.\n\n\nDevindra Hardawar\/AOL\n\n\nYou can also play in Performance mode, which bumps the frame rate up to 60FPS and uses higher quality graphical effects, while rendering it lower in 1080p. Personally, I preferred this, since it makes the game much smoother -- as if you're playing it on a high-end gaming PC, not a console. Some PlayStation 4 Pro games also let you choose how you wanted to distribute its power, so in some ways Microsoft is just following in its footsteps.\n\nI've been playing Gears of War 4 on my gaming PC (which is connected to my home theater) over the past year, and I was impressed that the Xbox One X is able to deliver a similar experience. It didn't quite match my rig though, which is powered by Intel Core i7 4790k CPU running at 4GHz, 16GB DDR3 RAM and an NVIDIA GTX 1080 GPU. Typically, I play at 1,440p (2,560 by 1,440 pixels) with HDR and all of the graphical settings set to their highest level, and I can easily maintain a 60FPS frame rate. The One X felt just as solid at 1080p, but there were clearly plenty of graphics settings it couldn't take advantage of, in particular higher levels of bloom lighting and shadow detail.\n\n%Slideshow-803330%\n\nKiller Instinct and Super Lucky's Tale run in 4K at a smooth 60FPS. They both looked and played better than their standard versions, though I was surprised they didn't take advantage of HDR. As usual, I noticed the improvement in frame rates more than the higher resolution. Unless you're sitting very close to a TV above 50-inches, you'd likely have a hard time telling between 4K and 1080p.\n\nThat poses a problem for Microsoft: It's betting that gamers will actually want true 4K rendering. In practice, though, PlayStation 4 Pro titles running in HDR and resolutions between 1080p and 4K often look just as good to the naked eye. The Xbox One X's big advantage is that its hardware could let more games reach 60FPS compared to Sony's console.\n\nMicrosoft says over 130 Xbox One X-enhanced titles are in the works. That includes already-released games like Forza Motorsport 7 and Assassin's Creed Origins, as well as upcoming titles like Call of Duty: WW2. You'll be able to find them easily in a special section in the Xbox store. There is also a handful of Xbox 360 games that'll get enhanced eventually, including Halo 3 and Fallout 3. Some of those titles will get bumped up to a higher resolution, while others will get HDR support. Microsoft describes these upgrades as a bonus for developers who were prescient about how they built their games. Basically, don't expect your entire 360 library to get enhanced.\n\n\nDevindra Hardawar\/AOL\n\n\nEven if a game isn't specifically tuned for the new console, Microsoft says you might still see some performance improvements. The PlayStation 4 Pro, meanwhile, has over one hundred games built for its hardware, and its boost mode can speed up some older games.\n\nMicrosoft is still pushing the Xbox as more than just a game console, though. 4K Blu-rays loaded up quickly, and I didn't notice many delays as I skipped around films. Planet Earth II, in particular, looked fantastic thanks to its brilliant use of HDR. Unfortunately, the One X doesn't support Dolby Vision, so you're stuck with the slightly less capable HDR 10 standard. That makes sense since it's more widely supported, but it would have been nice to see Dolby's, too.\n\n\n\nAnd speaking of Dolby technology, Microsoft is also highlighting Atmos support on the One X, just like it did with the One S. The company's app lets you configure the console to pass audio Atmos signals to your audio receiver. You can also shell out $15 to get Atmos support for headphones, which simulates immersive surround sound. It's strange to pay money to unlock Dolby features, but it's worth it since it's significantly better than Microsoft's audio virtualization technology. The Netflix app also supports Atmos for a handful of films (something that the Xbox One S and PlayStation 4 offer, as well).\n\nOne thing you won't find in the new Xbox is VR support. Microsoft has mentioned that the console will offer some sort of mixed reality, but it hasn't offered up any details yet. It's technically powerful enough to work with any of the Windows Mixed Reality headsets launching this fall. It's a shame that Microsoft is being so wishy-washy because Sony has had a very successful head start with the PlayStation VR.\n\nPricing and the competition\n\n\nDevindra Hardawar\/AOL\n\n\nThe biggest knock against the Xbox One X is its $500 price. The PS4 Pro launched at $400 last year, and there's a good chance we'll see plenty of deals around the holidays. If your friends are on Xbox Live, or you're a devotee of Microsoft's first party franchises, then the X makes more sense. If you just want to play third-party titles that come to both platforms, though, the PS4 Pro is clearly the better deal.\n\nIf you're looking to upgrade from an original Xbox One, and you have a new TV, the One X might be more compelling. It's faster and offers more features than the One S, and more importantly, it'll last you much longer without needing an upgrade. There's also plenty of wisdom in simply waiting a while before you buy the One X, especially if you haven't moved to a 4K TV yet. The new console can make games look better on 1080p sets, since it'll supersample high-res textures and have more graphical effects, but it's simply not worth the upgrade since those TVs don't support HDR.\n\nIf price isn't a huge concern for you, it's worth considering investing in a gaming PC. A decent one costs between $600 and $800, plus the price of a monitor, but it'll easily be more powerful than the One X. And you have the added benefit of upgrading components down the line. Now that Microsoft and game publishers are offering most major titles on PC, you won't be missing out on much by ditching consoles.\n\nWrap-up\n\n\n\nUltimately, the Xbox One X offers some major performance upgrades that gamers will notice -- especially if you're coming from an original Xbox One. But it's also a bit disappointing since it's coming a year after the PS4 Pro, and it doesn't offer VR yet. For Microsoft fans, though, none of that will matter. It's exactly what the company promised: the fastest game console ever made.",
+ "articleSection": "Reviews",
+ "keywords": ["av", "consoles", "entertainment", "gadgetry", "gadgets", "gaming", "gear", "microsoft", "review", "video", "videogames", "Xbox", "XboxOne", "XboxOneX"],
+ "publisher": [{
+ "@type": "Organization",
+ "name": "Engadget",
+ "url": "https://www.engadget.com",
+ "logo": [{
+ "@type": "ImageObject",
+ "url": "https://www.engadget.com/assets/images/eng-e-128.png",
+ "width": "128px",
+ "height": "128px"
+ }]
+ }],
+ "dateModified": "2017-11-03 02:22:36.000000"
+ }
+
+ </script>
+ </main>
+ <!-- global-footer -->
+ <footer role="navigation">
+ <nav class="th-reverse pt-40 pb-60 h-450 hide@tp-">
+ <div class="container full-height">
+ <div class="grid full-height">
+ <div class="grid__cell col-1-of-5 full-height">
+ <section>
+ <!-- list-header -->
+ <div class=" bc-violet o-title_mark">
+ <h3 class=" th-title t-list-header mt-10"> About </h3>
+ </div>
+ <ul class="t-meta-list mt-20 c-white-50">
+ <li><a href="https://www.engadget.com/about/" class="c-white:hvr">About
+ Engadget</a></li>
+ <li><a href="https://www.engadget.com/about-our-advertising/"
+ class="c-white:hvr">About Our Ads</a></li>
+ <li><a href="https://www.engadget.com/about/advertise/" class="c-white:hvr">Advertise</a>
+ </li>
+ <li><a href="https://www.engadget.com/brand-kit/" class="c-white:hvr">Brand
+ Kit</a></li>
+ <li><a href="https://www.engadget.com/about/contact/" class="c-white:hvr">Contact
+ Us</a></li>
+ <li><a href="https://www.engadget.com/rss.xml" class="c-white:hvr">RSS Feed</a>
+ </li>
+ </ul>
+ </section>
+ </div>
+ <div class="grid__cell col-1-of-5 grid-divider bc-white-10 full-height">
+ <section>
+ <!-- list-header -->
+ <div class=" bc-violet o-title_mark">
+ <h3 class=" th-title t-list-header mt-10"> Sections </h3>
+ </div>
+ <ul class="t-meta-list mt-20 c-white-50">
+ <li><a href="https://www.engadget.com/reviews/" class="c-white:hvr">Reviews</a>
+ </li>
+ <li><a href="https://www.engadget.com/gear/" class="c-white:hvr">Gear</a></li>
+ <li><a href="https://www.engadget.com/gaming/" class="c-white:hvr">Gaming</a>
+ </li>
+ <li><a href="https://www.engadget.com/entertainment/" class="c-white:hvr">Entertainment</a>
+ </li>
+ <li><a href="https://www.engadget.com/tomorrow/"
+ class="c-white:hvr">Tomorrow</a></li>
+ <li><a href="https://www.engadget.com/videos/" class="c-white:hvr">Video</a>
+ </li>
+ <li><a href="https://www.engadget.com/podcasts/"
+ class="c-white:hvr">Podcasts</a></li>
+ <li><a href="http://deals.gdgt.com/" class="c-white:hvr">Deals</a></li>
+ <li><a href="https://www.engadget.com/events/the-engadget-experience-2017/"
+ class="c-white:hvr">Events</a></li>
+ <li><a href="https://www.engadget.com/buyers-guide/" class="c-white:hvr">The
+ Buyer's Guide</a></li>
+ </ul>
+ </section>
+ </div>
+ <div class="grid__cell col-1-of-5 grid-divider bc-white-10 full-height">
+ <section>
+ <!-- list-header -->
+ <div class=" bc-violet o-title_mark">
+ <h3 class=" th-title t-list-header mt-10"> Contribute </h3>
+ </div>
+ <ul class="t-meta-list mt-20 c-white-50">
+ <li><a href="https://www.engadget.com/2017/05/01/engadget-commenting-policy/"
+ class="c-white:hvr">Comment Guidelines</a></li>
+ <li><a href="https://www.engadget.com/about/tips/" class="c-white:hvr">Send us a
+ tip!</a></li>
+ <li><a href="https://www.engadget.com/about/support/" class="c-white:hvr">Support</a>
+ </li>
+ </ul>
+ </section>
+ </div>
+ <div class="grid__cell col-1-of-5 grid-divider bc-white-10 full-height">
+ <section>
+ <!-- list-header -->
+ <div class=" bc-violet o-title_mark">
+ <h3 class=" th-title t-list-header mt-10"> International </h3>
+ </div>
+ <ul class="t-meta-list mt-20 c-white-50">
+ <li><a href="http://es.engadget.com/" class="c-white:hvr">Español</a></li>
+ <li><a href="http://chinese.engadget.com/" class="c-white:hvr">繁體中文</a></li>
+ <li><a href="http://cn.engadget.com/" class="c-white:hvr">简体中文</a></li>
+ <li><a href="http://japanese.engadget.com/" class="c-white:hvr">日本版</a></li>
+ <li><a href="http://de.engadget.com/" class="c-white:hvr">Deutschland</a></li>
+ <li><a href="https://www.engadget.com/uk" class="c-white:hvr">UK</a></li>
+ </ul>
+ </section>
+ </div>
+ <div class="grid__cell col-1-of-5 grid-divider bc-white-10 full-height">
+ <section>
+ <!-- list-header -->
+ <div class=" bc-violet o-title_mark">
+ <h3 class=" th-title t-list-header mt-10"> Apps </h3>
+ </div>
+ <ul class="t-meta-list mt-20 c-white-50">
+ <li>
+ <a href="https://play.google.com/store/apps/details?id=com.aol.mobile.engadget&amp;feature=nav_result#?t=W251bGwsMSwyLDNd"
+ class="c-white:hvr">Android</a></li>
+ <li>
+ <a href="https://itunes.apple.com/us/app/engadget/id347839246?mt=8&amp;ign-mpt=uo%3D4"
+ class="c-white:hvr">iPhone</a></li>
+ <li>
+ <a href="https://itunes.apple.com/us/app/engadget/id347839246?mt=8&amp;ign-mpt=uo%3D4"
+ class="c-white:hvr">iPad</a></li>
+ </ul>
+ </section>
+ </div>
+ </div>
+ </div>
+ </nav>
+ <nav class="pb-25@tp- th-reverse bg-gray-2@tl+">
+ <div class="container">
+ <div class="grid">
+ <section class="grid__cell col-2-of-5 col-12-of-12@tp- pt-40 pt-30@tp- hide@tp-">
+ <div class="break-out@tp- border-bottom pb-40 pb-30@tp-">
+ <div class="container@tp-"><span
+ class="hide@tl+ t-list-header-2@tp- c-white@tp- mb-20@tp-">Join Our Newsletter</span>
+ <form class="relative pr-190@tl+" action="/a/mail_subscribe" method="post">
+ <input type="hidden"
+ value="eyJyIjoiN2R5MUFQdzdhblwvZ3NmMndCRnJ4VjZrT0pDNnZrazhFakZtblFZMjhRcHM9IiwidCI6MTUyMTYzMzE4NywicyI6IlhKZ2duZXRUODJUVktUeExmYVVUNlwvamtaNjFWMHFlN3RVOUJRbXc3U1R5TTBGKzhVdVI1RlZ4bEJpSndMV0ZoVWJPRDFBWUJrOEV3Wm9tTEYrUE5ndz09In0="
+ name="csrf"></input> <input type="text" name="email"
+ placeholder="Sign up for our newsletter"
+ class="input pl-15 pr-15 rounded c-gray-1 bg-white-90 tx-meta pr-100@tp-"></input>
+ <input type="hidden" name="redirect"
+ value="https://www.engadget.com/thanks"></input>
+ <div class="absolute@tl+ t-0 r-0 w-170@tl+">
+ <button type="submit"
+ class="o-btn@tl+ o-btn@tl+--small th-btn@tl+ absolute@tp- c-violet@tp- t-0 b-0 r-0 pl-20@tp- pr-20@tp- bc-white-50">
+ <span class="t-btn t-meta@s">Subscribe</span>
+ </button>
+ </div>
+ </form>
+ </div>
+ </div>
+ </section>
+ <section
+ class="grid__cell col-3-of-5 col-12-of-12@tp- pt-60 pt-20@tp- bc-white-10 ta-r@tl+">
+ <div class="container@tp-"><span
+ class="t-list-header-2@tp- c-white@tp- vc t-meta@tl+ c-gray-7@tl+">Follow Us</span>
+ <ul class="vc c-gray-6 fixed-table@tp- mt-20@tp-">
+ <li class="inline-block@tl+ table-cell@tp- ml-30@tl+"><a
+ href="https://www.facebook.com/Engadget" class="c-white:hvr">
+ <svg class="w-15@s h-15@s h-22@m+ w-22@m+ inline-block">
+ <use xlink:href="#icon-facebook"></use>
+ </svg>
+ </a></li>
+ <li class="inline-block@tl+ table-cell@tp- ml-40@tl+"><a
+ href="https://twitter.com/engadget" class="c-white:hvr">
+ <svg class="w-15@s h-15@s h-22@m+ w-22@m+ inline-block">
+ <use xlink:href="#icon-twitter"></use>
+ </svg>
+ </a></li>
+ <li class="inline-block@tl+ table-cell@tp- ml-40@tl+"><a
+ href="https://plus.google.com/+Engadget" class="c-white:hvr">
+ <svg class="w-15@s h-15@s h-22@m+ w-22@m+ inline-block">
+ <use xlink:href="#icon-googleplus"></use>
+ </svg>
+ </a></li>
+ <li class="inline-block@tl+ table-cell@tp- ml-40@tl+"><a
+ href="https://www.youtube.com/engadget" class="c-white:hvr">
+ <svg class="w-15@s h-15@s h-22@m+ w-22@m+ inline-block">
+ <use xlink:href="#icon-youtube"></use>
+ </svg>
+ </a></li>
+ <li class="inline-block@tl+ table-cell@tp- ml-40@tl+"><a
+ href="https://instagram.com/engadget" class="c-white:hvr">
+ <svg class="w-15@s h-15@s h-22@m+ w-22@m+ inline-block">
+ <use xlink:href="#icon-instagram"></use>
+ </svg>
+ </a></li>
+ <li class="inline-block@tl+ table-cell@tp- ml-40@tl+"><a
+ href="http://engadget.tumblr.com/" class="c-white:hvr">
+ <svg class="w-15@s h-15@s h-22@m+ w-22@m+ inline-block">
+ <use xlink:href="#icon-tumblr"></use>
+ </svg>
+ </a></li>
+ <li class="inline-block@tl+ table-cell@tp- ml-40@tl+"><a
+ href="https://www.linkedin.com/company/101421" class="c-white:hvr">
+ <svg class="w-15@s h-15@s h-22@m+ w-22@m+ inline-block">
+ <use xlink:href="#icon-linkedin"></use>
+ </svg>
+ </a></li>
+ </ul>
+ </div>
+ </section>
+ </div>
+ </div>
+ </nav>
+ <div class="c-gray-6 pt-25@tp- pb-20@tp-">
+ <div class="container ta-l">
+ <div class="table@tl+ h-80@tl+">
+ <div class="table-cell@tl+ pr-25 pb-25@tp- w-110@tl+">
+ <svg class="oath-logo">
+ <use xlink:href="#icon-eng-oath-logo"></use>
+ </svg>
+ </div>
+ <div class="table-cell@tl+">
+ <div class="t-meta">© 2018 Oath Tech Network Aol Tech. All rights reserved.</div>
+ </div>
+ <div class="table-cell@tl+ ta-r@tl+">
+ <ul class="ml-n25 ml-n10@tp-">
+ <li class="pl-20 pl-10@tp- inline-block"><a href="http://www.engadgetreprints.com/"
+ class="t-meta th-meta">Reprints and
+ Permissions</a></li>
+ <li class="pl-20 pl-10@tp- inline-block"><a href="http://privacy.aol.com/"
+ class="t-meta th-meta">Privacy
+ Policy</a></li>
+ <li class="pl-20 pl-10@tp- inline-block"><a href="http://legal.aol.com/TOS/"
+ class="t-meta th-meta">Terms
+ of Use</a></li>
+ <li class="pl-20 pl-10@tp- inline-block"><a href="http://legal.aol.com/trademarks/"
+ class="t-meta th-meta">Trademarks</a>
+ </li>
+ <li class="pl-20 pl-10@tp- inline-block"><a
+ href="https://www.engadget.com/about/advertise" class="t-meta th-meta">Advertise</a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ </div>
+ </footer>
+ </div>
+ </div>
+</div>
+<div class="hide svg-icon-list">
+ <svg xmlns="http://www.w3.org/2000/svg">
+ <symbol id="icon-alert" viewBox="0 0 29.6 29.6">
+ <g fill="currentColor">
+ <path d="M14.8 2c7.1 0 12.8 5.7 12.8 12.8s-5.7 12.8-12.8 12.8S2 21.9 2 14.8 7.7 2 14.8 2m0-2C6.6 0 0 6.6 0 14.8s6.6 14.8 14.8 14.8S29.6 23 29.6 14.8 23 0 14.8 0z"></path>
+ <path d="M13.3 8.8h3l-.5 8h-2l-.5-8zm.5 10h2v2h-2v-2z"></path>
+ </g>
+ </symbol>
+ <symbol id="icon-all" viewBox="0 0 36 36">
+ <path fill="currentColor"
+ d="M23 19h2c1.1 0 2-.9 2-2v-6c0-1.1-.9-2-2-2h-6c-1.1 0-2 .9-2 2v6h-7v-6c0-1.1-.9-2-2-2H2c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h6v7H2c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2v-6h7v6c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2v-6c0-1.1-.9-2-2-2h-6v-7h4zm-4-5v-3h6v6h-6v-3zM8 30v4H2v-6h6v2zm0-17v4H2v-6h6v2zm9 13h-7v-7h7v7zm6 2h2v6h-6v-6h4z"></path>
+ </symbol>
+ <symbol id="icon-aol-tech" viewBox="0 0 168.272 39.167">
+ <path fill="#9A9A9A"
+ d="M104.889 5.836c0-1.096-.776-1.917-2.009-1.917H83.934c-1.232 0-2.009.822-2.009 1.917 0 1.05.776 1.872 2.009 1.872h7.168c.182 0 .273.092.273.274v25.019c0 1.369.822 2.191 2.055 2.191 1.187 0 2.009-.822 2.009-2.191V7.982c0-.183.091-.274.273-.274h7.168c1.233 0 2.009-.822 2.009-1.872zm51.673 6.757c-2.968 0-5.067 1.278-6.118 2.967h-.045V5.745c0-1.278-.822-2.055-1.918-2.055s-1.918.776-1.918 2.055v27.393c0 1.278.822 2.055 1.918 2.055s1.918-.776 1.918-2.055V21.496c0-3.242 2.054-5.342 5.021-5.342 3.287 0 4.885 2.055 4.885 5.57v11.414c0 1.278.822 2.055 1.918 2.055s1.917-.776 1.917-2.055V20.811c0-4.976-2.83-8.218-7.578-8.218zm-22.871 3.561c1.963 0 3.15.73 4.154 1.826.502.548 1.004.913 1.689.913.959 0 1.689-.73 1.689-1.689 0-.502-.184-.913-.549-1.415-1.369-1.78-3.697-3.196-6.984-3.196-4.2 0-7.396 2.1-8.629 5.889-.411 1.324-.685 3.104-.685 5.524 0 2.465.273 4.246.685 5.57 1.232 3.789 4.429 5.889 8.629 5.889 3.287 0 5.615-1.415 6.984-3.195.365-.502.549-.913.549-1.416 0-.958-.73-1.688-1.689-1.688-.686 0-1.188.365-1.689.913-1.004 1.096-2.191 1.826-4.154 1.826-2.374 0-4.154-1.142-4.885-3.424-.365-1.142-.503-2.512-.503-4.475 0-1.917.138-3.287.503-4.429.731-2.281 2.511-3.423 4.885-3.423zm-22.778-3.561c-4.154 0-7.305 2.1-8.537 5.889-.457 1.37-.685 2.922-.685 5.524s.273 4.154.73 5.524c1.232 3.835 4.291 5.935 8.812 5.935 3.377 0 5.98-1.278 7.851-3.013.365-.365.594-.822.594-1.37 0-.913-.685-1.598-1.598-1.598-.457 0-.867.183-1.324.548-1.644 1.232-3.104 1.872-5.25 1.872-2.693 0-4.702-1.278-5.524-3.789-.273-.868-.365-1.599-.365-2.648 0-.183.092-.273.274-.273h12.828c.914 0 1.507-.594 1.507-1.461 0-2.146-.228-3.835-.73-5.296-1.187-3.744-4.292-5.844-8.583-5.844zm5.112 9.541h-10.134c-.183 0-.274-.091-.274-.273 0-1.005.092-1.781.319-2.466.73-2.191 2.557-3.424 5.022-3.424 2.465 0 4.292 1.232 5.022 3.424.228.685.319 1.461.319 2.466.001.183-.091.273-.274.273zm-68.746-11.46c-8.505 0-12.59 6.725-12.59 12.479 0 5.753 4.085 12.479 12.59 12.479 8.504 0 12.587-6.727 12.587-12.479 0-5.755-4.083-12.479-12.587-12.479zm0 18.401c-3.032 0-5.6-2.498-5.6-5.922 0-3.427 2.568-5.922 5.6-5.922 3.03 0 5.599 2.495 5.599 5.922-.001 3.424-2.569 5.922-5.599 5.922zm16.541 5.9h7.082V3.668H63.82v31.307zm109.707-9.095a4.706 4.706 0 1 0-.001 9.413 4.706 4.706 0 0 0 .001-9.413zM15.606 3.668L3.272 34.975h8.357l1.65-4.527h10.872l1.525 4.527h8.442L21.911 3.668h-6.305zm-.126 20.433l3.28-10.915 3.279 10.915H15.48z"></path>
+ </symbol>
+ <symbol id="icon-camera-large" viewBox="0 0 36 36">
+ <path fill="currentColor"
+ d="M33 14c.5 0 1 .5 1 1v18c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1V15c0-.5.5-1 1-1h30m0-2H3c-1.6 0-3 1.4-3 3v18c0 1.6 1.4 3 3 3h30c1.6 0 3-1.4 3-3V15c0-1.6-1.4-3-3-3z"></path>
+ <path fill="currentColor"
+ d="M18 19.2c2.6 0 4.8 2.2 4.8 4.8s-2.2 4.8-4.8 4.8-4.8-2.2-4.8-4.8 2.2-4.8 4.8-4.8m0-2c-3.8 0-6.8 3-6.8 6.8s3 6.8 6.8 6.8 6.8-3 6.8-6.8-3-6.8-6.8-6.8zM8 8.5h6v1H8z"></path>
+ </symbol>
+ <symbol id="icon-camera" viewBox="0 0 16 16">
+ <path fill="currentColor" d="M8 6C6.3 6 5 7.3 5 9s1.3 3 3 3 3-1.3 3-3-1.3-3-3-3zm1 4H7V8h2v2z"></path>
+ <path fill="currentColor"
+ d="M13 3h-1c0-1.1-.9-2-2-2H6c-1.1 0-2 .9-2 2H3C1.4 3 0 4.3 0 6v6c0 1.6 1.4 3 3 3h10c1.7 0 3-1.4 3-3V6c0-1.7-1.3-3-3-3zm1 9c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1V6c0-.5.5-1 1-1h3V3h4v2h3c.5 0 1 .5 1 1v6z"></path>
+ </symbol>
+ <symbol id="icon-chain-link" viewBox="0 0 150 70.823">
+ <path fill="currentColor"
+ d="M9 0h44v9.022H9zM0 9.022h62v9.022H0zM8.823 62.154h44.118V71H8.823zM0 53.132h62v9.022H0z"></path>
+ <path fill="currentColor"
+ d="M0 18.045h18v35.087H0zM44.117 26.537h61.766v17.69H44.117zM97 0h44v9.022H97zM88 9.022h62v9.022H88zM97.059 62.154h44.118V71H97.059zM88 53.132h62v9.022H88z"></path>
+ <path fill="currentColor" d="M132 18.045h18v35.087h-18z"></path>
+ </symbol>
+ <symbol id="icon-clock" viewBox="0 0 16 16">
+ <path d="M8 1.8c3.4 0 6.2 2.8 6.2 6.2s-2.8 6.2-6.2 6.2S1.8 11.4 1.8 8 4.6 1.8 8 1.8M8 .2C3.7.2.2 3.7.2 8s3.5 7.8 7.8 7.8 7.8-3.5 7.8-7.8S12.3.2 8 .2z"
+ fill="currentColor"></path>
+ <path d="M7 7c0 1.1.4 2 1 2s1-.9 1-2V6c0-1.1-.4-2-1-2s-1 .9-1 2v1z" fill="currentColor"></path>
+ <path d="M12 8c0 .6-.9 1-2 1H9c-1.1 0-2-.4-2-1s.9-1 2-1h1c1.1 0 2 .4 2 1z" fill="currentColor"></path>
+ </symbol>
+ <symbol id="icon-close" viewBox="0 0 15.4 15.4">
+ <path fill="currentColor"
+ d="M15.4 1.4L14 0 7.7 6.3 1.4 0 0 1.4l6.3 6.3L0 14l1.4 1.4 6.3-6.3 6.3 6.3 1.4-1.4-6.3-6.3z"></path>
+ </symbol>
+ <symbol id="icon-comment" viewBox="0 0 19 18">
+ <path fill="currentColor"
+ d="M15 2H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h1v4h1v-1h1v-1h1v-1h1v-1h7c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 8c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2h8c1.1 0 2 .9 2 2v4z"></path>
+ </symbol>
+ <symbol id="icon-down-arrow" viewBox="0 0 20.7 11.1">
+ <path fill="none" stroke="currentColor" d="M.4.4l10 10 10-10"></path>
+ </symbol>
+ <symbol id="icon-down-caret" viewBox="0 0 11.4 7.1">
+ <path fill="currentColor" d="M5.7 7.1L0 1.4 1.4 0l4.3 4.3L10 0l1.4 1.4z"></path>
+ </symbol>
+ <symbol id="icon-ear" viewBox="0 0 69 80"><title>ear icon</title>
+ <path d="M53.578 72.294c-1.113 0-2.143-.23-2.909-.574-2.72-1.42-4.632-3.383-6.55-9.157-1.949-6.01-5.617-8.82-9.142-11.553-3.026-2.353-6.163-4.773-8.88-9.747-2.028-3.69-3.138-7.736-3.138-11.32 0-10.78 8.422-19.246 19.135-19.246 10.712 0 19.135 8.466 19.135 19.246h7.654C68.883 14.82 57.13 2.99 42.094 2.99c-15.04 0-26.79 11.83-26.79 26.953 0 4.847 1.459 10.207 4.1 15.024 3.478 6.346 7.577 9.543 10.907 12.123 3.095 2.383 5.318 4.123 6.541 7.893 2.296 7 5.245 10.93 10.444 13.67A15.275 15.275 0 0 0 53.578 80c8.46 0 15.308-6.887 15.308-15.4h-7.654c0 4.23-3.446 7.694-7.654 7.694zM17.757 5.467L12.323 0C4.705 7.66 0 18.253 0 29.947 0 41.653 4.705 52.243 12.323 59.9l5.394-5.43A34.8 34.8 0 0 1 7.654 29.947c0-9.58 3.87-18.244 10.103-24.48zm14.774 24.48c0 5.313 4.285 9.633 9.566 9.633 5.282 0 9.57-4.32 9.57-9.633 0-5.314-4.288-9.627-9.57-9.627-5.281.003-9.566 4.317-9.566 9.627z"
+ fill="currentColor" fill-rule="evenodd"></path>
+ </symbol>
+ <symbol id="icon-email" viewBox="0 0 16 16">
+ <g fill="currentColor">
+ <path d="M16 12.3V2.7l-8 8-8-8v9.6l4.6-4.7.8.8L.7 13h14.6l-4.7-4.6.8-.8z"></path>
+ <path d="M.7 2L8 9.3 15.3 2z"></path>
+ </g>
+ </symbol>
+ <symbol id="icon-eng-oath-logo" viewBox="0 0 142.9 32">
+ <path d="M14.1 25c0 3.9-3.1 7-7 7s-7-3.2-7-7c0-3.9 3.1-7 7-7s7 3.1 7 7M14.1 7c0 3.9-3.1 7-7 7s-7-3.2-7-7c0-3.9 3.1-7 7-7s7 3.2 7 7M21.6.2h9.3v2.4h-6.5v2.5H30v2.3h-5.6v2.9H31v2.4h-9.4V.2zM34.9 5.1c.6-1.1 1.6-1.6 2.8-1.6 2 0 3.1 1.3 3.1 3.3v5.9h-2.6V7.3c0-1-.5-1.6-1.5-1.6s-1.7.8-1.7 2v5h-2.6V3.8h2.5v1.3zM42.1 13h2.6c.2.5.7.9 1.7.9 1.2 0 1.9-.6 1.9-1.7V12v-1.2h-.1c-.5.9-1.3 1.3-2.4 1.3-2.1 0-3.9-1.5-3.9-4.2 0-2.6 1.6-4.4 3.7-4.4 1.2 0 2.1.4 2.6 1.4V3.8h2.5v8.1c0 1.3-.4 2.3-1.2 2.9-.8.7-1.9 1-3.2 1-2.3 0-3.9-1-4.2-2.8zm6.2-5.2c0-1.3-.7-2.3-1.9-2.3s-1.9.9-1.9 2.3.7 2.3 1.9 2.3c1.3.1 1.9-.9 1.9-2.3zM57.7 11.6c-.6.8-1.4 1.3-2.7 1.3-1.8 0-3-.9-3-2.7 0-2 1.6-2.5 3.5-2.7 1.6-.2 2.2-.5 2.2-1.1 0-.6-.4-1.1-1.3-1.1-1 0-1.5.5-1.6 1.2h-2.4c.1-1.5 1.3-2.9 3.9-2.9 1.1 0 1.9.2 2.6.5.9.5 1.4 1.5 1.4 2.7v4.6c0 .7.1 1.1.3 1.2v.2H58c-.1-.3-.2-.7-.3-1.2zm.1-2.1V8.3c-.4.2-1 .4-1.5.5-1.2.3-1.7.5-1.7 1.3s.6 1.1 1.3 1.1c1.1 0 1.9-.7 1.9-1.7zM61.4 8.2c0-2.7 1.5-4.7 3.8-4.7 1.2 0 2 .6 2.6 1.5 0-.6-.1-1.3-.1-2.1V.2h2.6v12.5H68v-1.3c-.5 1.1-1.5 1.6-2.7 1.6-2.4 0-3.9-1.8-3.9-4.8zm6.5 0c0-1.6-.7-2.7-2-2.7-1.2 0-1.9 1.1-1.9 2.7s.6 2.6 1.8 2.6c1.4.1 2.1-1 2.1-2.6zM71.9 13h2.6c.2.5.7.9 1.7.9 1.2 0 1.9-.6 1.9-1.7V12v-1.2H78c-.5.9-1.3 1.3-2.4 1.3-2.1 0-3.9-1.5-3.9-4.2 0-2.6 1.6-4.4 3.7-4.4 1.2 0 2.1.4 2.6 1.4V3.8h2.5v8.1c0 1.3-.4 2.3-1.2 2.9-.8.7-1.9 1-3.2 1-2.4 0-3.9-1-4.2-2.8zm6.2-5.2c0-1.3-.7-2.3-1.9-2.3s-1.9.9-1.9 2.3.7 2.3 1.9 2.3c1.3.1 1.9-.9 1.9-2.3zM81.7 8.3c0-2.7 1.9-4.7 4.6-4.7 1.3 0 2.3.4 3.1 1.1 1 1 1.5 2.5 1.4 4.2h-6.5c.2 1.3.9 2.1 2.2 2.1.8 0 1.3-.3 1.6-.9h2.5c-.5 1.6-1.9 2.8-4.2 2.8-2.9.1-4.7-2-4.7-4.6zm2.6-.9h3.8c-.1-1.2-.8-2-1.8-2-1.3 0-1.9.8-2 2zM91.4 3.8h1.3V.9h2.6v2.8H97v1.7h-1.7v4.4c0 .7.4.9 1 .9h.7v2c-.3.1-.8.1-1.5.1-1.7 0-2.8-.5-2.8-2.3v-5h-1.3V3.8z"></path>
+ <g>
+ <path d="M25.1 19.2h3l4.5 12.5h-3l-.8-2.4h-4.5l-.8 2.4h-2.9l4.5-12.5zm-.1 8.1h3.2l-.8-2.3c-.5-1.7-.8-3.3-.8-3.3s-.4 2.1-.8 3.3l-.8 2.3zM36 24.1c.6-1.1 1.6-1.6 2.8-1.6 2 0 3.1 1.3 3.1 3.3v5.9h-2.6v-5.4c0-1-.5-1.6-1.5-1.6s-1.7.8-1.7 2v5h-2.6v-8.9H36v1.3zM46.9 25.5c0-3.7 2.4-6.5 6.1-6.5 3.8 0 6.1 2.8 6.1 6.5S56.7 32 53 32c-3.7 0-6.1-2.8-6.1-6.5zm9.4 0c0-2.4-1.1-4.2-3.2-4.2-2.2 0-3.3 1.8-3.3 4.2 0 2.3 1.1 4.1 3.3 4.1 2.1 0 3.2-1.7 3.2-4.1zM65.8 30.6c-.6.8-1.4 1.3-2.7 1.3-1.8 0-3-.9-3-2.7 0-2 1.6-2.5 3.5-2.7 1.6-.2 2.2-.5 2.2-1.1 0-.6-.4-1.1-1.3-1.1-1 0-1.5.5-1.6 1.2h-2.4c.1-1.5 1.3-2.9 3.9-2.9 1.1 0 1.9.2 2.6.5.9.5 1.4 1.5 1.4 2.7v4.6c0 .7.1 1.1.3 1.2v.2h-2.6c-.2-.3-.3-.7-.3-1.2zm0-2.1v-1.2c-.4.2-1 .4-1.5.5-1.2.3-1.7.5-1.7 1.3s.6 1.1 1.3 1.1c1.1 0 1.9-.7 1.9-1.7zM69.4 22.8h1.3V20h2.6v2.8H75v1.7h-1.7v4.4c0 .7.4.9 1 .9h.7v2c-.3.1-.8.1-1.5.1-1.7 0-2.8-.5-2.8-2.3v-5h-1.3v-1.8zM78.8 24.1c.6-1 1.5-1.5 2.7-1.5 2 0 3.1 1.3 3.1 3.3v5.9H82v-5.4c0-1-.5-1.6-1.5-1.6s-1.7.8-1.7 2v5h-2.6V19.2h2.6v4.9zM92.5 30.4v1.3H90V19.2h2.6V22c0 .8-.1 1.5-.1 2.1.6-.9 1.4-1.5 2.7-1.5 2.3 0 3.8 2 3.8 4.7 0 2.9-1.5 4.7-3.8 4.7-1.2 0-2.2-.5-2.7-1.6zm3.9-3.2c0-1.6-.6-2.7-1.9-2.7-1.4 0-2 1.2-2 2.7 0 1.6.8 2.6 2 2.6 1.2.1 1.9-1 1.9-2.6zM102.7 24.4c.6-1.2 1.4-1.7 2.5-1.7.2 0 .4 0 .5.1V25h-.7c-1.4 0-2.4.9-2.4 2.6v4.1H100v-8.9h2.5v1.6zM112.2 30.6c-.6.8-1.4 1.3-2.7 1.3-1.8 0-3-.9-3-2.7 0-2 1.6-2.5 3.5-2.7 1.6-.2 2.2-.5 2.2-1.1 0-.6-.4-1.1-1.3-1.1-1 0-1.5.5-1.6 1.2h-2.4c.1-1.5 1.3-2.9 3.9-2.9 1.1 0 1.9.2 2.6.5.9.5 1.4 1.5 1.4 2.7v4.6c0 .7.1 1.1.3 1.2v.2h-2.6c-.1-.3-.2-.7-.3-1.2zm.1-2.1v-1.2c-.4.2-1 .4-1.5.5-1.2.3-1.7.5-1.7 1.3s.6 1.1 1.3 1.1c1.1 0 1.9-.7 1.9-1.7zM118.9 24.1c.6-1.1 1.6-1.6 2.8-1.6 2 0 3.1 1.3 3.1 3.3v5.9h-2.6v-5.4c0-1-.5-1.6-1.5-1.6s-1.7.8-1.7 2v5h-2.6v-8.9h2.5v1.3zM125.8 27.2c0-2.7 1.5-4.7 3.8-4.7 1.2 0 2 .6 2.6 1.5 0-.6-.1-1.3-.1-2.1v-2.7h2.6v12.5h-2.5v-1.3c-.5 1.1-1.5 1.6-2.7 1.6-2.2 0-3.7-1.8-3.7-4.8zm6.5 0c0-1.6-.7-2.7-2-2.7-1.2 0-1.9 1.1-1.9 2.7s.6 2.6 1.8 2.6c1.4.1 2.1-1 2.1-2.6z"></path>
+ </g>
+ </symbol>
+ <symbol id="icon-eye" viewBox="0 0 100 69"><title>eye icon</title>
+ <path d="M50 0C27.275 0 7.862 14.256 0 34.387c7.862 20.13 27.275 34.386 50 34.386s42.133-14.255 50-34.386C92.134 14.256 72.725 0 50 0zm0 57.308c-12.546 0-22.725-10.267-22.725-22.921 0-12.655 10.18-22.922 22.725-22.922 12.546 0 22.725 10.267 22.725 22.922 0 12.654-10.18 22.921-22.725 22.921zm0-36.673c-7.55 0-13.633 6.14-13.633 13.752 0 7.61 6.087 13.751 13.633 13.751 7.546 0 13.633-6.14 13.633-13.751S57.55 20.635 50 20.635z"
+ fill="currentColor" fill-rule="evenodd"></path>
+ </symbol>
+ <symbol id="icon-facebook" viewBox="0 0 7.8 16">
+ <path fill="currentColor"
+ d="M0 8.5V5.8h2v-.7-1.6c0-.5.1-.9.3-1.3s.3-.8.7-1.1c.3-.3.7-.6 1.2-.8.4-.2 1-.3 1.7-.3.6 0 1 0 1.4.1l.5.1-.1 2.5H6c-.5 0-.8.1-1 .3-.1.2-.2.5-.2.9v1.9h3l-.1 2.7H4.8V16H2V8.5H0z"></path>
+ </symbol>
+ <symbol id="icon-fullscreen" viewBox="0 0 16 16">
+ <g fill="currentColor">
+ <path d="M5.9 7.3l1.4-1.4-3.1-3.1L6 1H1v5l1.8-1.8zM7.3 10.1L5.9 8.7l-3.1 3.1L1 10v5h5l-1.8-1.8zM10.1 8.7l-1.4 1.4 3.1 3.1L10 15h5v-5l-1.8 1.8zM14 1h-4l1.8 1.8-3.1 3.1 1.4 1.4 3.1-3.1L15 6V1z"></path>
+ </g>
+ </symbol>
+ <symbol id="icon-gaming-large" viewBox="0 0 36 36">
+ <path fill="currentColor"
+ d="M26 16.1c-.4 0-.9-.1-1.3-.1H11.3c-.4 0-.9.1-1.3.1C4.6 16.1.2 20.6.2 26s4.4 9.8 9.8 9.8c2.7 0 5-1.1 6.8-2.8h2.4c1.8 1.7 4.2 2.8 6.8 2.8 5.4 0 9.8-4.5 9.8-9.9s-4.4-9.8-9.8-9.8zm0 17.7c-2.3 0-4.5-1-6-2.8h-4a7.79 7.79 0 0 1-6 2.8c-4.3 0-7.8-3.6-7.8-7.9 0-4 3-6.9 6.8-7.9h18c3.8 1 6.8 3.9 6.8 7.9 0 4.3-3.5 7.9-7.8 7.9z"></path>
+ <path fill="currentColor"
+ d="M14 25h-2v-2h-2v2H8v2h2v2h2v-2h2zM24 28h2v2h-2zM21 25h2v2h-2zM27 25h2v2h-2zM24 22h2v2h-2zM18.5 13h-1V6.5h9V1h1v6.5h-9z"></path>
+ </symbol>
+ <symbol id="icon-googleplus" viewBox="0 0 16.1 13.8">
+ <path fill="currentColor"
+ d="M.1 10.7c.1-.2.1-.4.2-.6.1-.2.2-.4.4-.6.2-.2.4-.3.7-.5.3-.2.6-.3.9-.4.3-.1.6-.2 1-.2.3-.1.6-.1.9-.1h.7c-.1-.2-.1-.3-.2-.4 0-.1-.1-.2-.1-.3-.1-.1-.1-.2-.2-.3v-.4-.2-.2c0-.1 0-.1.1-.2v-.1h-.6c-.4 0-.8 0-1.2-.2-.4-.1-.7-.4-1-.7-.2-.2-.4-.5-.6-.9-.1-.3-.2-.6-.2-1s.1-.9.3-1.3.5-.8.9-1.1c.3-.2.5-.4.8-.5.3-.1.5-.2.8-.3.2-.1.5-.1.8-.2h4.3l-1 .6H6.6c.1 0 .1 0 .2.1l.2.2c.1.1.2.2.2.3.1.1.1.2.2.3.1.1.1.2.2.3.1.1.1.2.2.3 0 .1.1.3.1.4V3c0 .3-.1.6-.1.9-.1.3-.2.5-.3.7-.1.1-.2.2-.2.3l-.3.3c-.1 0-.2.1-.2.2s-.2.2-.3.2c-.1.1-.1.2-.2.2s-.1.2-.1.2c-.1.1-.1.2-.2.3v.6c0 .1.1.1.2.1.1.1.1.1.1.2s.1.1.1.1l.6.5c.3.2.4.3.6.5.2.2.3.4.4.6.1.2.2.4.3.7s.1.5.1.8c0 .4-.1.9-.3 1.2-.1.4-.4.8-.8 1.1-.4.4-.9.6-1.5.8-.6.2-1.3.3-2 .3-.6 0-1.2-.1-1.7-.2-.4-.1-.8-.3-1.1-.6-.3-.2-.5-.5-.7-.8-.2-.3-.2-.6-.2-1-.1-.1-.1-.3 0-.5zm1.7 1c.2.3.4.5.7.7.3.2.6.4 1 .5s.8.1 1.2.1c.4 0 .8 0 1.1-.1.3-.1.6-.2.8-.4.2-.2.4-.4.5-.6s.2-.5.2-.8c0-.2 0-.5-.1-.7l-.3-.6c-.2-.1-.4-.3-.6-.5l-.9-.6H5h-.7c-.2 0-.4.1-.6.1-.2.1-.4.1-.5.2H3c-.1 0-.1.1-.2.1s-.2.1-.3.1l-.3.3c-.1 0-.1.1-.2.2s-.1.2-.2.3c-.1.1-.1.2-.2.4s0 .3 0 .4c0 .4.1.6.2.9zm.9-8.2c.1.3.2.7.4 1 .1.2.2.4.3.5s.2.3.4.4c.2.1.3.2.5.3.2.1.3.1.5.1s.5-.1.6-.1c.3-.2.4-.3.6-.5.1-.1.1-.2.2-.3 0-.1.1-.2.1-.4v-.3-.3c0-.4 0-.7-.1-1.1-.1-.3-.2-.7-.4-1-.1-.2-.2-.4-.3-.5-.1-.2-.2-.3-.4-.4C5 .8 4.8.7 4.7.6h-.6c-.2 0-.5.1-.7.2-.1 0-.3.2-.5.4l-.3.6c0 .2-.1.4-.1.6v.1c0 .3.1.7.2 1zm9.4.7v3h1v-3h3V3h-3V0h-1v3H9v1.1h3.1z"></path>
+ </symbol>
+ <symbol id="icon-grid" viewBox="0 0 19 19">
+ <g fill="currentColor">
+ <path d="M0 0h3v3H0zM8 0h3v3H8zM16 0h3v3h-3zM0 8h3v3H0zM8 8h3v3H8zM16 8h3v3h-3zM0 16h3v3H0zM8 16h3v3H8zM16 16h3v3h-3z"></path>
+ </g>
+ </symbol>
+ <symbol id="icon-headphones-large" viewBox="0 0 36 36">
+ <path fill="currentColor"
+ d="M30.8 24.3c-.4-6.7-5.9-12.1-12.8-12.1-6.8 0-12.4 5.3-12.8 12.1-2.8.4-5 2.8-5 5.7 0 2.9 2.1 5.2 4.8 5.7v.3h2V26h.3c0-.3-.1-.7-.1-1 0-6 4.8-10.8 10.8-10.8S28.8 19 28.8 25c0 .3 0 .7-.1 1h.3v10h2v-.3c2.7-.5 4.8-2.8 4.8-5.7 0-2.9-2.2-5.4-5-5.7zM5 33.6c-1.6-.4-2.8-1.9-2.8-3.6 0-1.7 1.2-3.2 2.8-3.6v7.2zm26 0v-7.3c1.6.4 2.8 1.9 2.8 3.6s-1.2 3.3-2.8 3.7z"></path>
+ </symbol>
+ <symbol id="icon-headphones" viewBox="0 0 15.7 14.2">
+ <path fill="currentColor"
+ d="M9.8 11.2c0 1.6.7 3 1.5 3s1.5-1.4 1.5-3v-1c0-1.6-.7-3-1.5-3s-1.5 1.4-1.5 3v1z"></path>
+ <path d="M2.8 11.2c0 1.6.7 3 1.5 3s1.5-1.4 1.5-3v-1c0-1.6-.7-3-1.5-3s-1.5 1.4-1.5 3v1z"></path>
+ <path d="M2 9.2c-.2-1.9.4-3.9 1.6-5.2 1.1-1.3 2.6-2 4.2-2s3.1.7 4.2 1.9c1.2 1.4 1.8 3.4 1.5 5.3-.1.7-.1 1.4-.2 2.4h2c.1-1 .1-1.5.2-2.1.6-4.9-2.9-9.4-7.8-9.5C3 .1-.5 4.6.1 9.5c.1.7.1 1.1.2 2.1h2c-.1-1-.2-1.7-.3-2.4z"></path>
+ </symbol>
+ <symbol id="icon-instagram" viewBox="0 0 14 14">
+ <path fill="currentColor"
+ d="M0 12.4V11 9.6 8.2 7 5.6 4.2 2.8 1.6c0-.4.1-.7.4-1 .2-.3.6-.5 1-.5H4.3C5.2.1 6.1 0 7 0h5.4c.4 0 .8.1 1.1.4s.5.6.5 1V12.5c0 .4-.1.8-.4 1.1s-.6.5-1 .5h-.1H1.6c-.4 0-.7-.1-1-.4-.3-.3-.5-.6-.5-.9v-.1c-.1-.2-.1-.2-.1-.3zm1.7-.1c.1.1.2.2.4.2h9.6c.2 0 .3-.1.4-.2.1-.1.2-.2.2-.4v-1.5-1.5-1.5-1.5-.1h-1.2c.1.4.1.8.1 1.1v.2c0 .4-.1.8-.3 1.3-.2.4-.4.8-.7 1.2-.3.3-.6.6-1 .9-.2.3-.5.5-.9.6-.4.1-.8.2-1.2.2H7c-.4 0-.7 0-1.1-.1-.4-.1-.8-.2-1.1-.4-.4-.2-.7-.5-1-.8-.2-.3-.4-.6-.6-1-.3-.5-.4-1-.5-1.5V7c0-.4 0-.7.1-1.1H1.6V12c-.1.1 0 .2.1.3zm2.8-4.2c.1.3.3.6.6.9.2.2.5.4.9.6s.7.2 1 .2c.4 0 .7-.1 1.1-.2.3-.2.6-.4.8-.6.2-.2.4-.5.6-.9.1-.3.2-.7.2-1.1 0-.4-.1-.7-.2-1.1-.2-.2-.4-.5-.6-.8s-.5-.4-.9-.6c-.3-.1-.6-.2-1-.2s-.7.1-1 .2-.7.4-.9.6-.5.6-.6.9-.2.7-.2 1.1c0 .3.1.7.2 1zm5.3-3.9c.1.1.2.2.4.2h1.6c.2 0 .3-.1.4-.2s.2-.2.2-.4V3v-.8c0-.2-.1-.3-.2-.4-.1-.1-.2-.2-.4-.2h-1.6c-.2 0-.3.1-.4.2s-.1.1-.1.3v1.6c0 .2 0 .3.1.5z"></path>
+ </symbol>
+ <symbol id="icon-laptop-large" viewBox="-461 263 36 36">
+ <path fill="currentColor"
+ d="M-432 274c.5 0 1 .5 1 1v16c0 .5-.5 1-1 1h-22c-.5 0-1-.5-1-1v-16c0-.5.5-1 1-1h22m0-2h-22c-1.6 0-3 1.4-3 3v16c0 1.6 1.4 3 3 3h22c1.6 0 3-1.4 3-3v-16c0-1.6-1.4-3-3-3zM-461 297.5h36v1h-36z"></path>
+ </symbol>
+ <symbol id="icon-laptop" viewBox="0 0 16 16">
+ <path fill="currentColor" d="M0 14h16v2H0zM12 5v6H4V5h8m2-2H2v10h12V3z"></path>
+ </symbol>
+ <symbol id="icon-left-arrow-thick" viewBox="0 0 386 618">
+ <path fill="none" stroke="currentColor" stroke-width="108" d="M347 39L77 309l270 270"></path>
+ </symbol>
+ <symbol id="icon-left-arrow" viewBox="0 0 11.1 20.7">
+ <path fill="none" stroke="currentColor" d="M10.7.4l-10 10 10 10"></path>
+ </symbol>
+ <symbol id="icon-link-off" viewBox="0 0 16 16">
+ <path fill="currentColor"
+ d="M13 13H3V3h2V1H1v14h14v-4h-2v2zM8 1v2h3.6L7.3 7.3l1.4 1.4L13 4.4V8h2V1H8z"></path>
+ </symbol>
+ <symbol id="icon-linkedin" viewBox="0 0 14 13.9">
+ <path fill="currentColor"
+ d="M0 1.7c0-.2 0-.4.1-.6C.2.9.3.7.5.6.7.3.8.2 1 .1c.2-.1.5-.1.7-.1s.5 0 .6.1c.2.1.4.2.6.4.2.2.3.3.4.5.1.2.1.4.1.6 0 .2 0 .5-.1.7-.1.3-.2.4-.4.6-.2.2-.4.3-.6.4s-.4.1-.6.1-.5-.1-.7-.1-.3-.2-.5-.4-.3-.3-.4-.5C0 2.2 0 1.9 0 1.7zm.1 11.9V4.9v-.1s0-.1.1-.1l.1-.1H3s.1 0 .1.1c0 0 0 .1.1.1V13.7s0 .1-.1.1l-.1.1H.4s-.1 0-.1-.1c0 0 0-.1-.1-.1s-.1-.1-.1-.1zm4.6 0V4.9v-.1s0-.1.1-.1l.1-.1h2.7l.1.1v.5c.3-.3.7-.5 1.1-.6.4-.1.9-.2 1.4-.2.6 0 1.1.1 1.5.2.5.1.8.4 1.2.6.3.3.6.6.7 1.1.3.4.4.9.4 1.4V13.6s0 .1-.1.1l-.1.1h-2.7-.1s-.1 0-.1-.1l-.1-.1V8.2c0-.2 0-.5-.1-.6 0-.2-.1-.3-.2-.4-.1-.1-.2-.2-.4-.2-.2-.2-.4-.2-.6-.2-.3 0-.5 0-.8.1-.2.1-.4.3-.5.4-.1.2-.2.4-.2.7s-.1.5-.1.8V13.7s0 .1-.1.1l-.1.1H5h-.1s-.1 0-.1-.1l-.1-.1v-.1z"></path>
+ </symbol>
+ <symbol id="icon-list" viewBox="0 0 16 16">
+ <path fill="currentColor" d="M1 3h14v2H1zM1 7h14v2H1zM1 11h14v2H1z"></path>
+ </symbol>
+ <symbol id="icon-logo-uk" viewBox="0 0 485.4 99.7">
+ <path fill="currentColor"
+ d="M2 72.3c0 5 4 9 9 9h36v-9H11v-9h36c5 0 9-4 9-9v-18c0-5-4-9-9-9H11c-5 0-9 4-9 9v36zm45-18H11v-18h36v18zM169 27.3h-36c-5 0-9 4-9 9v36c0 5 4 9 9 9h36v9h-36v9h36c5 0 9-4 9-9v-54c0-4.9-4.1-9-9-9zm0 45h-36v-36h36v36zM99 27.3H72c-5 0-9 4-9 9v45h9v-45h27c5 0 9 4 9 9v36h9v-36c0-9.9-8.1-18-18-18zM230 72.3h-36v-27c0-5 4-9 9-9h27v45h9v-45c0-5-4-9-9-9h-27c-9.9 0-18 8.1-18 18v27c0 5 4 9 9 9h15.9c7.9 0 15.1-3.4 20.1-9v9M436 .3h-9v81h9v-45h27v-9h-27zM307 72.3c0 5 4 9 9 9h36v9h-36v9h36c5 0 9-4 9-9v-54c0-5-4-9-9-9h-36c-5 0-9 4-9 9v36zm45 0h-36v-36h36v36zM291 27.3h-36c-5 0-9 4-9 9v36c0 5 4 9 9 9h45V.3h-9v27zm0 45h-36v-36h36v36zM367 72.3c0 5 4 9 9 9h36v-9h-36v-9h36c5 0 9-4 9-9v-18c0-5-4-9-9-9h-36c-5 0-9 4-9 9m45 18h-36v-18h36v18z"></path>
+ <g fill="currentColor">
+ <path d="M449.5 75.4V63.3h3.1v11.9c0 3.1 1.3 4 3.8 4s3.8-.9 3.8-4V63.3h2.8v12c0 4.3-2.2 6.3-6.7 6.3s-6.8-2-6.8-6.2zM466.6 63.3h3.1v18h-3.1v-18zm3.7 8.9l5.8-8.9h3.2l-5.9 8.6 6.2 9.4h-3.4l-5.9-9.1z"></path>
+ </g>
+ </symbol>
+ <symbol id="icon-logo" viewBox="0 0 820.7 177">
+ <g fill="currentColor">
+ <path d="M0 129.2C0 138 7.2 145 16 145h64.7v-16h-65v-16H80c8.8 0 16.7-7.3 16.7-16.1v.4-32C96.7 56.4 88.8 48 80 48H16C7.2 48 0 56.4 0 65.2v64zM80.7 97h-65V64h65v33zM296.8 48h-64c-8.8 0-17.1 8.4-17.1 17.3v64-.4c0 8.8 8.3 16.1 17.1 16.1h63.9v16h-65v16h65.1c8.8 0 15.9-6.9 15.9-15.7v-96c0-8.9-7-17.3-15.9-17.3zm-.1 81h-65V64h65v65zM172.4 48h-48c-8.8 0-16.7 8.4-16.7 17.3V145h16V64h48.7c8.8 0 16.3 8.4 16.3 17.3V145h16V81.3c0-17.7-14.6-33.3-32.3-33.3zM404.7 129h-65V81.3c0-8.8 8.7-17.3 17.6-17.3h47.4v81h16V65.3c0-8.8-6.6-17.3-15.4-17.3h-48c-17.7 0-33.6 15.6-33.6 33.3v48c0 8.8 8.7 15.7 17.6 15.7h28.2c14.2 0 29.2-5.9 35.2-15.7V145M771.7 0h-16v145h16V64h49V48h-49zM511.7 48h-62c-8.8 0-18 8.4-18 17.3v64-.4c0 8.8 9.2 16.1 18 16.1h79V0h-17v48zm0 81h-64V64h64v65zM647.7 129.3c0 8.8 9.2 15.7 18.1 15.7h62.9v-16h-65v-16h66.1c8.8 0 14.9-7.3 14.9-16.1v.4-32c0-8.8-6.1-17.3-14.9-17.3h-64c-8.8 0-18.1 8.4-18.1 17.3v64zm81-32.3h-65V64h65v33zM621.3 48h-64c-8.8 0-17.6 8.4-17.6 17.3v64-.4c0 8.8 8.8 16.1 17.6 16.1h63.4v16h-64v16h64.6c8.8 0 15.4-6.9 15.4-15.7v-96c0-8.9-6.6-17.3-15.4-17.3zm-.6 81h-64V64h64v65z"></path>
+ </g>
+ </symbol>
+ <symbol id="icon-mouse-large" viewBox="0 0 36 36">
+ <path fill="currentColor"
+ d="M12 6.1V1c0-.6-.4-1-1-1s-1 .4-1 1v5.1c-5 .5-9 4.7-9 9.9v10c0 5.5 4.5 10 10 10s10-4.5 10-10V16c0-5.2-4-9.4-9-9.9zM19 26c0 4.4-3.6 8-8 8s-8-3.6-8-8V16c0-4.4 3.6-8 8-8s8 3.6 8 8v10z"></path>
+ <circle fill="currentColor" cx="11" cy="15" r="1.8"></circle>
+ </symbol>
+ <symbol id="icon-networking-large" viewBox="0 0 36 36">
+ <path fill="currentColor"
+ d="M7 16c-.6 0-1-.4-1-1V1c0-.6.4-1 1-1s1 .4 1 1v14c0 .6-.4 1-1 1zM21 30c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1s1 .4 1 1v4c0 .6-.4 1-1 1zM25 30c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1s1 .4 1 1v4c0 .6-.4 1-1 1zM29 30c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1s1 .4 1 1v4c0 .6-.4 1-1 1z"></path>
+ <path fill="currentColor"
+ d="M33 20c.5 0 1 .5 1 1v12c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1V21c0-.5.5-1 1-1h30m0-2H3c-1.6 0-3 1.4-3 3v12c0 1.6 1.4 3 3 3h30c1.6 0 3-1.4 3-3V21c0-1.6-1.4-3-3-3z"></path>
+ </symbol>
+ <symbol id="icon-play" viewBox="0 0 100 100">
+ <g fill="currentColor">
+ <path d="M50 3.3c25.7 0 46.7 20.9 46.7 46.7S75.7 96.7 50 96.7 3.3 75.7 3.3 50 24.3 3.3 50 3.3m0-3C22.6.3.3 22.6.3 50S22.6 99.7 50 99.7 99.7 77.4 99.7 50 77.4.3 50 .3z"></path>
+ <path d="M42.1 34.9l25.3 14.4-25.3 14.3V34.9m-.6-3.3c-1.4 0-2.4 1.1-2.4 3.1v29.1c0 2 1 3.1 2.4 3.1.6 0 1.2-.2 1.9-.6l25.7-14.5c2.4-1.4 2.4-3.6 0-4.9L43.4 32.2c-.7-.4-1.3-.6-1.9-.6z"></path>
+ </g>
+ </symbol>
+ <symbol id="icon-reddit" viewBox="0 0 17.1 14.2">
+ <path fill="currentColor"
+ d="M12.2 7.7c0 .1.1.2.1.3 0 .2-.1.5-.2.6-.1.2-.3.3-.5.4-.1 0-.2.1-.3.1-.2 0-.5-.1-.7-.2-.2-.2-.3-.4-.4-.6v-.2c0-.2.1-.4.2-.6.1-.2.3-.3.5-.4 0-.1.1-.1.3-.1.2 0 .4.1.6.2.2.1.3.3.4.5zm-.7 2.8c-.1-.1-.2-.1-.3-.1-.1 0-.2 0-.3.1-.8.4-1.6.7-2.5.7-.7 0-1.3-.1-1.9-.4-.1 0-.2-.1-.3-.2-.1 0-.1-.1-.2-.1h-.4c-.1 0-.2.1-.2.2-.1.1-.1.2-.1.3 0 .1 0 .2.1.3 0 .1.1.1.2.2.9.6 1.9.8 2.9.8.9 0 1.8-.2 2.6-.6.1-.1.2-.1.4-.2.1 0 .1-.1.2-.2s.1-.1.1-.2V11v-.2c-.1-.2-.2-.3-.3-.3zm-6-1.4s.1 0 0 0c.1 0 .2.1.3.1.3 0 .5-.1.7-.3.3-.2.5-.5.5-.8 0-.3-.1-.6-.3-.7-.3-.3-.5-.4-.8-.4h-.2c-.4.1-.7.4-.8.8v.3c0 .2.1.5.2.6 0 .2.2.3.4.4zm11.6-2.7v.1c0 .4-.1.8-.4 1.2-.2.3-.5.6-.8.8V9c0 .9-.3 1.8-.8 2.5-1 1.3-2.5 2.1-4 2.5-.8.2-1.7.3-2.5.3-1.3 0-2.5-.2-3.7-.7-1.2-.5-2.4-1.3-3.1-2.5-.4-.7-.7-1.4-.7-2.1v-.5C.9 8.3.6 8 .4 7.7.2 7.4 0 7 0 6.6c0-.6.2-1.1.6-1.5.4-.4.9-.7 1.5-.7h.2c.3 0 .6 0 .8.1.3.2.5.3.7.5.1 0 .1-.1.2-.1 1.2-.7 2.7-1 4.1-1.1 0-.7.1-1.4.4-2 .3-.5.8-.9 1.3-1.1.2 0 .4-.1.7-.1.6 0 1.2.1 1.7.4.2-.4.6-.6 1-.8.3-.2.5-.2.8-.2.3 0 .5 0 .8.2.4.1.7.4.9.7.2.3.3.7.3 1.1v.2c0 .5-.3 1-.7 1.3-.3.3-.8.5-1.3.5h-.2c-.5 0-.9-.3-1.3-.6-.3-.4-.6-.9-.6-1.4v-.1c-.5-.2-.9-.4-1.4-.4h-.2c-.4 0-.7.3-.9.6-.2.5-.3 1-.3 1.6 1.4.1 2.8.4 4 1.1 0 0 .1 0 .1.1.1-.1.2-.1.3-.2.4-.2.8-.4 1.2-.4.2 0 .4 0 .6.1.4.1.8.4 1.1.7.4.4.6.9.7 1.3zM13 1.9c0 .1 0 .1 0 0 0 .3.1.5.3.7.2.2.4.3.6.3.2 0 .5-.1.6-.3.2-.2.3-.4.3-.6v-.1c0-.2-.1-.5-.3-.7 0-.1-.3-.2-.5-.2h-.2c-.2.1-.4.2-.5.3-.2.2-.3.4-.3.6zM2.9 5.6c-.2-.1-.4-.1-.6-.1h-.1c-.3 0-.5.1-.7.3-.2.2-.4.4-.4.7v.1c0 .2.1.3.1.5l.3.3c.3-.7.8-1.3 1.4-1.8zM14.8 9c0-.6-.2-1.2-.6-1.7-.7-1-1.8-1.6-3-2-.2-.1-.4-.1-.7-.2-.6-.2-1.3-.3-2-.3-.9 0-1.8.2-2.7.5-1.2.4-2.3 1-3 2-.4.5-.6 1.1-.6 1.7 0 .2 0 .5.1.7.1.5.4.9.7 1.3.3.4.7.7 1.2 1 .1.1.2.1.3.2 1.2.7 2.7 1 4.1 1h.7c1.4-.1 2.8-.5 4-1.4.4-.3.7-.6 1-1 .3-.4.5-.8.6-1.2-.1-.3-.1-.4-.1-.6zM16 6.5c0-.1 0-.3-.1-.4-.1-.2-.3-.4-.4-.5-.2-.1-.4-.2-.6-.2-.2 0-.4 0-.6.1.6.5 1.1 1.1 1.4 1.8L16 7c-.1-.1 0-.3 0-.5zm0 0"
+ opacity=".9"></path>
+ </symbol>
+ <symbol id="icon-right-arrow-thick" viewBox="0 0 386 618">
+ <path fill="none" stroke="currentColor" stroke-width="108" d="M39 579l270-270L39 39"></path>
+ </symbol>
+ <symbol id="icon-right-arrow" viewBox="0 0 11.1 20.7">
+ <path fill="none" stroke="currentColor" d="M.4 20.4l10-10L.4.4"></path>
+ </symbol>
+ <symbol id="icon-save" viewBox="0 0 16 16">
+ <g fill="currentColor">
+ <path d="M6 1h4v7H6zM4 8h8v1H4z"></path>
+ <path d="M3 7h10v1H3zM5 9h6v1H5zM6 10h4v1H6zM7 11h2v1H7zM3 13h10v2H3z"></path>
+ </g>
+ </symbol>
+ <symbol id="icon-search" viewBox="0 0 20 20">
+ <path fill="currentColor"
+ d="M19.7 18.3l-4.1-4.1c1.4-1.5 2.2-3.5 2.2-5.7 0-4.6-3.7-8.3-8.3-8.3-4.6 0-8.3 3.7-8.3 8.3 0 4.6 3.7 8.3 8.3 8.3 1.7 0 3.2-.5 4.5-1.4l4.3 4.3 1.4-1.4zM3.2 8.5C3.2 5 6 2.2 9.5 2.2s6.3 2.8 6.3 6.3-2.8 6.3-6.3 6.3S3.2 12 3.2 8.5z"></path>
+ </symbol>
+ <symbol id="icon-share" viewBox="0 0 16 16">
+ <path d="M10 1v3H6C3.8 4 2 5.8 2 8v7l3.1-3.1c.3.1.6.1.9.1V8h4v3l5-5-5-5z" fill="currentColor"></path>
+ </symbol>
+ <symbol id="icon-slideshow" viewBox="0 0 64 64">
+ <path fill="currentColor"
+ d="M20.5 43.5h15v-15h-15v15zm8-23v2h13v13h2v-15h-15zm-4 6h13v13h2v-15h-15v2z"></path>
+ </symbol>
+ <symbol id="icon-smartphone-large" viewBox="0 0 36 36">
+ <path fill="currentColor"
+ d="M24 6c.5 0 1 .5 1 1v26c0 .5-.5 1-1 1H12c-.5 0-1-.5-1-1V7c0-.5.5-1 1-1h12m0-2H12c-1.6 0-3 1.4-3 3v26c0 1.6 1.4 3 3 3h12c1.6 0 3-1.4 3-3V7c0-1.6-1.4-3-3-3z"></path>
+ <path fill="currentColor" d="M17 30h2v2h-2z"></path>
+ </symbol>
+ <symbol id="icon-smartphone" viewBox="0 0 16 16">
+ <g fill="currentColor">
+ <path d="M11 3v11H5V3h6m0-2H5c-1.1 0-2 .9-2 2v11c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V3c0-1.1-.9-2-2-2z"></path>
+ <path d="M7 11h2v2H7z"></path>
+ </g>
+ </symbol>
+ <symbol id="icon-storage-large" viewBox="0 0 36 36">
+ <path fill="currentColor"
+ d="M18 9h-1V0H3v9H0v24c0 1.6 1.4 3 3 3h14c1.7 0 3-1.4 3-3V9h-2zM5 2h4v4c0 .6.4 1 1 1s1-.4 1-1V2h4v7H5V2zm13 15v16c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1V11h16v6z"></path>
+ </symbol>
+ <symbol id="icon-tablet" viewBox="0 0 16 16">
+ <path fill="currentColor"
+ d="M12 2v12H4V2h8m0-2H4C2.9 0 2 .9 2 2v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2z"></path>
+ <path fill="currentColor" d="M7 10h2v2H7z"></path>
+ </symbol>
+ <symbol id="icon-text-file" viewBox="0 0 55 68"><title>text file</title>
+ <g fill="#FFF" fill-rule="evenodd">
+ <path d="M54.088 20.127c-.572-1.412-1.258-2.53-2.06-3.354L38.635 3.001c-.802-.823-1.889-1.53-3.262-2.119C33.999.294 32.74 0 31.596 0H4.12C2.976 0 2.003.412 1.2 1.236.402 2.059 0 3.06 0 4.237v59.324c0 1.177.4 2.178 1.202 3.002.801.823 1.774 1.235 2.919 1.235h46.705c1.145 0 2.117-.412 2.918-1.235.801-.825 1.202-1.825 1.202-3.002V24.01c0-1.176-.285-2.471-.858-3.884zM32.968 6.003c.83.294 1.417.618 1.76.97L48.165 20.79c.343.353.658.956.944 1.81h-16.14V6.002zm16.484 56.146H5.494v-56.5h21.98v18.363c0 1.177.4 2.178 1.2 3.002.802.823 1.775 1.235 2.92 1.235h17.858v33.9z"></path>
+ <path d="M42.75 44.993H12.528c-.4 0-.73.132-.987.396-.257.265-.386.603-.386 1.015v2.825c0 .413.128.751.386 1.016.258.264.587.397.987.397H42.75c.4 0 .73-.133.987-.397.257-.265.385-.603.385-1.016v-2.825c0-.412-.128-.75-.385-1.015-.258-.264-.587-.396-.987-.396zM11.54 34.713c-.256.264-.385.603-.385 1.016v2.824c0 .413.128.751.386 1.016.258.264.587.396.987.396H42.75c.4 0 .73-.132.987-.396.257-.265.385-.603.385-1.016V35.73c0-.412-.128-.75-.385-1.016-.258-.264-.587-.397-.987-.397H12.528c-.4 0-.73.133-.987.397z"></path>
+ </g>
+ </symbol>
+ <symbol id="icon-tumblr" viewBox="0 0 8.6 14">
+ <path fill="currentColor"
+ d="M0 5.9v-2c.3-.1.5-.2.8-.3s.4-.3.6-.5c.2-.2.4-.4.5-.6s.3-.4.4-.7.3-.5.4-.8.1-.6.2-1h2v3.5h3.3v2.4H4.8v4.3c0 .2.1.4.1.5s.1.2.2.3c.1.1.2.2.3.2.2.1.3.2.5.2s.4.1.6.1c.4 0 .7-.1 1.1-.2.4-.1.7-.3 1-.4v2.2c-.3.1-.6.3-.8.4-.3.1-.5.2-.8.2-.2.1-.5.1-.8.1h-.8c-.3 0-.6 0-.9-.1-.3 0-.5-.1-.8-.2s-.4.1-.7 0c-.2-.1-.4-.2-.6-.4-.2-.1-.3-.3-.4-.4-.1-.2-.2-.3-.3-.5-.1-.2-.1-.4-.1-.6V5.9H0z"></path>
+ </symbol>
+ <symbol id="icon-tv-large" viewBox="0 0 36 36">
+ <path fill="currentColor"
+ d="M23 36H13c-.6 0-1-.4-1-1s.4-1 1-1h10c.6 0 1 .4 1 1s-.4 1-1 1zM33 9c.5 0 1 .5 1 1v18c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1V10c0-.5.5-1 1-1h30m0-2H3c-1.6 0-3 1.4-3 3v18c0 1.6 1.4 3 3 3h30c1.6 0 3-1.4 3-3V10c0-1.6-1.4-3-3-3z"></path>
+ </symbol>
+ <symbol id="icon-twitter" viewBox="0 0 16 13">
+ <path fill="currentColor"
+ d="M0 11.5h.8c.8 0 1.5-.1 2.2-.4s1.3-.6 1.9-1c-.7 0-1.4-.2-1.9-.7-.6-.3-1-.9-1.2-1.5h1c.1 0 .3 0 .4-.1-.7-.1-1.3-.5-1.8-1.1C.9 6.1.6 5.4.6 4.6c.2.1.5.2.7.3.3 0 .6.1.8.1-.4-.3-.8-.7-1-1.2-.3-.5-.4-1-.4-1.6 0-.3 0-.6.1-.9s.2-.5.3-.7c.4.5.9.9 1.4 1.4s1 .8 1.6 1.1 1.2.5 1.8.7c.6.1 1.3.2 2 .2 0-.1 0-.2-.1-.4s0-.3 0-.4c0-.4.1-.9.3-1.3.2-.4.4-.8.7-1s.6-.5 1-.7.8-.2 1.3-.2.9.1 1.3.3.8.4 1.1.8c.4-.1.7-.2 1.1-.3.3-.1.7-.3 1-.5-.1.4-.3.7-.6 1s-.5.6-.9.8c.3 0 .7-.1 1-.2l.9-.3c-.2.3-.5.6-.7.9-.3.2-.6.5-.9.7v.4c0 1.1-.2 2.2-.6 3.3s-1 2.1-1.8 3c-.8.9-1.8 1.6-2.9 2.2-1.2.6-2.6.9-4.1.9-.5 0-.9 0-1.4-.1-.4-.1-.9-.2-1.3-.3s-.8-.3-1.2-.5-.7-.3-1.1-.6z"></path>
+ </symbol>
+ <symbol id="icon-up-arrow" viewBox="0 0 20.7 11.1">
+ <path fill="none" stroke="currentColor" d="M20.4 10.7l-10-10-10 10"></path>
+ </symbol>
+ <symbol id="icon-up-caret" viewBox="0 0 960 560">
+ <path fill="currentColor"
+ d="M480 0l449.578 449.578L819.154 560 480 220.845 140.845 560 30.423 449.578z"></path>
+ </symbol>
+ <symbol id="icon-video" viewBox="0 0 65 65">
+ <path fill="currentColor"
+ d="M41.3 38c0 1.1-.9 2-2 2h-13c-1.1 0-2-.9-2-2V27c0-1.1.9-2 2-2h13c1.1 0 2 .9 2 2v11zM48.3 36c0 1.1-.7 1.4-1.6.8l-3.9-3c-.9-.7-.9-1.8 0-2.5l3.9-3c.9-.7 1.6-.3 1.6.8V36z"></path>
+ </symbol>
+ <symbol id="icon-vr" viewBox="0 0 49.41 29.65"><title>vr</title>
+ <path d="M45.35 0H4.07A4.07 4.07 0 0 0 0 4.07v21.51a4.07 4.07 0 0 0 4.07 4.07h13.82l5.41-9.36a1.74 1.74 0 0 1 3 0l5.41 9.36h13.64a4.07 4.07 0 0 0 4.07-4.07V4.07A4.07 4.07 0 0 0 45.35 0zm2.91 25.58a2.91 2.91 0 0 1-2.91 2.91H32.4l-5.07-8.78a2.91 2.91 0 0 0-5 0l-5.07 8.78H4.07a2.91 2.91 0 0 1-2.91-2.91V4.07a2.91 2.91 0 0 1 2.91-2.91h41.28a2.91 2.91 0 0 1 2.91 2.91z"></path>
+ <path data-name="Shape"
+ d="M14.24 10.46a6.1 6.1 0 1 0 6.1 6.1 6.11 6.11 0 0 0-6.1-6.1zm0 11a4.94 4.94 0 1 1 4.94-4.94 4.95 4.95 0 0 1-4.94 4.99zM35.49 10.46a6.1 6.1 0 1 0 6.1 6.1 6.11 6.11 0 0 0-6.1-6.1zm0 11a4.94 4.94 0 1 1 4.94-4.94 4.95 4.95 0 0 1-4.94 4.99z"></path>
+ </symbol>
+ <symbol id="icon-watch" viewBox="0 0 16 16">
+ <path fill="none"
+ d="M8.998 2H7c-.245.009-.841.357-1.004.682-.039.105-.065.213-.101.318h4.211c-.036-.105-.063-.213-.102-.318-.163-.324-.758-.673-1.006-.682zM5.353 11h5.295a15.338 15.338 0 0 0 0-6H5.353a15.3 15.3 0 0 0 0 6zM5.996 13.318c.163.325.759.673 1.006.682H9c.245-.009.841-.357 1.004-.682.039-.105.065-.212.102-.318H5.895c.036.105.062.213.101.318z"></path>
+ <path fill="#2C2E33"
+ d="M5.353 5h5.295a15.484 15.484 0 0 0-.542-2H5.895a15.168 15.168 0 0 0-.542 2zM12.305 3.313c.86 3.065.86 6.309 0 9.374A3 3 0 0 0 14 10V6a3 3 0 0 0-1.695-2.687zM5.895 13h4.211c.227-.657.407-1.325.542-2H5.353c.134.675.315 1.343.542 2zM3.695 3.313A3 3 0 0 0 2 6v4a3 3 0 0 0 1.695 2.687 17.352 17.352 0 0 1 0-9.374z"></path>
+ <path fill="#2C2E33"
+ d="M10.105 13c-.036.105-.063.213-.102.318-.162.325-.758.673-1.003.682H7.002c-.247-.009-.843-.357-1.006-.682-.039-.105-.065-.213-.101-.318H5a2.96 2.96 0 0 1-1.305-.313c.131.468.279.933.45 1.391C4.607 15.157 5.971 16 7 16h2c1.029 0 2.393-.843 2.855-1.922.171-.458.319-.923.45-1.391A2.96 2.96 0 0 1 11 13h-.895zM5.895 3c.036-.105.063-.213.102-.318C6.159 2.357 6.755 2.009 7 2h1.998c.247.009.842.358 1.006.682.039.105.065.213.101.318H11c.469 0 .908.119 1.305.313a17.327 17.327 0 0 0-.45-1.391C11.393.843 10.029 0 9 0H7C5.971 0 4.607.843 4.145 1.922c-.171.458-.319.923-.45 1.391A2.96 2.96 0 0 1 5 3h.895z"></path>
+ <path fill="#2C2E33"
+ d="M5.895 13a15.324 15.324 0 0 1-.542-2H5c-.542 0-1-.458-1-1V6c0-.542.458-1 1-1h.353c.135-.675.316-1.343.542-2H5a2.96 2.96 0 0 0-1.305.313 17.352 17.352 0 0 0 0 9.374A2.96 2.96 0 0 0 5 13h.895zM12.305 3.313A2.96 2.96 0 0 0 11 3h-.895c.227.657.407 1.325.542 2H11c.542 0 1 .458 1 1v4c0 .542-.458 1-1 1h-.353a15.484 15.484 0 0 1-.542 2H11a2.96 2.96 0 0 0 1.305-.313c.86-3.065.86-6.309 0-9.374z"></path>
+ </symbol>
+ <symbol id="icon-youtube" viewBox="0 0 13.2 16">
+ <path fill="currentColor"
+ d="M0 11.4V9.8c0-.5.1-1.1.2-1.6.1-.3.3-.6.5-.9.3-.1.6-.3 1-.3.8-.1 1.6-.1 2.5-.2s1.7 0 2.5 0h2.5c.8 0 1.6.1 2.5.2.4 0 .7.2.9.4.3.2.4.5.5.9.1.5.2 1 .2 1.6v3.2c0 .5-.1 1.1-.2 1.6-.1.4-.3.6-.5.9s-.6.4-.9.4c-.9-.1-1.8 0-2.6 0h-5c-.9 0-1.7-.1-2.5-.2-.4 0-.7-.2-.9-.4s-.4-.5-.5-.9c-.1-.5-.1-1-.2-1.5v-1.6zm1-2.3h1v5.1h.8V9.1h1v-.8H1v.8zM2.1 0c.1.2.2.5.3.8l.3.9c.2.4.3.8.3 1.1s.1.6.2.8v2.5H4V3.6L5.2 0h-.9l-.6 2.4L3.1 0h-1zm1.8 13.3v.7c0 .1.1.2.2.2.1.1.2.1.3.1.1 0 .3 0 .4-.1.2-.1.4-.2.5-.4v.5h.8V9.8h-.8v3.5c-.1.1-.2.2-.2.3s-.2.1-.2.1h-.1s0-.1-.1-.1v-.1-3.7h-.8v3.5zm1.4-8.8V3v-.6c0-.2.1-.3.2-.4.1-.1.2-.3.4-.3s.3-.1.5-.1.4 0 .5.1.3.2.4.3c.2 0 .2.2.2.4V5.2c0 .2-.1.3-.2.4-.1.1-.2.3-.3.3s-.4.1-.6.1c-.2 0-.3 0-.5-.1s-.2-.2-.4-.3c0-.1-.1-.3-.1-.4 0-.2-.1-.4-.1-.7zm.7.2c0 .2 0 .4.1.5.1.1.2.2.3.2.1 0 .2-.1.3-.2.1-.1.1-.3.1-.5V2.8c0-.2 0-.4-.1-.5-.1 0-.2-.1-.3-.1-.1 0-.2.1-.3.1-.1.2-.1.3-.1.5v1.9zm.9 9.5h.6v-.4c.2.2.4.3.5.4.1.1.3.1.4.1.2 0 .3 0 .4-.1.2-.1.3-.2.3-.4 0-.1.1-.2.1-.4v-2.3-.5-.4l-.3-.3c-.2-.1-.3-.1-.4-.1-.1 0-.3 0-.4.1s-.3.2-.5.4v-2h-.7v5.9zm.7-.8v-2.7c.1-.1.2-.1.2-.1H8c.1 0 .2.1.3.1.1.1.1.3.1.5V13c0 .2 0 .3-.1.4-.1.1-.2.1-.3.1h-.2c-.1 0-.1 0-.2-.1zM8.2 5v.4c0 .1.1.2.1.3 0 .1.1.2.2.2.2.1.3.1.4.1.1 0 .3 0 .5-.1s.3-.2.5-.4v.6h.8V1.6h-.9v3.3c-.1.2-.1.3-.2.3s-.2.1-.3.1h-.1v-.1-.1-3.5h-1V5zm1.6 7.8c0 .2 0 .4.1.6s.1.3.2.4c.1.1.3.3.4.3s.4.1.6.1c.2 0 .4 0 .6-.1s.3-.2.4-.4c.1-.1.1-.1.1-.2s0-.2.1-.2v-.2-.3h-.8v.5c0 .1-.1.2-.1.2s-.1.1-.2.1-.2-.1-.3-.2c-.1-.1-.1-.3-.1-.5v-.8h1.6v-.9-.6c0-.2-.1-.3-.2-.4-.1-.2-.2-.3-.4-.3-.2-.1-.3-.1-.5-.1s-.4 0-.5.1c-.2.1-.3.2-.4.3-.1.1-.2.3-.2.4s-.1.4-.1.6v1.6zm.8-1.3h.8v-.4c0-.2 0-.3-.1-.5-.1-.1-.2-.2-.3-.2-.1 0-.2.1-.3.2-.1.1-.1.3-.1.5v.4z"></path>
+ </symbol>
+ </svg>
+</div>
+<div data-engadget-article-tacprop=""></div>
+<div id="KVTAGS"
+ data-engadget-relegence-string="kvsubj=982665:978826:979377:983462:978896:979432:980877:981907:983875:6325647:6371511:978794:980487:978782:978792:6398737:4942091;kvent=4013672:4136474:5105352:6253390:3688889:3693453:6144751:3692222:3631643:4260427:6225669:2833872:6392821:3572520:3173032:3576651:3625909:3696831:3841115:3853545:4050903:4162145:4208574:5417195:6444455:6451115"
+ data-engadget-post-id="23265143"></div>
+<script src="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/js/modernizr.min.js?h=03f6ba65ad449c5defaf101e042f262e"></script>
+<script src="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/js/main.js?h=4574b6330320aa0b896b2fab228e3db0"></script>
+<script src="https://code.jquery.com/jquery-migrate-3.0.1.min.js"></script>
+<script type="text/javascript">
+ window._taboola = window._taboola || [];
+ _taboola.push({
+ flush: true
+ });
+</script>
+<!-- Google Analytics -->
+<script>
+ (function (i, s, o, g, r, a, m) {
+ i['GoogleAnalyticsObject'] = r;
+ i[r] = i[r] || function () {
+ (i[r].q = i[r].q || []).push(arguments)
+ }, i[r].l = 1 * new Date();
+ a = s.createElement(o),
+ m = s.getElementsByTagName(o)[0];
+ a.async = 1;
+ a.src = g;
+ m.parentNode.insertBefore(a, m)
+ })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
+ ga('create', 'UA-818999-11', 'auto');
+ ga('require', 'displayfeatures');
+ ga('send', 'pageview');
+</script>
+<script type="text/javascript" src="//s.swiftypecdn.com/cc/vKhrkVp6Cfwro_h8kpyC.js"></script>
+<!-- START Parse.ly Include: Standard -->
+<div id="parsely-root" style="display: none"><span id="parsely-cfg" data-parsely-site="engadget.com"></span></div>
+<script>
+ (function (s, p, d) {
+ var h = d.location.protocol,
+ i = p + "-" + s,
+ e = d.getElementById(i),
+ r = d.getElementById(p + "-root"),
+ u = h === "https:" ? "d1z2jf7jlzjs58.cloudfront.net" : "static." + p + ".com";
+ if (e) return;
+ e = d.createElement(s);
+ e.id = i;
+ e.async = true;
+ e.src = h + "//" + u + "/p.js";
+ r.appendChild(e);
+ })("script", "parsely", document);
+</script>
+<!-- END Parse.ly Include: Standard -->
+<!-- SpotIM -->
+<script type="text/x-spotim-options">
+ SPOTIM_OPTIONS = { frameStyleBlock: '@font-face{font-family:GuardianTextSans-Regular;src:url(https://o.aolcdn.com/engadget/fonts/Guardian-Text-Sans-Web-Regular.eot);src:url(https://o.aolcdn.com/engadget/fonts/Guardian-Text-Sans-Web-Regular.eot?#iefix) format("embedded-opentype"),url(https://o.aolcdn.com/engadget/fonts/Guardian-Text-Sans-Web-Regular.woff2) format("woff2"),url(https://o.aolcdn.com/engadget/fonts/Guardian-Text-Sans-Web-Regular.woff) format("woff"),url(https://o.aolcdn.com/engadget/fonts/Guardian-Text-Sans-Web-Regular.ttf) format("truetype"),url(https://o.aolcdn.com/engadget/fonts/Guardian-Text-Sans-Web-Regular.svg#Guardian-Text-Sans-Web-Regular) format("svg");font-weight:400;font-style:normal;font-stretch:normal}@font-face{font-family:GuardianTextEgyp-Regular;src:url(https://o.aolcdn.com/engadget/fonts/Guardian-Text-Egyptian-LF-Web-Regular.eot);src:url(https://o.aolcdn.com/engadget/fonts/Guardian-Text-Egyptian-LF-Web-Regular.eot?#iefix) format("embedded-opentype"),url(https://o.aolcdn.com/engadget/fonts/Guardian-Text-Egyptian-LF-Web-Regular.woff2) format("woff2"),url(https://o.aolcdn.com/engadget/fonts/Guardian-Text-Egyptian-LF-Web-Regular.woff) format("woff"),url(https://o.aolcdn.com/engadget/fonts/Guardian-Text-Egyptian-LF-Web-Regular.ttf) format("truetype"),url(https://o.aolcdn.com/engadget/fonts/Guardian-Text-Egyptian-LF-Web-Regular.svg#Guardian-Text-Egyptian-LF-Web-Regular) format("svg");font-weight:400;font-style:normal;font-stretch:normal}[data-spot-im-class=conversation-root]{font-family:GuardianTextSans-Regular;font-size:15px;color:#373E44;line-height:22px;padding:7px 0;-webkit-font-smoothing:auto!important}[data-spot-im-class=message-text]{font-family:GuardianTextEgyp-Regular;font-size:15px;color:#373E44;line-height:22px}[data-spot-im-class=current-user-menu] [data-spot-im-class=handler],[data-spot-im-class=sort-menu]{font-size:15px}[data-spot-im-class=top-strip]{margin-top:20px}[data-spot-im-class=message-username]{font-family:GuardianTextSans-Regular;font-size:15px!important;color:#373E44;font-weight:700}[data-spot-im-class=message-timestamp]{font-family:GuardianTextSans-Regular;font-size:15px;color:#7B7F83}[data-spot-im-class=faces-list]{display:none}[data-spot-im-class=message-reply],[data-spot-im-class=message-share]{font-family:GuardianTextSans-Regular;font-size:13px;color:#7B7F83}[data-spot-im-class=conversation-header]{padding-top:0;padding-bottom:15px}[data-spot-im-class=rich-editor]{background-color:#fff!important;-webkit-border-radius:0!important;border-radius:0!important;border:none!important}[data-spot-im-class=rich-editor-input]{box-sizing:border-box;-webkit-box-shadow:none!important;box-shadow:none!important;border-radius:2px!important;margin-bottom:15px;border:1px solid #d5d5d6}[data-spot-im-class=rich-editor-panel]{padding:0;border:1px solid #d5d5d6;box-sizing:border-box;border-radius:2px;height:55px}[data-spot-im-class=rich-editor-upload-image-button]{display:none;pointer-events:none}[data-spot-im-class=rich-editor-panel-actions] [data-spot-im-class=rich-editor-send-button][disabled],[data-spot-im-class=conversation-root] [data-spot-im-class=load-more-messages]:hover{background-color:#F4F4F5!important;color:#ABABAD}[data-spot-im-class=rich-editor-send-button]{font-family:GuardianTextSans-Regular;display:block;color:#FFF;font-weight:400;margin:0!important;padding:0;width:100%;height:53px;border-radius:2px;line-height:53px;box-sizing:border-box;font-size:15px}[data-spot-im-class=rich-editor-panel-actions]{width:100%;line-height:53px;margin:auto 0;text-align:center;background-color:#2C2E33;height:53px;border-radius:2px}[data-spot-im-class=load-more-messages]{font-family:GuardianTextSans-Regular;font-size:15px;font-weight:400;color:#ababad;margin-top:40px;border-radius:2px;border:1px solid #d5d5d6;height:55px;line-height:55px;background-color:#fff!important}[data-spot-im-class=current-user-menu],[data-spot-im-class=conversation-footer],[data-spot-im-class=moderator],[data-spot-im-class=sort-menu]{font-family:GuardianTextSans-Regular}[data-spot-im-class=header-text]{display:none!important}', loginUponSayControlFocus: true };
+</script>
+<script type="text/javascript" src="//www.spot.im/embed/modules/launcher/bundle.js?module=messages-count"
+ data-spot-id="sp_f76RE06N"></script>
+<script src="https://recirculation.spot.im/spot/sp_f76RE06N" data-spotim-script="recirculation"></script>
+<script type="text/javascript">
+ !function (t, e, n) {
+ function a(t) {
+ var a = e.createElement("script");
+ a.type = "text/javascript", a.async = !1, a.src = ("https:" === e.location.protocol ? "https" : "http") + ":" + n, (t || e.body || e.head).appendChild(a)
+ }
+
+ function o() {
+ var t = e.getElementsByTagName("script"),
+ n = t[t.length - 1];
+ return n.parentNode
+ }
+
+ var p = o();
+ t.spotId = "sp_f76RE06N", t.parentElement = p, a(p)
+ }(window.SPOTIM = {
+ options: {
+ newsfeed: false
+ }
+ }, document, "//www.spot.im/launcher/bundle.js");
+</script>
+<script src="https://s.blogsmithmedia.com/www.engadget.com/assets-h159e8c9b49d08fd74b1f658dac6e12df/js/spotim-sso-logout.js?h=7fd2f92b87989e342650792a630c8d5a"></script>
+<!-- END SpotIM -->
+<script type="text/javascript" src="//s.skimresources.com/js/72705X1521812.skimlinks.js"></script>
+<script async="" src="//plugin.mediavoice.com/mediaconductor/mc.js"></script>
+<script>
+ window.mediaconductor = window.mediaconductor || function () {
+ (mediaconductor.q = mediaconductor.q || []).push(arguments);
+ }
+ mediaconductor("init", "c4e4233e71b04b459b7b0524ca99125f");
+ mediaconductor("exec");
+</script>
+</body>
+
+</html> \ No newline at end of file
diff --git a/test/test-pages/fortressofsolitude/config.json b/test/test-pages/fortressofsolitude/config.json
new file mode 100644
index 0000000..0ac6816
--- /dev/null
+++ b/test/test-pages/fortressofsolitude/config.json
@@ -0,0 +1,3 @@
+{
+ "ArticleByLine": true
+} \ No newline at end of file
diff --git a/test/test-pages/fortressofsolitude/expected-images.json b/test/test-pages/fortressofsolitude/expected-images.json
new file mode 100644
index 0000000..0c48410
--- /dev/null
+++ b/test/test-pages/fortressofsolitude/expected-images.json
@@ -0,0 +1 @@
+["http:\/\/www.fortressofsolitude.co.za\/wp-content\/uploads\/2018\/05\/C\u00e9line-Dion-Belches-Her-Way-Onto-Deadpool-2s-Soundtrack-750x400.jpg"] \ No newline at end of file
diff --git a/test/test-pages/fortressofsolitude/expected-metadata.json b/test/test-pages/fortressofsolitude/expected-metadata.json
new file mode 100644
index 0000000..2efe2a7
--- /dev/null
+++ b/test/test-pages/fortressofsolitude/expected-metadata.json
@@ -0,0 +1,5 @@
+{
+ "Title": "Céline Dion Belches Her Way Onto Deadpool 2's Soundtrack",
+ "Author": "Written by Edward Wallace",
+ "Excerpt": "Just when you think the marketing behind the film couldn't get any more amazing, they go and release a music video from the Deadpool 2 soundtrack starring Canadian singer Céline Dion."
+}
diff --git a/test/test-pages/fortressofsolitude/expected.html b/test/test-pages/fortressofsolitude/expected.html
new file mode 100644
index 0000000..5dc6791
--- /dev/null
+++ b/test/test-pages/fortressofsolitude/expected.html
@@ -0,0 +1 @@
+<div id="primary"><div id="content" role="main"> <article id="post-116764"><p><span> <a href="http://www.fortressofsolitude.co.za/celine-dion-deadpool-2-soundtrack-ashes/" title="Céline Dion Belches Her Way Onto Deadpool 2's Soundtrack"><img alt="Céline Dion Belches Her Way Onto Deadpool 2's Soundtrack" height="400" sizes="(max-width: 750px) 100vw, 750px" src="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Céline-Dion-Belches-Her-Way-Onto-Deadpool-2s-Soundtrack-750x400.jpg" srcset="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Céline-Dion-Belches-Her-Way-Onto-Deadpool-2s-Soundtrack-750x400.jpg 750w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Céline-Dion-Belches-Her-Way-Onto-Deadpool-2s-Soundtrack-24x14.jpg 24w" width="750"></img></a> </span></p><header></header><div><hr></hr><div><div><p><span>R</span>yan Reynolds never stops surprising fans with his <a href="http://www.fortressofsolitude.co.za/new-deadpool-2-trailer/">Deadpool</a>, a.k.a. the Merc with the Mouth, persona. Just when you think the marketing behind the film couldn’t get any more amazing, they go and release a music video from the <strong><em>Deadpool 2</em></strong> soundtrack starring Canadian singer Céline Dion. Yes, the one who sang the <em>Titanic</em> theme song. Your eyes do not deceive you.</p><center><blockquote data-lang="en"><p dir="ltr" lang="tl">Showtime, Mama. <a href="https://twitter.com/hashtag/EffortMaximal?src=hash&amp;ref_src=twsrc%5Etfw" rel="nofollow" target="_blank">#EffortMaximal</a> <a href="https://twitter.com/hashtag/Deadpool2?src=hash&amp;ref_src=twsrc%5Etfw" rel="nofollow" target="_blank">#Deadpool2</a> <a href="https://t.co/ZKLrucXJO4" rel="nofollow" target="_blank">pic.twitter.com/ZKLrucXJO4</a></p><p>— Ryan Reynolds (@VancityReynolds) <a href="https://twitter.com/VancityReynolds/status/992018849225695242?ref_src=twsrc%5Etfw" rel="nofollow" target="_blank">May 3, 2018</a></p></blockquote></center><p>“What’s left to say? These prayers ain’t working anymore. Every word shot down in flames. What’s left to do with these broken pieces on the floor? I’m losing my voice calling on you,” Dion croons in the video for “Ashes”. Near the end of it, the filthy, foul-mouthed <a href="http://www.fortressofsolitude.co.za/hilarious-deadpool-2-teaser-bob-ross/">Deadpool</a> shows up in a surprising twist mentioning that he should have gotten N’sync instead.</p><h3><strong><em>Deadpool 2</em></strong> opens in theatres on May 18.</h3></div></div></div><hr></hr></article></div></div> \ No newline at end of file
diff --git a/test/test-pages/fortressofsolitude/source.html b/test/test-pages/fortressofsolitude/source.html
new file mode 100644
index 0000000..af8f61a
--- /dev/null
+++ b/test/test-pages/fortressofsolitude/source.html
@@ -0,0 +1,141 @@
+<!DOCTYPE html><html lang="en-GB" prefix="og: http://ogp.me/ns#"><head><link rel="stylesheet" href="http://www.fortressofsolitude.co.za/wp-content/cache/min/1/adba62a3e99cf2beef85d754f2a69c39.css" data-minify="1" /><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><script src="http://www.fortressofsolitude.co.za/wp-content/cache/min/1/a3014bc665e0dfcfe262ab88b13db6dc.js" data-minify="1"></script> <meta http-equiv="x-dns-prefetch-control" content="on"><link rel="dns-prefetch" href="//fonts.googleapis.com" /><link rel="dns-prefetch" href="//www.google-analytics.com" /><link rel="dns-prefetch" href="https://ajax.googleapis.com" /><link rel="dns-prefetch" href="//fonts.gstatic.com" /><link rel="dns-prefetch" href="//0.gravatar.com/" /><link rel="dns-prefetch" href="//2.gravatar.com/" /><link rel="dns-prefetch" href="//1.gravatar.com/" /><link rel="dns-prefetch" href="//i1.wp.com/" /><link rel="publisher" href="https://plus.google.com/+FortressofsolitudeCoZa/posts" /><link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="https://feeds.feedburner.com/co/CRDp" /><meta name="google-site-verification" content="R0Fm4RBvru8vN03ZdvANPG25splcUQaE__Ao4hyOvQs" /><meta charset="UTF-8" /><meta name="viewport" content="width=device-width" /><meta name="copyright" content="Fortress of Solitude"><meta name="theme-color" content="#ff0000" /><meta property="article:publisher" content="https://www.facebook.com/FortressZA/" /><link rel="profile" href="http://gmpg.org/xfn/11" /><link rel="pingback" href="" /><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"><title>Céline Dion Belches Her Way Onto Deadpool 2&#039;s Soundtrack</title> <script type="text/javascript">var trackScrolling=true;
+var trackScrollingPercentage=false;
+var ScrollingPercentageNumber=25;
+var stLogInterval=10*1000;
+var cutOffTime=900;
+var trackNoEvents=false;
+var trackNoMaxTime=true;
+var docTitle='Céline Dion Belches Her Way Onto Deadpool 2&#8217;s Soundtrack';</script> <link rel="shortcut icon" href="https://i0.wp.com/www.fortressofsolitude.co.za/wp-content/themes/mightymag/images/fortress-of-Solitude_y1u6tm.jpg" /><meta name="description" content="Just when you think the marketing behind the film couldn&#039;t get any more amazing, they go and release a music video from the Deadpool 2 soundtrack starring Canadian singer Céline Dion." /><link rel="canonical" href="http://www.fortressofsolitude.co.za/celine-dion-deadpool-2-soundtrack-ashes/" /><link rel="publisher" href="https://plus.google.com/b/110541590461645839653/110541590461645839653/posts" /><meta property="og:locale" content="en_GB" /><meta property="og:type" content="article" /><meta property="og:title" content="Céline Dion Belches Her Way Onto Deadpool 2&#039;s Soundtrack" /><meta property="og:description" content="Just when you think the marketing behind the film couldn&#039;t get any more amazing, they go and release a music video from the Deadpool 2 soundtrack starring Canadian singer Céline Dion." /><meta property="og:url" content="http://www.fortressofsolitude.co.za/celine-dion-deadpool-2-soundtrack-ashes/" /><meta property="og:site_name" content="Fortress of Solitude" /><meta property="article:publisher" content="https://www.facebook.com/FortressZA" /><meta property="article:tag" content="Deadpool" /><meta property="article:tag" content="Deadpool 2" /><meta property="article:tag" content="Marvel" /><meta property="article:tag" content="Movies" /><meta property="article:tag" content="Music" /><meta property="article:section" content="Movies" /><meta property="article:published_time" content="2018-05-03T15:37:08+02:00" /><meta property="og:image" content="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Céline-Dion-Belches-Her-Way-Onto-Deadpool-2s-Soundtrack.jpg" /><meta property="og:image:width" content="770" /><meta property="og:image:height" content="450" /><meta property="og:image:alt" content="Céline Dion Belches Her Way Onto Deadpool 2&#039;s Soundtrack" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:description" content="Just when you think the marketing behind the film couldn&#039;t get any more amazing, they go and release a music video from the Deadpool 2 soundtrack starring Canadian singer Céline Dion." /><meta name="twitter:title" content="Céline Dion Belches Her Way Onto Deadpool 2&#039;s Soundtrack" /><meta name="twitter:site" content="@FortressofS" /><meta name="twitter:image" content="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Céline-Dion-Belches-Her-Way-Onto-Deadpool-2s-Soundtrack.jpg" /><meta name="twitter:creator" content="@FortressofS" /> <script type='application/ld+json'>{"@context":"https:\/\/schema.org","@type":"Organization","url":"http:\/\/www.fortressofsolitude.co.za\/","sameAs":["https:\/\/www.facebook.com\/FortressZA","https:\/\/www.instagram.com\/fortresszar\/","https:\/\/plus.google.com\/b\/110541590461645839653\/110541590461645839653\/posts","https:\/\/www.youtube.com\/channel\/UCdB1prTqEL-GNyYyi8xcGwA","https:\/\/twitter.com\/FortressofS"],"@id":"http:\/\/www.fortressofsolitude.co.za\/#organization","name":"Fortress of Solitude","logo":"https:\/\/i0.wp.com\/www.fortressofsolitude.co.za\/wp-content\/themes\/mightymag\/images\/fortress-of-Solitude_y1u6tm.jpg"}</script> <link rel='dns-prefetch' href='//fonts.googleapis.com' /><link rel='dns-prefetch' href='//s.w.org' /><link rel='dns-prefetch' href='//ajax.googleapis.com' /><link rel="alternate" type="application/rss+xml" title="Fortress of Solitude &raquo; Feed" href="http://www.fortressofsolitude.co.za/feed/" /><link rel="alternate" type="application/rss+xml" title="Fortress of Solitude &raquo; Comments Feed" href="http://www.fortressofsolitude.co.za/comments/feed/" /><link rel="alternate" type="application/rss+xml" title="Fortress of Solitude &raquo; Céline Dion Belches Her Way Onto Deadpool 2&#8217;s Soundtrack Comments Feed" href="http://www.fortressofsolitude.co.za/celine-dion-deadpool-2-soundtrack-ashes/feed/" /><style id='mashsb-styles-inline-css' type='text/css'>.mashsb-count{color:red}@media only screen and (min-width:568px){.mashsb-buttons a{min-width:177px}}</style><style id='wp-polls-inline-css' type='text/css'>.wp-polls .pollbar{margin:1px;font-size:8px;line-height:10px;height:10px;background:red;border:1px solid #}</style><style id='rocket-lazyload-inline-css' type='text/css'>.rll-youtube-player{position:relative;padding-bottom:56.23%;height:0;overflow:hidden;max-width:100%;background:#000;margin:5px}.rll-youtube-player iframe{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;background:0 0}.rll-youtube-player img{bottom:0;display:block;left:0;margin:auto;max-width:100%;width:100%;position:absolute;right:0;top:0;border:none;height:auto;cursor:pointer;-webkit-transition:.4s all;-moz-transition:.4s all;transition:.4s all}.rll-youtube-player img:hover{-webkit-filter:brightness(75%)}.rll-youtube-player .play{height:72px;width:72px;left:50%;top:50%;margin-left:-36px;margin-top:-36px;position:absolute;background:url(http://www.fortressofsolitude.co.za/wp-content/plugins/wp-rocket/inc/front/img/play.png) no-repeat;cursor:pointer}</style> <script type='text/javascript'>/* <![CDATA[ */ var mashsb = {"shares":"28","round_shares":"1","animate_shares":"0","dynamic_buttons":"0","share_url":"http:\/\/www.fortressofsolitude.co.za\/celine-dion-deadpool-2-soundtrack-ashes\/","title":"C%C3%A9line+Dion+Belches+Her+Way+Onto+Deadpool+2%E2%80%99s+Soundtrack","image":"http:\/\/www.fortressofsolitude.co.za\/wp-content\/uploads\/2018\/05\/C\u00e9line-Dion-Belches-Her-Way-Onto-Deadpool-2s-Soundtrack.jpg","desc":"Ryan Reynolds never stops surprising fans with his Deadpool, a.k.a. the Merc with the Mouth, persona. Just when you think the marketing behind the film couldn't get any more amazing, they go and release a \u2026","hashtag":"FortressofS","subscribe":"link","subscribe_url":"http:\/\/eepurl.com\/bj4sA9","activestatus":"1","singular":"1","twitter_popup":"1","refresh":"1","nonce":"977a5f84f6","postid":"116764","servertime":"1525511212","ajaxurl":"http:\/\/www.fortressofsolitude.co.za\/wp-admin\/admin-ajax.php"}; /* ]]> */</script> <script type='text/javascript'>/* <![CDATA[ */ var WpDisableAsyncLinks = {"wp-disable-google-fonts":"https:\/\/fonts.googleapis.com\/css?family=Roboto|Oswald"}; /* ]]> */</script> <link rel="amphtml" href="http://www.fortressofsolitude.co.za/amp/celine-dion-deadpool-2-soundtrack-ashes" /><style type="text/css">.wpsdc-drop-cap{float:left;font-size:5.5em;margin-right:.1em;line-height:90%;font-family:Oswald;font-weight:700}</style><style>.mgm-title a,.mgm-title span{color:#333333!important}body{color:#333}a{color:#000}a:hover{color:#1e73be}.breadcrumb a:hover,.woocommerce-breadcrumb a:hover,.bbp-breadcrumb a:hover{color:#1e73be!important}.cat-bg,.inverse .boxed,.inverse .boxed .entry-details,.social-count-plus .items,.social-count-plus span.label,.sticky .entry-details,.article-content-wrapper:hover .img-hover-info,.rw-user-rating-desc .user_rating,.rw-user-rating-desc .your_rating,.btn-success,.btn-success:hover,.btn-success:active,.btn-success:focus,.generic-button a,div.item-list-tabs ul li a span,.taxonomy-description p,#mgm-toolbar .topnav-wrap a,#mgm-toolbar .mgm-search-icon-trigger:hover .glyphicon-search{color:#fff}.inverse .boxed a,.social-count-plus .items a,.social-count-plus span.label a,.sticky .entry-details a,.mgm-cat .entry-details a,.cat-panes-content .entry-details,.cat-panes-content .entry-details a{color:#fff}.inverse .boxed a:hover,.social-count-plus .items a:hover,.social-count-plus span.label a:hover,.sticky .entry-details a:hover{color:#eaeaea}.search-in-place,.search-in-place .more,#collapse-trigger-wrap #collapse-icons,.entry-details,.mgm-title:after,.reply-wrap,#author-socials-wrap,.mgm-gray-frame,.rw-bar-wrap,.rw-end,.affiliate-wrap,table thead tr,div.item-list-tabs,#bbpress-forums li.bbp-header,#bbpress-forums li.bbp-footer,.gallery-caption{background-color:#f9f9f9}#mgm-grid,#mgm-grid .mgm-grid-block:last-child{border-left:1px solid #f9f9f9}#mgm-grid .mgm-grid-block.mgm-grid-wide{border-bottom:1px solid #f9f9f9}#mgm-live-search input{border-color:#f9f9f9}.search-in-place,.search-in-place .more,#collapse-trigger-wrap #collapse-icons,.entry-details,.mgm-title:after,.reply-wrap,#author-socials-wrap,.rw-bar-wrap,.rw-end,.affiliate-wrap,.gallery-caption,.gallery-caption:before{color:#000}.search-in-place a,.search-in-place .more a,#collapse-trigger-wrap #collapse-icons a,.mgm-title:after a,#author-socials-wrap a,.rw-bar-wrap a,.rw-end a{color:#000}.search-in-place a:hover,.search-in-place .more a:hover,#collapse-trigger-wrap #collapse-icons a:hover,.entry-details a:hover,.mgm-title:after a:hover,#author-socials-wrap a:hover,.rw-bar-wrap a:hover,.rw-end a:hover{color:#1e73be}.boxed,#respond,.woocommerce #reviews #respond,.woocommerce-page #reviews #respond,div.activity-comments ul li,#bbpress-forums label,.wpcf7 label{border-style:solid;border-bottom:none}.tag-list a,.page-nav .page-numbers,.bbp-pagination-links .page-numbers{border-style:solid;border-left:none}.page-nav,.bbp-pagination-links{border-left-style:solid}.widget.buddypress ul#members-list li,.widget.buddypress ul#groups-list li,.widget_categories ul li a,.widget_pages ul li a,.widget_meta ul li a,.widget_archive ul li a,.widget_nav_menu ul li a,.widget_recent_entries ul li a,.widget_recent_comments ul li{border-bottom-style:solid}.boxed,#respond{border-color:rgba(255,255,255,.1)}.main-navigation ul{background-color:#000}.mgm-full-main,.mgm-title a,.mgm-title span,.boxed.entry-block,.reply-wrap a:first-child:before,.reply-wrap .reply-wrap-submit:first-child:before,.white-line{background-color:#fff}@media (max-width:767px){.mgm-full-main{padding:0;box-shadow:none;background:none}}@media (max-width:767px){#mgm-top-ad{display:none}}@media (max-width:767px){#mgm-middle-ad{display:none}}@media (max-width:767px){#mgm-bottom-ad{display:none}}@media (min-width:1199px){.mgm-logo{float:left;margin-left:40px}#nav-clone .mgm-logo{margin-left:0}#mgm-top-ad{margin-top:0;margin-right:80px;text-align:right}}</style><style>.mgm-font,h1,h2,h3,h4,h5,h6,.topnav-wrap,.main-navigation,.main-small-navigation ul,.page-nav,.flex-cat,#carousel div span,.carousel-text a,.widget a.twtr-join-conv,#comments .simil-widget-comment,#comments .bypostauthor .mgm-title-bg:before,.nocomments,.lwa .lwa-title,.lwa-register .lwa-title,.lwa .dropdown-menu li>a,.date a,.info-stripe .cat-stripe,.info-stripe .percent-stripe,.social-count-plus span.count,.cat-tabs span a,.accordion-heading,.vc_text_separator div,#content .wpb_accordion .ui-accordion .ui-accordion-header a,.wpb_accordion .ui-accordion .ui-accordion-header a,#content .wpb_content_element .ui-tabs .ui-tabs-nav,.jackbox-modal h2,.jackbox-modal h3,.jackbox-title-text,#ticker-items li a,#ticker-items li span,#mgm-live-search input,.search-in-place .title,.search-in-place .more,.social-count-plus span.count,.img-hover-info,.btn,#mgm-collapse-newsletter span,.author-name a,#rating-box,cite.fn,.mgm-trigger,.mgm-overtitle,.mgm-share-text,.mgm-onsale,.delete-activity,.delete-activity-single,.buddypress .generic-button a,.buddypress .actions a,#mgm-notifications-modal .modal-content,.bbp-form legend,.wpb_button,.bbp-forum-title,.bbp-view-title,.bbp-reply-topic-title,.bbp-pagination-links,ul.tabs li a,.woocommerce .product_list_widget,.woocommerce span.amount,.item-title{font-family:Oswald}body{font-family:Roboto}body{font-size:20px}</style><style></style><link rel="icon" href="http://www.fortressofsolitude.co.za/wp-content/uploads/2016/06/cropped-fortress-of-Solitude-60x60.jpg" sizes="32x32" /><link rel="icon" href="http://www.fortressofsolitude.co.za/wp-content/uploads/2016/06/cropped-fortress-of-Solitude-220x220.jpg" sizes="192x192" /><link rel="apple-touch-icon-precomposed" href="http://www.fortressofsolitude.co.za/wp-content/uploads/2016/06/cropped-fortress-of-Solitude-220x220.jpg" /><meta name="msapplication-TileImage" content="http://www.fortressofsolitude.co.za/wp-content/uploads/2016/06/cropped-fortress-of-Solitude-375x375.jpg" /><style type='text/css'>.ai-viewport-3{display:none!important}.ai-viewport-2{display:none!important}.ai-viewport-1{display:inherit!important}.ai-viewport-0{display:none!important}@media (min-width:768px) and (max-width:979px){.ai-viewport-1{display:none!important}.ai-viewport-2{display:inherit!important}}@media (max-width:767px){.ai-viewport-1{display:none!important}.ai-viewport-3{display:inherit!important}}</style><link rel="stylesheet" type="text/css" href="http://www.fortressofsolitude.co.za/wp-content/themes/mightymag/css/customcss.css"></head><body class="post-template-default single single-post postid-116764 single-format-standard group-blog"> <a href="#mgm-menu" class="menu-toggle animated visible-xs"><i class="glyphicon glyphicon-align-justify"></i></a><div class="nav-wrap" id="nav-original"><nav class="site-navigation main-navigation" itemscope="itemscope" itemtype="http://schema.org/SiteNavigationElement" id="mgm-menu"><div class="assistive-text skip-link"><a href="#content" title="Skip to content">Skip to content</a></div> <a href="#" class="menu-toggle toggle-close"><i class="glyphicon glyphicon-remove-sign"></i></a><div class="menu-main-container"><ul id="menu-main" class="menu"><li id="menu-item-104983" class="logohome menu-item menu-item-type-custom menu-item-object-custom menu-item-home"><a href="http://www.fortressofsolitude.co.za/" class="menu-image-title-hide menu-image-hovered"><span class="menu-image-title">Home</span><span class='menu-image-hover-wrapper'><img width="147" height="35" src="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/fortress-of-solitude-2.jpg" class="menu-image menu-image-title-hide" alt="fortress of solitude" srcset="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/fortress-of-solitude-2.jpg 147w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/fortress-of-solitude-2-24x6.jpg 24w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/fortress-of-solitude-2-36x9.jpg 36w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/fortress-of-solitude-2-48x11.jpg 48w" sizes="(max-width: 147px) 100vw, 147px" /><img width="147" height="35" src="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/fortress-of-solitude2-1.jpg" class="hovered-image menu-image-title-hide" alt="fortress of solitude" style="margin-left: -147px;" srcset="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/fortress-of-solitude2-1.jpg 147w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/fortress-of-solitude2-1-24x6.jpg 24w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/fortress-of-solitude2-1-36x9.jpg 36w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/fortress-of-solitude2-1-48x11.jpg 48w" sizes="(max-width: 147px) 100vw, 147px" /></span></a><span class="bottom-line custom-color cat-bg"></span></li><li id="menu-item-14615" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent"><a title="Movies" href="http://www.fortressofsolitude.co.za/movies/" class="menu-image-title-after"><span class="menu-image-title">Movies</span></a><span class="bottom-line custom-color cat-bg"></span></li><li id="menu-item-14614" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a title="Gaming" href="http://www.fortressofsolitude.co.za/gaming/" class="menu-image-title-after"><span class="menu-image-title">Gaming</span></a><span class="bottom-line custom-color cat-bg"></span></li><li id="menu-item-49958" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a title="Comics" href="http://www.fortressofsolitude.co.za/comic-books/" class="menu-image-title-after"><span class="menu-image-title">Comics</span></a><span class="bottom-line custom-color cat-bg"></span></li><li id="menu-item-14617" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a title="Technology" href="http://www.fortressofsolitude.co.za/technology/" class="menu-image-title-after"><span class="menu-image-title">Tech</span></a><span class="bottom-line custom-color cat-bg"></span></li><li id="menu-item-51559" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a title="TV" href="http://www.fortressofsolitude.co.za/tv-series/" class="menu-image-title-after"><span class="menu-image-title">TV</span></a><span class="bottom-line custom-color cat-bg"></span></li><li id="menu-item-116612" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="http://www.fortressofsolitude.co.za/toys-figurines/" class="menu-image-title-after"><span class="menu-image-title">Toys</span></a><span class="bottom-line custom-color cat-bg"></span></li><li id="menu-item-116613" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a href="http://www.fortressofsolitude.co.za/sneakers/" class="menu-image-title-after"><span class="menu-image-title">Sneakers</span></a><span class="bottom-line custom-color cat-bg"></span></li><li id="menu-item-34182" class="menu-item menu-item-type-taxonomy menu-item-object-category"><a title="Win" href="http://www.fortressofsolitude.co.za/competitions/" class="menu-image-title-after"><span class="menu-image-title">Win</span></a><span class="bottom-line custom-color cat-bg"></span></li><li id="menu-item-103242" class="menu-item menu-item-type-post_type menu-item-object-page"><a href="http://www.fortressofsolitude.co.za/contact/" class="menu-image-title-after"><span class="menu-image-title">Contact</span></a><span class="bottom-line custom-color cat-bg"></span></li><li id="menu-item-116607" class="menu-item menu-item-type-post_type menu-item-object-page"><a title="Search" href="http://www.fortressofsolitude.co.za/search/" class="menu-image-title-hide menu-image-not-hovered"><span class="menu-image-title">Search</span><img width="36" height="36" src="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/search-1-36x36.png" class="menu-image menu-image-title-hide" alt="" srcset="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/search-1-36x36.png 36w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/search-1-220x220.png 220w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/search-1-375x375.png 375w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/search-1-60x60.png 60w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/search-1-100x100.png 100w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/search-1-24x24.png 24w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/search-1-48x48.png 48w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/search-1-470x470.png 470w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/search-1.png 512w" sizes="(max-width: 36px) 100vw, 36px" /></a><span class="bottom-line custom-color cat-bg"></span></li></ul></div></nav></div><div id="toppy"><div id="mgm-top-ad"><div class='code-block code-block-3 ai-viewport-1' style='margin: 8px auto; text-align: center; clear: both;'><div class="pt-cv-wrapper"><div class="pt-cv-view pt-cv-grid pt-cv-colsys" id="pt-cv-view-469f818ys2"><div data-id="pt-cv-page-1" class="pt-cv-page" data-cvc="5"><div class="col-md-2 col-sm-6 col-xs-12 pt-cv-content-item pt-cv-1-col"><div class='pt-cv-ifield'><a href="http://www.fortressofsolitude.co.za/black-people-avengers-infinity-war/" class="_self pt-cv-href-thumbnail pt-cv-thumb-default" target="_self"><img width="370" height="180" src="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/avengers-infinity-war-black-people-370x180.jpg" class="pt-cv-thumbnail" alt="avengers: infinity war black people" srcset="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/avengers-infinity-war-black-people-370x180.jpg 370w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/avengers-infinity-war-black-people-268x130.jpg 268w" sizes="(max-width: 370px) 100vw, 370px" /></a><h4 class="pt-cv-title"><a href="http://www.fortressofsolitude.co.za/black-people-avengers-infinity-war/" class="_self" target="_self">Wakanda Fury: Some Viewers Are Upset About How Black People Are Treated In Avengers: Infinity War</a></h4></div></div><div class="col-md-2 col-sm-6 col-xs-12 pt-cv-content-item pt-cv-1-col"><div class='pt-cv-ifield'><a href="http://www.fortressofsolitude.co.za/jason-momoa-comic-con-africa/" class="_self pt-cv-href-thumbnail pt-cv-thumb-default" target="_self"><img width="370" height="180" src="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/jason-2-370x180.jpg" class="pt-cv-thumbnail" alt="" srcset="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/jason-2-370x180.jpg 370w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/jason-2-268x130.jpg 268w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/jason-2-24x13.jpg 24w" sizes="(max-width: 370px) 100vw, 370px" /></a><h4 class="pt-cv-title"><a href="http://www.fortressofsolitude.co.za/jason-momoa-comic-con-africa/" class="_self" target="_self">Aquaman&#8217;s Jason Momoa Will Be Attending Comic Con Africa</a></h4></div></div><div class="col-md-2 col-sm-6 col-xs-12 pt-cv-content-item pt-cv-1-col"><div class='pt-cv-ifield'><a href="http://www.fortressofsolitude.co.za/win-avengers-infinity-war-hamper/" class="_self pt-cv-href-thumbnail pt-cv-thumb-default" target="_self"><img width="370" height="180" src="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/avengers_infinity_war-370x180.jpg" class="pt-cv-thumbnail" alt="" srcset="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/avengers_infinity_war-370x180.jpg 370w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/avengers_infinity_war-268x130.jpg 268w" sizes="(max-width: 370px) 100vw, 370px" /></a><h4 class="pt-cv-title"><a href="http://www.fortressofsolitude.co.za/win-avengers-infinity-war-hamper/" class="_self" target="_self">Win An Avengers: Infinity War Hamper</a></h4></div></div><div class="col-md-2 col-sm-6 col-xs-12 pt-cv-content-item pt-cv-1-col"><div class='pt-cv-ifield'><a href="http://www.fortressofsolitude.co.za/8-ways-to-introduce-x-men-fantastic-four-more-into-the-mcu/" class="_self pt-cv-href-thumbnail pt-cv-thumb-default" target="_self"><img width="370" height="180" src="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/8-Ways-To-Introduce-X-Men-Fantastic-Four-More-Into-The-MCU-370x180.jpg" class="pt-cv-thumbnail" alt="8 Ways To Introduce X-Men, Fantastic Four &amp; More Into The MCU" srcset="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/8-Ways-To-Introduce-X-Men-Fantastic-Four-More-Into-The-MCU-370x180.jpg 370w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/8-Ways-To-Introduce-X-Men-Fantastic-Four-More-Into-The-MCU-268x130.jpg 268w" sizes="(max-width: 370px) 100vw, 370px" /></a><h4 class="pt-cv-title"><a href="http://www.fortressofsolitude.co.za/8-ways-to-introduce-x-men-fantastic-four-more-into-the-mcu/" class="_self" target="_self">8 Ways To Introduce X-Men, Fantastic Four &#038; More Into The MCU</a></h4></div></div><div class="col-md-4 col-sm-6 col-xs-12 pt-cv-content-item pt-cv-1-col"><div class='pt-cv-ifield'><a href="http://www.fortressofsolitude.co.za/zack-snyder-justice-league-cut/" class="_self pt-cv-href-thumbnail pt-cv-thumb-default" target="_self"><img width="370" height="180" src="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/zack-snyder-justice-league-1-370x180.jpg" class="pt-cv-thumbnail" alt="zack snyder justice league" srcset="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/zack-snyder-justice-league-1-370x180.jpg 370w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/zack-snyder-justice-league-1-268x130.jpg 268w" sizes="(max-width: 370px) 100vw, 370px" /></a><h4 class="pt-cv-title"><a href="http://www.fortressofsolitude.co.za/zack-snyder-justice-league-cut/" class="_self" target="_self">We Don&#8217;t Need A Zack Snyder Cut of Justice League</a></h4></div></div></div></div></div></div><center><ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6351331605423593" data-ad-slot="1569546207" data-ad-format="auto"></ins> <script>(adsbygoogle = window.adsbygoogle || []).push({});</script> </center></div></div><div id="mgm-super-container"><div class="mgm-full-main"><div id="page" class="hfeed site"><div id="mgm-header-wrap" class="mgm-gray-frame"><div id="mgm-header-opacity"><div id="mgm-full-supertop"><div id="mgm-full-supertop-overlay"></div></div></div></div><div id="main" class="site-main container"><div class="content-sidebar-wrap"><div class="row"><header class="entry-header boxed"><h1 class="entry-title"><a href="http://www.fortressofsolitude.co.za/celine-dion-deadpool-2-soundtrack-ashes/" rel="bookmark" title="Céline Dion Belches Her Way Onto Deadpool 2&#8217;s Soundtrack">Céline Dion Belches Her Way Onto Deadpool 2&#8217;s Soundtrack</a></h1><div><p class="byline2">Because his heart will go on.</p></div><div class="mgm-title2"><h4><span class="author-name">Written by <a href="http://www.fortressofsolitude.co.za/author/the-riddler/" title="Posts by Edward Wallace" rel="author">Edward Wallace</a> </span></h4></div></header><div id="primary" class="content-area col-md-8"><div id="content" class="site-content" role="main"><div id="fb-root"></div> <script>(function(d, s, id) {
+ var js, fjs = d.getElementsByTagName(s)[0];
+ if (d.getElementById(id)) return;
+ js = d.createElement(s); js.id = id;
+ js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
+ fjs.parentNode.insertBefore(js, fjs);
+ }(document, "script", "facebook-jssdk"));</script> <article id="post-116764" class="post-116764 post type-post status-publish format-standard has-post-thumbnail hentry category-deadpool category-marvel category-movies category-news tag-deadpool tag-deadpool-2 tag-marvel tag-movies tag-music-2"><div class="entry-img featured-img"> <span class="entry-img-src"> <a href="http://www.fortressofsolitude.co.za/celine-dion-deadpool-2-soundtrack-ashes/" title="Céline Dion Belches Her Way Onto Deadpool 2&#039;s Soundtrack"><img width="750" height="400" src="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Céline-Dion-Belches-Her-Way-Onto-Deadpool-2s-Soundtrack-750x400.jpg" class="attachment-regular-featured size-regular-featured wp-post-image" alt="Céline Dion Belches Her Way Onto Deadpool 2&#039;s Soundtrack" srcset="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Céline-Dion-Belches-Her-Way-Onto-Deadpool-2s-Soundtrack-750x400.jpg 750w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Céline-Dion-Belches-Her-Way-Onto-Deadpool-2s-Soundtrack-24x14.jpg 24w" sizes="(max-width: 750px) 100vw, 750px" /></a> </span></div><header class="entry-header boxed"><div class="clear"></div><div class="entry-details clearfix"><div class="mgm-cat"> <a style="background-color: #cf0707" href="http://www.fortressofsolitude.co.za/deadpool/" title="View all posts in Deadpool">Deadpool</a> <a style="background-color: " href="http://www.fortressofsolitude.co.za/marvel/" title="View all posts in Marvel">Marvel</a> <a style="background-color: #ff6600" href="http://www.fortressofsolitude.co.za/movies/" title="View all posts in Movies">Movies</a> <a style="background-color: " href="http://www.fortressofsolitude.co.za/news/" title="View all posts in News">News</a></div> <span class="mgm-details"> <span class="entry-posted-on"><span class="glyphicon glyphicon-edit"></span> <a href="http://www.fortressofsolitude.co.za/celine-dion-deadpool-2-soundtrack-ashes/" title="3:37 pm" rel="bookmark"><time class="entry-date" datetime="2018-05-03T15:37:08+00:00">May 3, 2018</time></a><span class="byline"> <i class="icon-pencil"></i> <span class="author vcard"><a class="url fn n" href="http://www.fortressofsolitude.co.za/author/the-riddler/" title="View all posts by Edward Wallace" rel="author">Edward Wallace</a></span></span></span> </span></div></header><div class="entry-content clearfix"><aside class="mashsb-container mashsb-main mashsb-stretched"><div class="mashsb-box"><div class="mashsb-count mash-large" style="float:left;"><div class="counts mashsbcount">28</div><span class="mashsb-sharetext">SHARES</span></div><div class="mashsb-buttons"><a class="mashicon-facebook mash-large mash-center mashsb-noshadow" href="https://www.facebook.com/sharer.php?u=http%3A%2F%2Fwww.fortressofsolitude.co.za%2Fceline-dion-deadpool-2-soundtrack-ashes%2F" target="_blank" rel="noopener nofollow"><span class="icon"></span><span class="text">Share</span></a><a class="mashicon-twitter mash-large mash-center mashsb-noshadow" href="https://twitter.com/intent/tweet?text=C%C3%A9line%20Dion%20Belches%20Her%20Way%20Onto%20Deadpool%202%27s%20Soundtrack&url=http://www.fortressofsolitude.co.za/celine-dion-deadpool-2-soundtrack-ashes/&via=FortressofS" target="_blank" rel="noopener nofollow"><span class="icon"></span><span class="text">Tweet</span></a><a class="mashicon-subscribe mash-large mash-center mashsb-noshadow" href="#" target="_blank" rel="noopener nofollow"><span class="icon"></span><span class="text">Subscribe</span></a><div class="onoffswitch2 mash-large mashsb-noshadow" style="display:none;"></div></div></div><div style="clear:both;"></div></aside><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><hr><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div><div><div></div><div></div><div></div><div></div><div></div><div></div><div class="mobileads"><center><ins class="adsbygoogle" style="display:inline-block;width:300px;height:250px" data-ad-client="ca-pub-6351331605423593" data-ad-slot="5026959162"></ins> <script>(adsbygoogle = window.adsbygoogle || []).push({});</script></center></div><p><span class="wpsdc-drop-cap">R</span>yan Reynolds never stops surprising fans with his <a href="http://www.fortressofsolitude.co.za/new-deadpool-2-trailer/">Deadpool</a>, a.k.a. the Merc with the Mouth, persona. Just when you think the marketing behind the film couldn&#8217;t get any more amazing, they go and release a music video from the <strong><em>Deadpool 2</em></strong> soundtrack starring Canadian singer Céline Dion. Yes, the one who sang the <em>Titanic</em> theme song. Your eyes do not deceive you.</p><p><center></p><blockquote class="twitter-tweet" data-lang="en"><p lang="tl" dir="ltr">Showtime, Mama. <a rel="nofollow" target="_blank" href="https://twitter.com/hashtag/EffortMaximal?src=hash&amp;ref_src=twsrc%5Etfw">#EffortMaximal</a> <a rel="nofollow" target="_blank" href="https://twitter.com/hashtag/Deadpool2?src=hash&amp;ref_src=twsrc%5Etfw">#Deadpool2</a> <a rel="nofollow" target="_blank" href="https://t.co/ZKLrucXJO4">pic.twitter.com/ZKLrucXJO4</a></p><p>&mdash; Ryan Reynolds (@VancityReynolds) <a rel="nofollow" target="_blank" href="https://twitter.com/VancityReynolds/status/992018849225695242?ref_src=twsrc%5Etfw">May 3, 2018</a></p></blockquote><p><br /></center></p><p>&#8220;What’s left to say? These prayers ain’t working anymore. Every word shot down in flames. What’s left to do with these broken pieces on the floor? I’m losing my voice calling on you,&#8221; Dion croons in the video for &#8220;Ashes&#8221;. Near the end of it, the filthy, foul-mouthed <a href="http://www.fortressofsolitude.co.za/hilarious-deadpool-2-teaser-bob-ross/">Deadpool</a> shows up in a surprising twist mentioning that he should have gotten N&#8217;sync instead.</p><h3><strong><em>Deadpool 2</em></strong> opens in theatres on May 18.</h3><p><div class="rll-youtube-player" data-id="CX11yw6YL1w"></div><noscript><iframe width="1140" height="641" src="https://www.youtube.com/embed/CX11yw6YL1w?feature=oembed" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe></noscript></p></div></div></div><div class="mobileads"><center><ins class="adsbygoogle" style="display:inline-block;width:300px;height:250px" data-ad-client="ca-pub-6351331605423593" data-ad-slot="5026959162"></ins> <script>(adsbygoogle = window.adsbygoogle || []).push({});</script></center></div><hr><div class="socialcredits"><p>Connect with us on <a target="_blank" rel="nofollow" href="https://web.facebook.com/FortressZA/">Facebook</a>, <a target="_blank" rel="nofollow" href="https://twitter.com/FortressofS">Twitter</a> and <a target="_blank" rel="nofollow" href="https://www.instagram.com/fortresszar/">Instagram.</a> Sign up to our <a target="_blank" rel="nofollow" href="https://fortressofsolitude.us10.list-manage.com/subscribe?u=d45e8fb2bd3ba44e57869f584&id=4d3d5fcd86">Newsletter</a>.</p></div><div class="tag-list"> <a href="http://www.fortressofsolitude.co.za/tag/deadpool/"><span>Deadpool</span></a> <a href="http://www.fortressofsolitude.co.za/tag/deadpool-2/"><span>Deadpool 2</span></a> <a href="http://www.fortressofsolitude.co.za/tag/marvel/"><span>Marvel</span></a> <a href="http://www.fortressofsolitude.co.za/tag/movies/"><span>Movies</span></a> <a href="http://www.fortressofsolitude.co.za/tag/music-2/"><span>Music</span></a></div><div class="mgm-social-share clearfix"><span class="mgm-share-text hidden-xs wow pulse" data-wow-delay="1s">Share it !</span><ul class="clearfix"><li> <a href="https://twitter.com/home?status=C%C3%A9line+Dion+Belches+Her+Way+Onto+Deadpool+2%26%238217%3Bs+Soundtrack+http%3A%2F%2Fwww.fortressofsolitude.co.za%2Fceline-dion-deadpool-2-soundtrack-ashes%2F" class="mgm-share-twitter" onclick="javascript:void window.open('http://twitter.com/home?status=C%C3%A9line+Dion+Belches+Her+Way+Onto+Deadpool+2%26%238217%3Bs+Soundtrack+http%3A%2F%2Fwww.fortressofsolitude.co.za%2Fceline-dion-deadpool-2-soundtrack-ashes%2F','1412258836570','width=640,height=480,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=1,left=0,top=0');return false;"><span class="socicon socicon-twitter"></span></a></li><li> <a href="https://www.facebook.com/share.php?u=http%3A%2F%2Fwww.fortressofsolitude.co.za%2Fceline-dion-deadpool-2-soundtrack-ashes%2F&amp;title=C%C3%A9line+Dion+Belches+Her+Way+Onto+Deadpool+2%26%238217%3Bs+Soundtrack" class="mgm-share-fb" onclick="javascript:void window.open('http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.fortressofsolitude.co.za%2Fceline-dion-deadpool-2-soundtrack-ashes%2F&amp;title=C%C3%A9line+Dion+Belches+Her+Way+Onto+Deadpool+2%26%238217%3Bs+Soundtrack','1412258836570','width=640,height=480,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=1,left=0,top=0');return false;"><span class="socicon socicon-facebook"></span></a></li><li> <a href="https://plus.google.com/share?url=http%3A%2F%2Fwww.fortressofsolitude.co.za%2Fceline-dion-deadpool-2-soundtrack-ashes%2F" class="mgm-share-google" onclick="javascript:void window.open('https://plus.google.com/share?url=http%3A%2F%2Fwww.fortressofsolitude.co.za%2Fceline-dion-deadpool-2-soundtrack-ashes%2F','1412258836570','width=640,height=480,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=1,left=0,top=0');return false;"><span class="socicon socicon-google"></span></a></li><li> <a href="https://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.fortressofsolitude.co.za%2Fceline-dion-deadpool-2-soundtrack-ashes%2F&amp;title=C%C3%A9line+Dion+Belches+Her+Way+Onto+Deadpool+2%26%238217%3Bs+Soundtrack&amp;source=Fortress of Solitude" class="mgm-share-linkedin" onclick="javascript:void window.open('http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.fortressofsolitude.co.za%2Fceline-dion-deadpool-2-soundtrack-ashes%2F&amp;title=C%C3%A9line+Dion+Belches+Her+Way+Onto+Deadpool+2%26%238217%3Bs+Soundtrack&amp;source=Fortress of Solitude','1412258836570','width=640,height=480,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=1,left=0,top=0');return false;"><span class="socicon socicon-linkedin"></span></a></li><li> <a href="https://pinterest.com/pin/create/bookmarklet/?media=http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Céline-Dion-Belches-Her-Way-Onto-Deadpool-2s-Soundtrack.jpg&amp;url=http%3A%2F%2Fwww.fortressofsolitude.co.za%2Fceline-dion-deadpool-2-soundtrack-ashes%2F&amp;is_video=false&amp;description=C%C3%A9line+Dion+Belches+Her+Way+Onto+Deadpool+2%26%238217%3Bs+Soundtrack" class="mgm-share-pinterest" onclick="javascript:void window.open('http://pinterest.com/pin/create/bookmarklet/?media=http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Céline-Dion-Belches-Her-Way-Onto-Deadpool-2s-Soundtrack.jpg&amp;url=http%3A%2F%2Fwww.fortressofsolitude.co.za%2Fceline-dion-deadpool-2-soundtrack-ashes%2F&amp;is_video=false&amp;description=C%C3%A9line+Dion+Belches+Her+Way+Onto+Deadpool+2%26%238217%3Bs+Soundtrack','1412258836570','width=640,height=480,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=1,left=0,top=0');return false;"><span class="socicon socicon-pinterest"></span></a></li><li> <a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.fortressofsolitude.co.za%2Fceline-dion-deadpool-2-soundtrack-ashes%2F&amp;title=C%C3%A9line+Dion+Belches+Her+Way+Onto+Deadpool+2%26%238217%3Bs+Soundtrack" class="mgm-share-stumbleupon" onclick="javascript:void window.open('http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.fortressofsolitude.co.za%2Fceline-dion-deadpool-2-soundtrack-ashes%2F&amp;title=C%C3%A9line+Dion+Belches+Her+Way+Onto+Deadpool+2%26%238217%3Bs+Soundtrack','1412258836570','width=640,height=480,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=1,left=0,top=0');return false;"><span class="socicon socicon-stumbleupon"></span></a></li><li> <a href="https://www.reddit.com/submit?url=http%3A%2F%2Fwww.fortressofsolitude.co.za%2Fceline-dion-deadpool-2-soundtrack-ashes%2F&amp;title=C%C3%A9line+Dion+Belches+Her+Way+Onto+Deadpool+2%26%238217%3Bs+Soundtrack" class="mgm-share-reddit" onclick="javascript:void window.open('http://www.reddit.com/submit?url=http%3A%2F%2Fwww.fortressofsolitude.co.za%2Fceline-dion-deadpool-2-soundtrack-ashes%2F&amp;title=C%C3%A9line+Dion+Belches+Her+Way+Onto+Deadpool+2%26%238217%3Bs+Soundtrack','1412258836570','width=640,height=480,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=1,left=0,top=0');return false;"><span class="socicon socicon-reddit"></span></a></li></ul></div><div class="clear"></div><div class="space"></div><div class="addthis_sharing_toolbox" data-url="http://www.fortressofsolitude.co.za/celine-dion-deadpool-2-soundtrack-ashes/" data-title="Céline Dion Belches Her Way Onto Deadpool 2&#8217;s Soundtrack"></div><div id="mgm-related-wrap" class="row"><h4 class="mgm-title col-md-12"> <span>You may also like</span></h4><div class="doggy"><div class="mgm-related-item col-md-6 wow fadeInUp"><div class="custom-widget"><div class="entry-img"><div class="img-frame"> <a href="http://www.fortressofsolitude.co.za/robin-hood-trailer/" title="Robin Hood Gets Another Gritty Reboot. Here Is The Trailer"><img width="370" height="180" src="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Robin-Hood-Trailer-370x180.jpg" class="attachment-medium size-medium wp-post-image" alt="Robin Hood Gets Another Gritty Reboot. Here Is The Trailer" title="Robin Hood Gets Another Gritty Reboot. Here Is The Trailer" srcset="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Robin-Hood-Trailer-370x180.jpg 370w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Robin-Hood-Trailer-268x130.jpg 268w" sizes="(max-width: 370px) 100vw, 370px" /></a><div class="mgm-cat2"> <a href="http://www.fortressofsolitude.co.za/movies/" title="View all posts in Movies">Movies</a> <a href="http://www.fortressofsolitude.co.za/news/" title="View all posts in News">News</a> <a href="http://www.fortressofsolitude.co.za/trailer/" title="View all posts in Trailer">Trailer</a></div></div></div><h3 class="entry-title"> <a href="http://www.fortressofsolitude.co.za/robin-hood-trailer/" title="Permalink to Robin Hood Gets Another Gritty Reboot. Here Is The Trailer" rel="bookmark">Robin Hood Gets Another Gritty Reboot. Here Is The Trailer</a></h3><div style="font-size: 15px; line-height: 17px!important; margin-bottom: 10px; margin-left: 20px; color: grey;">Hollywood has run out of ideas again. With that comes another Robin Hood film just eight years after Ridley Scott&#8217;s film starring Russell Crowe. It seems audiences can&#8217;t get enough</div><div class="written"> By <span>Edward Wallace</span> on 04 May 2018</div></div></div></div><div class="doggy"><div class="mgm-related-item col-md-6 wow fadeInUp"><div class="custom-widget"><div class="entry-img"><div class="img-frame"> <a href="http://www.fortressofsolitude.co.za/jamie-foxx-spawn-reboot/" title="Jamie Foxx Might Be Playing Spawn After All"><img width="370" height="180" src="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Jamie-Foxx-Might-Be-Playing-Spawn-After-All-370x180.jpg" class="attachment-medium size-medium wp-post-image" alt="Jamie Foxx Might Be Playing Spawn After All" title="Jamie Foxx Might Be Playing Spawn After All" srcset="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Jamie-Foxx-Might-Be-Playing-Spawn-After-All-370x180.jpg 370w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Jamie-Foxx-Might-Be-Playing-Spawn-After-All-268x130.jpg 268w" sizes="(max-width: 370px) 100vw, 370px" /></a><div class="mgm-cat2"> <a href="http://www.fortressofsolitude.co.za/movies/" title="View all posts in Movies">Movies</a> <a href="http://www.fortressofsolitude.co.za/news/" title="View all posts in News">News</a></div></div></div><h3 class="entry-title"> <a href="http://www.fortressofsolitude.co.za/jamie-foxx-spawn-reboot/" title="Permalink to Jamie Foxx Might Be Playing Spawn After All" rel="bookmark">Jamie Foxx Might Be Playing Spawn After All</a></h3><div style="font-size: 15px; line-height: 17px!important; margin-bottom: 10px; margin-left: 20px; color: grey;">Todd McFarlane’s long-discussed gritty R-rated Spawn movie reboot is moving forward. There are now rumours that Jamie Foxx, who has been lobbying for the role since 2013, is in early</div><div class="written"> By <span>Edward Wallace</span> on 03 May 2018</div></div></div></div></div><div id="comments" class="comments-area"><h3 class="mgm-title"> <span> No Comments <span class="comment-title-visibility"></span> </span></h4><div id="respond" class="comment-respond"><h3 id="reply-title" class="comment-reply-title">Leave a Comment <small><a rel="nofollow" id="cancel-comment-reply-link" href="/celine-dion-deadpool-2-soundtrack-ashes/#respond" style="display:none;">Cancel reply</a></small></h3><form action="http://www.fortressofsolitude.co.za/wp-comments-post.php" method="post" id="commentform" class="comment-form"><div class="comment-form-input comment-form-comment"><label for="comment">Comment</label><textarea id="comment" name="comment" class="form-control" cols="45" rows="8" aria-required="true"></textarea></div><div class="comment-form-input comment-form-author"><label for="author">Name</label><div class="input-group"><span class="input-group-addon"><span class="glyphicon glyphicon-user"></span></span> <input class="form-control" id="author" name="author" type="text" placeholder="Name" value="" size="20" aria-required='true' /><span class="glyphicon glyphicon-asterisk"></span></div></div><div class="comment-form-input comment-form-email"><label for="email">Email</label><div class="input-group"><span class="input-group-addon"><span class="glyphicon glyphicon-envelope"></span></span> <input class="form-control" id="email" name="email" type="text" placeholder="Email" value="" size="20" aria-required='true' /><span class="glyphicon glyphicon-asterisk"></span></div></div><p class="form-submit"><input name="submit" type="submit" id="submit" class="submit" value="Post Comment" /> <input type='hidden' name='comment_post_ID' value='116764' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /></p><p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="4d86b8296f" /></p><p style="display: none;"><input type="hidden" id="ak_js" name="ak_js" value="175" /></p></form></div></div><footer class="entry-meta clearfix"></footer></article></div></div><div class="col-md-4"><div id="sidebar"><div id="secondary" role="complementary" itemscope="itemscope" itemtype="http://schema.org/WPSideBar"><aside id="media_image-2" class="widget clearfix widget_media_image"><a target="_blank" rel="nofollow" href="https://goo.gl/8oxHCK"><img width="320" height="250" src="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Games-Festival-banner_-320-x250.jpg" class="image wp-image-116807 attachment-full size-full" alt="Games Festival" style="max-width: 100%; height: auto;" srcset="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Games-Festival-banner_-320-x250.jpg 320w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Games-Festival-banner_-320-x250-24x19.jpg 24w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Games-Festival-banner_-320-x250-36x28.jpg 36w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Games-Festival-banner_-320-x250-48x38.jpg 48w" sizes="(max-width: 320px) 100vw, 320px" /></a></aside><aside id="text-11" class="widget clearfix widget_text"><h2 class="mgm-title"><span>Don&#8217;t Miss</span></h2><div class="textwidget"><div class="pt-cv-wrapper"><div class="pt-cv-view pt-cv-grid pt-cv-colsys" id="pt-cv-view-b49103f0lt"><div data-id="pt-cv-page-1" class="pt-cv-page" data-cvc="1"><div class="col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col"><div class='pt-cv-ifield'><a href="http://www.fortressofsolitude.co.za/showmax-animated-tv-show-for-adults/" class="_self pt-cv-href-thumbnail pt-cv-thumb-default" target="_self"><img width="370" height="180" src="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Animated-TV-Shows-For-Adults-Were-Currently-Watching-370x180.jpg" class="pt-cv-thumbnail" alt="Animated TV Shows For Adults We&#039;re Currently Watching" srcset="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Animated-TV-Shows-For-Adults-Were-Currently-Watching-370x180.jpg 370w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Animated-TV-Shows-For-Adults-Were-Currently-Watching-268x130.jpg 268w" sizes="(max-width: 370px) 100vw, 370px" /></a></p><h4 class="pt-cv-title"><a href="http://www.fortressofsolitude.co.za/showmax-animated-tv-show-for-adults/" class="_self" target="_self">Animated TV Shows For Adults We&#8217;re Currently Watching</a></h4></div></div><div class="col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col"><div class='pt-cv-ifield'><a href="http://www.fortressofsolitude.co.za/showmax-sci-fi/" class="_self pt-cv-href-thumbnail pt-cv-thumb-default" target="_self"><img width="370" height="180" src="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/The-Beyond-sci-fi-370x180.jpg" class="pt-cv-thumbnail" alt="The Beyond sci-fi" srcset="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/The-Beyond-sci-fi-370x180.jpg 370w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/The-Beyond-sci-fi-268x130.jpg 268w" sizes="(max-width: 370px) 100vw, 370px" /></a></p><h4 class="pt-cv-title"><a href="http://www.fortressofsolitude.co.za/showmax-sci-fi/" class="_self" target="_self">Underrated Current Sci-Fi TV Shows And Films You Need To Be Watching</a></h4></div></div><div class="col-md-12 col-sm-12 col-xs-12 pt-cv-content-item pt-cv-1-col"><div class='pt-cv-ifield'><a href="http://www.fortressofsolitude.co.za/most-amazing-moments-marvel-cinematic-universe/" class="_self pt-cv-href-thumbnail pt-cv-thumb-default" target="_self"><img width="370" height="180" src="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/Marvel-Cinematic-Universe-370x180.jpg" class="pt-cv-thumbnail" alt="Marvel Cinematic Universe" srcset="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/Marvel-Cinematic-Universe-370x180.jpg 370w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/04/Marvel-Cinematic-Universe-268x130.jpg 268w" sizes="(max-width: 370px) 100vw, 370px" /></a></p><h4 class="pt-cv-title"><a href="http://www.fortressofsolitude.co.za/most-amazing-moments-marvel-cinematic-universe/" class="_self" target="_self">The Most Amazing Moments From The Marvel Cinematic Universe So Far</a></h4></div></div></div></div></div></div></aside><aside id="custom_html-3" class="widget_text widget clearfix widget_custom_html"><div class="textwidget custom-html-widget"><center><ins class="adsbygoogle" style="display:inline-block;width:300px;height:250px" data-ad-client="ca-pub-6351331605423593" data-ad-slot="8971065090"></ins> <script>(adsbygoogle = window.adsbygoogle || []).push({});</script> </center></div></aside><aside id="polls-widget-2" class="widget clearfix widget_polls-widget"><h2 class="mgm-title"><span>Poll Question</span></h2><div id="polls-4" class="wp-polls"><form id="polls_form_4" class="wp-polls-form" action="/index.php" method="post"><p style="display: none;"><input type="hidden" id="poll_4_nonce" name="wp-polls-nonce" value="d74139a68d" /></p><p style="display: none;"><input type="hidden" name="poll_id" value="4" /></p><p style="text-align: center"><strong style="color: #ff0000">What is the best Marvel movie?</strong><div id="polls-4-ans" class="wp-polls-ans"><ul class="wp-polls-ul"></p><li><input type="radio" id="poll-answer-17" name="poll_4" value="17" /> <label for="poll-answer-17">Avengers: Infinity War</label></li><li><input type="radio" id="poll-answer-18" name="poll_4" value="18" /> <label for="poll-answer-18">Black Panther</label></li><li><input type="radio" id="poll-answer-19" name="poll_4" value="19" /> <label for="poll-answer-19">Thor: Ragnarok</label></li><li><input type="radio" id="poll-answer-20" name="poll_4" value="20" /> <label for="poll-answer-20">Captain America: The Winter Soldier</label></li><li><input type="radio" id="poll-answer-21" name="poll_4" value="21" /> <label for="poll-answer-21">Captain America: Civil War</label></li><li><input type="radio" id="poll-answer-22" name="poll_4" value="22" /> <label for="poll-answer-22">The Avengers</label></li><li><input type="radio" id="poll-answer-23" name="poll_4" value="23" /> <label for="poll-answer-23">Guardians of the Galaxy Vol. 1</label></li><li><input type="radio" id="poll-answer-24" name="poll_4" value="24" /> <label for="poll-answer-24">Spider-Man: Homecoming</label></li><li><input type="radio" id="poll-answer-25" name="poll_4" value="25" /> <label for="poll-answer-25">Iron Man</label></li></ul><p style="text-align: center"><input type="button" name="vote" value=" Vote " class="Buttons" onclick="poll_vote(4);" /></p><p style="text-align: center"><a href="#ViewPollResults" onclick="poll_result(4); return false;" title="View Results Of This Poll">View Results</a></p></div></form></div><div id="polls-4-loading" class="wp-polls-loading"><img src="http://www.fortressofsolitude.co.za/wp-content/plugins/wp-polls/images/loading.gif" width="16" height="16" alt="Loading ..." title="Loading ..." class="wp-polls-image" />&nbsp;Loading ...</div></aside></div></div></div></div></div></div><div class="mobileads"><center> <a target="_blank" rel="nofollow" href="https://goo.gl/8oxHCK"><img width="320" height="250" src="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Games-Festival-banner_-320-x250.jpg" class="image wp-image-116807 attachment-full size-full" alt="Games Festival" style="max-width: 100%; height: auto;" srcset="http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Games-Festival-banner_-320-x250.jpg 320w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Games-Festival-banner_-320-x250-24x19.jpg 24w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Games-Festival-banner_-320-x250-36x28.jpg 36w, http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Games-Festival-banner_-320-x250-48x38.jpg 48w" sizes="(max-width: 320px) 100vw, 320px" /></a></div><div id="mgm-footer-wrap" class="mgm-gray-frame"><div id="mgm-full-footer"><footer class="container" id="widgetized-footer"><div class="row"><div class="col-md-4 footer-item"></div><div class="col-md-4 footer-item"></div><div class="col-md-4 footer-item"></div></div></footer></div></div></div></div></div></div></div><div id="mgm-full-site-info"><div id="colophon" class="site-footer container" itemscope="itemscope" itemtype="http://schema.org/WPFooter" role="contentinfo"><div class="site-info row"><div class="col-md-12"><div id="footer-logo" class="wow flipInX" data-wow-delay="0.5s"> <a href="http://www.fortressofsolitude.co.za/" title="Fortress of Solitude"><img src="https://i0.wp.com/www.fortressofsolitude.co.za/wp-content/themes/mightymag/images/fortress-of-Solitude_y1u6tm.jpg" alt="Fortress of Solitude" /></a></div><div class="endy"> <a target="_blank" rel="nofollow" href="https://www.facebook.com/FortressZA/" class="fa fa-facebook"></a> <a target="_blank" rel="nofollow" href="https://twitter.com/FortressofS" class="fa fa-twitter"></a> <a target="_blank" rel="nofollow" href="https://www.youtube.com/channel/UCdB1prTqEL-GNyYyi8xcGwA" class="fa fa-youtube"></a> <a target="_blank" rel="nofollow" href="https://www.instagram.com/fortresszar/" class="fa fa-instagram"></a> <a href="http://www.fortressofsolitude.co.za/feeds/" class="fa fa-rss"></a><h6>Copyright ©2018 Fortress of Solitude. All Rights Reserved.</h6><h6><a href="http://www.fortressofsolitude.co.za/privacy-site-disclaimer/">Site Disclaimer and Terms of Use.</a></h6></div></div></div></div></div></div></div></div> <script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','http://www.fortressofsolitude.co.za/wp-content/plugins/wp-disable/cache/local-ga.js','ga');ga('create', 'UA-29869719-1', 'auto');ga('set', 'displayFeaturesTask', null);ga('send', 'pageview');</script> <script>jQuery(document).ready(function($) {
+ $(".entry-img .entry-img-src a").attr("href", "http://www.fortressofsolitude.co.za/wp-content/uploads/2018/05/Céline-Dion-Belches-Her-Way-Onto-Deadpool-2s-Soundtrack.jpg");
+ $(".entry-img .entry-img-src a").attr("data-group", "mgm-featured");
+ });</script> <script>var templateDir = "http://www.fortressofsolitude.co.za/wp-content/themes/mightymag";</script> <script>jQuery( document ).ready( function( $ ) {
+
+ /* djwd StickyClone function */
+ var $nav = $(".nav-wrap"),
+
+ //clone navigation
+ $clone = $nav.before($nav.clone().attr( "id" , "nav-clone") );
+
+ //rename the original nav ID to make the small menu toggle:target work
+ $("#mgm-menu").attr('id', 'mgm-menu-replica');
+
+ timeout = false;
+
+ /* The function */
+ $.fn.stickyNav = function() {
+
+ $(window).on("scroll", function() {
+ var fromTop = $( document ).scrollTop(); /* Firefox abmazumdar fix @since MGM 1.4 */
+
+ if(fromTop > 400){
+ $("body").addClass('down')
+ } else {
+ $("body").removeClass('down');
+ };
+ });
+
+ };
+
+ // Check viewport width on first load.
+ if ( $( window ).width() >= 767 ) {
+ $.fn.stickyNav();
+ };
+
+ // Check viewport width when user resizes the browser window.
+ $( window ).resize( function() {
+ var browserWidth = $( window ).width();
+
+ if ( false !== timeout )
+ clearTimeout( timeout );
+
+ timeout = setTimeout( function() {
+ if ( browserWidth > 767 ) {
+ $.fn.stickyNav();
+ }
+ }, 200 );
+ } );
+
+ //Remove double scroll up
+ $( "#mgm-branding .scrollup, .nav-wrap#nav-original .scrollup" ).remove();
+ } );</script> <script>jQuery(document).ready(function($) {
+
+ $(".flex-container .mgm-spinner").hide(300);
+ //$(".flexslider").delay(200).fadeIn(500);
+
+ jQuery('.slider1 .flexslider').flexslider({
+
+ animation: "fade",
+ direction: "horizontal",
+ startAt: 0,
+ slideshowSpeed: 1000,
+ animationSpeed: 200,
+ useCSS: false,
+ //directionNav: true,
+ prevText: "",
+ nextText: "",
+
+ start: function(slider){
+ $('.slider1 .flexslider').resize();
+ }
+
+ });
+
+ });</script> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-29869719-1"></script> <script>window.dataLayer = window.dataLayer || [];
+ function gtag(){dataLayer.push(arguments);}
+ gtag('js', new Date());
+
+ gtag('config', 'UA-29869719-1');</script> <script type="text/javascript">!function(t,e){"use strict";function n(){if(!a){a=!0;for(var t=0;t<d.length;t++)d[t].fn.call(window,d[t].ctx);d=[]}}function o(){"complete"===document.readyState&&n()}t=t||"docReady",e=e||window;var d=[],a=!1,c=!1;e[t]=function(t,e){return a?void setTimeout(function(){t(e)},1):(d.push({fn:t,ctx:e}),void("complete"===document.readyState||!document.attachEvent&&"interactive"===document.readyState?setTimeout(n,1):c||(document.addEventListener?(document.addEventListener("DOMContentLoaded",n,!1),window.addEventListener("load",n,!1)):(document.attachEvent("onreadystatechange",o),window.attachEvent("onload",n)),c=!0)))}}("wpBruiserDocReady",window);
+ (function(){var wpbrLoader = (function(){var g=document,b=g.createElement('script'),c=g.scripts[0];b.async=1;b.src='http://www.fortressofsolitude.co.za/?gdbc-client=3.1.18-'+(new Date()).getTime();c.parentNode.insertBefore(b,c);});wpBruiserDocReady(wpbrLoader);window.onunload=function(){};window.addEventListener('pageshow',function(event){if(event.persisted){(typeof window.WPBruiserClient==='undefined')?wpbrLoader():window.WPBruiserClient.requestTokens();}},false);})();</script><script type='text/javascript'>/* <![CDATA[ */ var scriptParams = {"google_search_engine_id":"016690364512356521279:bphulqdtzzw"}; /* ]]> */</script> <script type='text/javascript'>/* <![CDATA[ */ var PT_CV_PUBLIC = {"_prefix":"pt-cv-","page_to_show":"5","_nonce":"849f825a20","is_admin":"","is_mobile":"","ajaxurl":"http:\/\/www.fortressofsolitude.co.za\/wp-admin\/admin-ajax.php","lang":"","loading_image_src":"data:image\/gif;base64,R0lGODlhDwAPALMPAMrKygwMDJOTkz09PZWVla+vr3p6euTk5M7OzuXl5TMzMwAAAJmZmWZmZszMzP\/\/\/yH\/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgAPACwAAAAADwAPAAAEQvDJaZaZOIcV8iQK8VRX4iTYoAwZ4iCYoAjZ4RxejhVNoT+mRGP4cyF4Pp0N98sBGIBMEMOotl6YZ3S61Bmbkm4mAgAh+QQFCgAPACwAAAAADQANAAAENPDJSRSZeA418itN8QiK8BiLITVsFiyBBIoYqnoewAD4xPw9iY4XLGYSjkQR4UAUD45DLwIAIfkEBQoADwAsAAAAAA8ACQAABC\/wyVlamTi3nSdgwFNdhEJgTJoNyoB9ISYoQmdjiZPcj7EYCAeCF1gEDo4Dz2eIAAAh+QQFCgAPACwCAAAADQANAAAEM\/DJBxiYeLKdX3IJZT1FU0iIg2RNKx3OkZVnZ98ToRD4MyiDnkAh6BkNC0MvsAj0kMpHBAAh+QQFCgAPACwGAAAACQAPAAAEMDC59KpFDll73HkAA2wVY5KgiK5b0RRoI6MuzG6EQqCDMlSGheEhUAgqgUUAFRySIgAh+QQFCgAPACwCAAIADQANAAAEM\/DJKZNLND\/kkKaHc3xk+QAMYDKsiaqmZCxGVjSFFCxB1vwy2oOgIDxuucxAMTAJFAJNBAAh+QQFCgAPACwAAAYADwAJAAAEMNAs86q1yaWwwv2Ig0jUZx3OYa4XoRAfwADXoAwfo1+CIjyFRuEho60aSNYlOPxEAAAh+QQFCgAPACwAAAIADQANAAAENPA9s4y8+IUVcqaWJ4qEQozSoAzoIyhCK2NFU2SJk0hNnyEOhKR2AzAAj4Pj4GE4W0bkJQIAOw=="};
+var PT_CV_PAGINATION = {"first":"\u00ab","prev":"\u2039","next":"\u203a","last":"\u00bb","goto_first":"Go to first page","goto_prev":"Go to previous page","goto_next":"Go to next page","goto_last":"Go to last page","current_page":"Current page is","goto_page":"Go to page"}; /* ]]> */</script> <script type='text/javascript'>/* <![CDATA[ */ var pollsL10n = {"ajax_url":"http:\/\/www.fortressofsolitude.co.za\/wp-admin\/admin-ajax.php","text_wait":"Your last request is still being processed. Please wait a while ...","text_valid":"Please choose a valid poll answer.","text_multiple":"Maximum number of choices allowed: ","show_loading":"1","show_fading":"1"}; /* ]]> */</script> <script type='text/javascript'>/* <![CDATA[ */ var yjlSettings = {"pagination":"","comPerpage":"50","numPerpage":"","pagerPos":"","repForm":"","gifUrl":"http:\/\/www.fortressofsolitude.co.za\/wp-content\/themes\/mightymag\/images\/spinner.gif","prev":"<i class=\"icon-chevron-left><\/i>","next":"<i class=\"icon-chevron-right><\/i>","timeOut":"<div class=\"alert alert-error\"><strong>Error: <\/strong> server time out, please try again.<\/div>","fast":"<div class=\"alert alert-block\"><strong>Please<\/strong> slow down, you are posting to fast!<\/div>","thank":"<div class=\"alert alert-success\"><strong>Thank you<\/strong> for your comment!<\/div>","order":"asc","autoGrow":""}; /* ]]> */</script> <script>(function(w, d){
+ var b = d.getElementsByTagName("body")[0];
+ var s = d.createElement("script"); s.async = true;
+ var v = !("IntersectionObserver" in w) ? "8.6.0" : "10.4.2";
+ s.src = "http://www.fortressofsolitude.co.za/wp-content/plugins/wp-rocket/inc/front/js/lazyload-" + v + ".min.js";
+ w.lazyLoadOptions = {
+ elements_selector: "img, iframe",
+ data_src: "lazy-src",
+ data_srcset: "lazy-srcset",
+ skip_invisible: false,
+ class_loading: "lazyloading",
+ class_loaded: "lazyloaded",
+ threshold: 300,
+ callback_load: function(element) {
+ if ( element.tagName === "IFRAME" && element.dataset.rocketLazyload == "fitvidscompatible" ) {
+ if (element.classList.contains("lazyloaded") ) {
+ if (typeof window.jQuery != "undefined") {
+ if (jQuery.fn.fitVids) {
+ jQuery(element).parent().fitVids();
+ }
+ }
+ }
+ }
+ }
+ }; // Your options here. See "recipes" for more information about async.
+ b.appendChild(s);
+}(window, document));
+
+// Listen to the Initialized event
+window.addEventListener('LazyLoad::Initialized', function (e) {
+ // Get the instance and puts it in the lazyLoadInstance variable
+ var lazyLoadInstance = e.detail.instance;
+
+ var observer = new MutationObserver(function(mutations) {
+ mutations.forEach(function(mutation) {
+ lazyLoadInstance.update();
+ } );
+ } );
+
+ var b = document.getElementsByTagName("body")[0];
+ var config = { childList: true, subtree: true };
+
+ observer.observe(b, config);
+}, false);</script> <script>function lazyLoadThumb(e){var t='<img src="https://i.ytimg.com/vi/ID/hqdefault.jpg">',a='<div class="play"></div>';return t.replace("ID",e)+a}function lazyLoadYoutubeIframe(){var e=document.createElement("iframe"),t="https://www.youtube.com/embed/ID?autoplay=1";e.setAttribute("src",t.replace("ID",this.dataset.id)),e.setAttribute("frameborder","0"),e.setAttribute("allowfullscreen","1"),this.parentNode.replaceChild(e,this)}document.addEventListener("DOMContentLoaded",function(){var e,t,a=document.getElementsByClassName("rll-youtube-player");for(t=0;t<a.length;t++)e=document.createElement("div"),e.setAttribute("data-id",a[t].dataset.id),e.innerHTML=lazyLoadThumb(a[t].dataset.id),e.onclick=lazyLoadYoutubeIframe,a[t].appendChild(e)});</script> </div> <script src="http://www.fortressofsolitude.co.za/wp-content/cache/min/1/6ae0bb5a20bf3865d386cde5a15c26b8.js" data-minify="1"></script></body></html>
diff --git a/test/test-pages/gmw/expected.html b/test/test-pages/gmw/expected.html
index b3c62d3..1b69754 100644
--- a/test/test-pages/gmw/expected.html
+++ b/test/test-pages/gmw/expected.html
@@ -1,4 +1,5 @@
-<div id="contentMain">
+<div id="contentMsg">
+ <p><span id="pubTime">2017-03-10 09:58</span> <span id="source">来源:<a href="http://tech.163.com/17/0228/00/CEAPST9C00097U81.html" target="_blank">网易科学人</a></span> <span id="author"></span></p></div><div id="contentMain">
diff --git a/test/test-pages/heise/expected-images.json b/test/test-pages/heise/expected-images.json
index 61370af..9cc49ac 100644
--- a/test/test-pages/heise/expected-images.json
+++ b/test/test-pages/heise/expected-images.json
@@ -1 +1 @@
-["http:\/\/www.heise.de\/imgs\/18\/1\/4\/6\/2\/3\/5\/1\/Barcode-Scanner-With-Border-f0c62350bd8d9d96.jpeg","http:\/\/3.f.ix.de\/scale\/geometry\/600\/q75\/imgs\/18\/1\/4\/6\/2\/3\/5\/1\/Barcode-Scanner-With-Border-fc08c913da5cea5d.jpeg"] \ No newline at end of file
+["http:\/\/3.f.ix.de\/scale\/geometry\/600\/q75\/imgs\/18\/1\/4\/6\/2\/3\/5\/1\/Barcode-Scanner-With-Border-fc08c913da5cea5d.jpeg"] \ No newline at end of file
diff --git a/test/test-pages/heise/expected-metadata.json b/test/test-pages/heise/expected-metadata.json
index c723ccd..ae180bf 100644
--- a/test/test-pages/heise/expected-metadata.json
+++ b/test/test-pages/heise/expected-metadata.json
@@ -1,5 +1,5 @@
{
"Title": "1Password für Mac generiert Einmal-Passwörter",
- "Author": null,
+ "Author": "Mac & i",
"Excerpt": "Das in der iOS-Version bereits enthaltene TOTP-Feature ist nun auch für OS X 10.10 verfügbar. Zudem gibt es neue Zusatzfelder in der Datenbank und weitere Verbesserungen."
}
diff --git a/test/test-pages/herald-sun-1/expected-metadata.json b/test/test-pages/herald-sun-1/expected-metadata.json
index 4219464..b8ad6c2 100644
--- a/test/test-pages/herald-sun-1/expected-metadata.json
+++ b/test/test-pages/herald-sun-1/expected-metadata.json
@@ -1,5 +1,5 @@
{
- "Title": "Angry media won’t buckle over new surveillance laws\n\t\t\t\t\t\t| Herald Sun",
+ "Title": "Angry media won’t buckle over new surveillance laws",
"Author": "JOE HILDEBRAND",
"Excerpt": "A HIGH-powered federal government team has been doing the rounds of media organisations in the past few days in an attempt to allay concerns about the impact of new surveillance legislation on press freedom. It failed."
}
diff --git a/test/test-pages/herald-sun-1/expected.html b/test/test-pages/herald-sun-1/expected.html
index 6b0cbe6..6896eed 100644
--- a/test/test-pages/herald-sun-1/expected.html
+++ b/test/test-pages/herald-sun-1/expected.html
@@ -1,8 +1,7 @@
<div>
<div>
<div>
- <div>
- <img alt="A new Bill would require telecommunications service providers to store so-called ‘metadat" data-src="http://api.news.com.au/content/1.0/heraldsun/images/1227261885862?format=jpg&amp;group=iphone&amp;size=medium" src="http://api.news.com.au/content/1.0/heraldsun/images/1227261885862?format=jpg&amp;group=iphone&amp;size=medium"></img></div>
+ <p><img alt="A new Bill would require telecommunications service providers to store so-called ‘metadat" data-src="http://api.news.com.au/content/1.0/heraldsun/images/1227261885862?format=jpg&amp;group=iphone&amp;size=medium" src="http://api.news.com.au/content/1.0/heraldsun/images/1227261885862?format=jpg&amp;group=iphone&amp;size=medium"></img></p>
<p>
<span id="imgCaption">A new Bill would require telecommunications service providers to store so-called ‘metadata’ for two years.</span>
<span><em>Source:</em>
@@ -14,9 +13,9 @@
A HIGH-powered federal government team has been doing the rounds of media organisations in the past few days in an attempt to allay concerns about the impact of new surveillance legislation on press freedom. It failed.
</strong></p>
<p>The roadshow featured the Prime Minister’s national security adviser, Andrew Shearer, Justin Bassi, who advises Attorney-General George Brandis on crime and security matters, and Australian Federal Police Commissioner Andrew Colvin. Staffers from the office of Communications Minister Malcolm Turnbull also took part.</p><p>They held meetings with executives from News Corporation and Fairfax, representatives of the TV networks, the ABC top brass and a group from the media union and the Walkley journalism foundation. I was involved as a member of the Walkley board.</p><p>The initiative, from Tony Abbott’s office, is evidence that the Government has been alarmed by the strength of criticism from media of the Data Retention Bill it wants passed before Parliament rises in a fortnight. Bosses, journalists, even the Press Council, are up in arms, not only over this measure, but also over aspects of two earlier pieces of national security legislation that interfere with the ability of the media to hold government to account.</p>
-
+
-
+
<div id="read-more">
diff --git a/test/test-pages/herald-sun-1/source.html b/test/test-pages/herald-sun-1/source.html
index f042468..050bed4 100644
--- a/test/test-pages/herald-sun-1/source.html
+++ b/test/test-pages/herald-sun-1/source.html
@@ -1,35 +1,35 @@
<!--?xml version="1.0" encoding="UTF-8" ?--><!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile12.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en-au" xml:lang="en-au"><head>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
<!-- site: HeraldSun esi: true breachflag: true channel: mobile -->
-
-
-
-
+
+
+
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<meta name="HandheldFriendly" content="true"/>
@@ -38,10 +38,10 @@
<meta name="format-detection" content="telephone=no"/>
<meta name="format-detection" content="address=no"/>
<!--thisPage::>1226616041343 thisMobilePage::>1226586877147 -->
-
+
<script>bruce_rtget={"sno": "1", "snol": "h,e,g", "tmstamp": "2015-03-21 11:30:02.973988"};</script>
-
-
+
+
<script type="text/javascript">
(function() {
var useSSL = 'https:' == document.location.protocol;
@@ -50,7 +50,7 @@
})();
</script><script src="http://tags.news.com.au/prod/utrack/utrack.js?cb=1426898115317"></script>
-
+
<title>Angry media won’t buckle over new surveillance laws
| Herald Sun</title>
<meta name="description" content="A HIGH-powered federal government team has been doing the rounds of media organisations in the past few days in an attempt to allay concerns about the impact of new surveillance legislation on press freedom. It failed."/>
@@ -88,12 +88,12 @@
ndm.account = {
urls: { login: "http://www.heraldsun.com.au/login", signup: "http://subscription.news.com.au/heraldsun/offers", account: "https://myaccount.news.com.au/heraldsun/viewAccount" }
};
-
-
-
-
-
-
+
+
+
+
+
+
window.ndm = window.ndm || {};window.ndm.cam = {'status': 'logged-out', 'memtype': 'anonymous'};ndm.config = {idp: {relayState: 'http://m.heraldsun.com.au/news/opinion/angry-media-wont-buckle-over-new-surveillance-laws/story-fni0fha6-1227261886014?nk=e65db50ff7e443a778cb38df8e9ad061',samlLoc: 'http://saml.cam.idmndm.com',channel: 'msite',site: 'HeraldSun'}, metered: {mode: 'free',state: {'max': 5, 'access': 'true', 'count': 1},endpoint: {registration: 'https://idp.news.com.au/idp/Authn/rest',products: 'http://digitalpass.heraldsun.com.au'},productInfo: {offerCode: '2_1_',sourceCode: 'HSWEB_MOB100_a'}}};
window.ndm.idp = window.ndm.idp || {};
window.ndm.idp.socialEnabled = !window.ndm.cam.paywalldisabled;
@@ -222,8 +222,8 @@ window.envoy_config.identity = {
//]]>
</script>
<!-- Resource Included []-->
-
-
+
+
<!-- new.adkit -->
<script type="text/javascript">
//<![CDATA[
@@ -260,7 +260,7 @@ window.envoy_config.identity = {
utag_data.net_article_updated_time="2015-03-13 21:30:09";
//]]>
</script>
-
+
<script src="http://tags.news.com.au/prod/trending/hs_m.js?id=1227261886014"></script>
<meta http-equiv="X-UA-Compatible" content="IE=8"/>
<meta name="robots" content="noarchive"/>
@@ -285,7 +285,7 @@ window.envoy_config.identity = {
<div id="mobile-nav" class="site-nav">
<!-- support 3 tiers/levels of m sites navigation -->
<!-- esi true once login 1226622207516-->
-
+
<div class="module navigation-module primaryholder-nav sectionref-header-nav id1226622207516 ">
<div class="module-content">
<ul class=" tier-1">
@@ -484,7 +484,7 @@ window.envoy_config.identity = {
</div><!-- // .module.navigation-module -->
<div class="nav-login">
-
+
<div class="module form-module form-module-cam-login">
<div class="module-header">
<ul class="more-links">
@@ -594,7 +594,7 @@ window.envoy_config.identity = {
</div>
</div>
</div>
-
+
</div>
</div>
<div id="headerAd">
@@ -609,7 +609,7 @@ window.envoy_config.identity = {
</div><!-- // #section-header-logo -->
</div><!-- // #section-header -->
<div id="story">
-
+
<div class="story-header">
<div class="story-section">
<h2 class="heading">
@@ -659,10 +659,10 @@ window.envoy_config.identity = {
</strong></p>
</div>
<p>The roadshow featured the Prime Minister’s national security adviser, Andrew Shearer, Justin Bassi, who advises Attorney-General George Brandis on crime and security matters, and Australian Federal Police Commissioner Andrew Colvin. Staffers from the office of Communications Minister Malcolm Turnbull also took part.</p><p>They held meetings with executives from News Corporation and Fairfax, representatives of the TV networks, the ABC top brass and a group from the media union and the Walkley journalism foundation. I was involved as a member of the Walkley board.</p><p>The initiative, from Tony Abbott’s office, is evidence that the Government has been alarmed by the strength of criticism from media of the Data Retention Bill it wants passed before Parliament rises in a fortnight. Bosses, journalists, even the Press Council, are up in arms, not only over this measure, but also over aspects of two earlier pieces of national security legislation that interfere with the ability of the media to hold government to account.</p>
-
+
<div class="story-promo story-promo-middle">
</div>
-
+
<div id="read-more">
<div id="read-more-link">
<a href="">Read more</a>
@@ -687,12 +687,12 @@ window.envoy_config.identity = {
utag_data = window.utag_data || {};
utag_data.net_content_type = (utag_data.net_content_type ? utag_data.net_content_type + "+" : "") + "comments";
</script>
-
+
<div class="story-promo story-promo-bottom">
</div>
-
-
-
+
+
+
<!-- [Group:1226671432961] on [fwprodcontent02.ni.news.com.au] @ [March 21, 2015 11:05AM] -->
<div class="group text-g-news-ms-group-adsense-medium item-count-1 group-id-1226671432961">
<div class="group-content">
@@ -704,7 +704,7 @@ window.envoy_config.identity = {
</div><!-- // .group-content.item-count-1 -->
</div><!-- // .group -->
-
+
<!-- [Group:1226721033461] on [fwprodcontent10.ni.news.com.au] @ [March 21, 2015 11:30AM] -->
<div class="group outbrain-group text-g-more-stories item-count-1 group-id-1226721033461">
<div class="group-header">
@@ -718,7 +718,7 @@ window.envoy_config.identity = {
</div><!-- // .group-content.item-count-1 -->
</div><!-- // .group -->
-
+
<!-- [Group:1226615951541] on [fwprodcontent08.ni.news.com.au] @ [March 21, 2015 11:26AM] -->
<div class="group text-g-other-opinion-columns item-count-1 group-id-1226615951541">
<div class="group-header">
@@ -884,7 +884,7 @@ window.envoy_config.identity = {
</div><!-- // .group-content.item-count-1 -->
</div><!-- // .group -->
-
+
<!-- [Group:1226586873038] on [fwprodcontent07.ni.news.com.au] @ [March 21, 2015 11:30AM] -->
<div class="group collection text-g-nn-mob-group-mostread item-count-1 group-id-1226586873038">
<div class="group-content">
@@ -906,9 +906,9 @@ window.envoy_config.identity = {
<div class="ad-block ad-m-banner" id="ad-m-banner-1"></div>
</div>
<div id="network-account">
-
+
<div class="network-login">
-
+
<div class="module form-module form-module-cam-login">
<div class="module-header">
<ul class="more-links">
@@ -1018,11 +1018,11 @@ window.envoy_config.identity = {
</div>
</div>
</div>
-
+
</div> <!-- .network-login -->
</div> <!-- .network-account -->
<div id="mobile-footer-nav" class="site-nav">
-
+
<div class="module navigation-module footer-nav follow-us sectionref-footer-top id1226899054033 ">
<div class="module-content">
<ul class=" tier-1">
@@ -1048,16 +1048,16 @@ window.envoy_config.identity = {
<!-- // .tier-2 -->
</li>
<li class="footertop-nav last">
-
+
<ul class=" tier-2">
<li class="backtotop-nav first">
<a href="#page">Back To Top</a>
</li>
-
+
<li class="login">
<a href="/login">Log In</a>
</li>
-
+
<li class="signup-nav">
<a href="http://m.heraldsun.com.au/subscribe/news/1/?sourceCode=HSWEB_MOB539">Subscribe</a>
</li>
diff --git a/test/test-pages/hidden-nodes/expected-images.json b/test/test-pages/hidden-nodes/expected-images.json
new file mode 100644
index 0000000..0637a08
--- /dev/null
+++ b/test/test-pages/hidden-nodes/expected-images.json
@@ -0,0 +1 @@
+[] \ No newline at end of file
diff --git a/test/test-pages/hidden-nodes/expected-metadata.json b/test/test-pages/hidden-nodes/expected-metadata.json
new file mode 100644
index 0000000..37bab58
--- /dev/null
+++ b/test/test-pages/hidden-nodes/expected-metadata.json
@@ -0,0 +1,4 @@
+{
+ "Title": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt",
+ "Excerpt": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
+}
diff --git a/test/test-pages/hidden-nodes/expected.html b/test/test-pages/hidden-nodes/expected.html
new file mode 100644
index 0000000..4315329
--- /dev/null
+++ b/test/test-pages/hidden-nodes/expected.html
@@ -0,0 +1,14 @@
+<div>
+
+ <p>
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
+ </p>
+ <h2>
+ Secondary header
+ </h2>
+
+ <h2>
+ Third header
+ </h2>
+
+ </div> \ No newline at end of file
diff --git a/test/test-pages/hidden-nodes/source.html b/test/test-pages/hidden-nodes/source.html
new file mode 100644
index 0000000..e0699a0
--- /dev/null
+++ b/test/test-pages/hidden-nodes/source.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <title>
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
+ </title>
+ </head>
+ <body>
+ <h1>
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt
+ </h1>
+ <p>
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
+ </p>
+ <h2>
+ Secondary header
+ </h2>
+ <p style="display: none;">
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
+ </p>
+ <h2>
+ Third header
+ </h2>
+ <p hidden="hidden">
+ Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
+ </p>
+ </body>
+</html>
diff --git a/test/test-pages/hukumusume/expected.html b/test/test-pages/hukumusume/expected.html
index 4814443..defbcc1 100644
--- a/test/test-pages/hukumusume/expected.html
+++ b/test/test-pages/hukumusume/expected.html
@@ -1,27 +1,39 @@
-<div>
- <p><a href="http://fakehost/test/../../../index.html">福娘童話集</a> &gt; <a href="http://fakehost/test/../index.html">きょうのイソップ童話</a> &gt; <a href="http://fakehost/test/../itiran/01gatu.htm">1月のイソップ童話</a> &gt; 欲張りなイヌ</p>
- <p>
- <span color="#FF0000" size="+2">元旦のイソップ童話</span><p><img alt="よくばりなイヌ" height="360" src="http://fakehost/test/../../../gazou/pc_gazou/aesop/aesop052.jpg" width="480"></img></p><p> 欲張りなイヌ</p><p><a href="http://hukumusume.com/douwa/English/aesop/01/01_j.html">ひらがな</a> ←→ <a href="http://hukumusume.com/douwa/English/aesop/01/01_j&amp;E.html">日本語・英語</a> ←→ <a href="http://hukumusume.com/douwa/English/aesop/01/01_E.html">English</a></p></p>
- <table><tbody><tr><td>
- <table><tbody><tr><td><img height="7" src="http://fakehost/test/../../../../366/logo_bana/corner_1.gif" width="7"></img></td>
- <td>
- <span color="#FF0000"><b>おりがみをつくろう</b></span>
- </td>
- <td>
- <span size="-1">(<a href="http://www.origami-club.com/index.html"> おりがみくらぶ</a> より)</span>
- </td>
- <td><img height="7" src="http://fakehost/test/../../../../366/logo_bana/corner_2.gif" width="7"></img></td>
- </tr><tr><td colspan="4">
- <table><tbody><tr><td>
- <span size="+2"><a href="http://www.origami-club.com/easy/dogfase/index.html"><img alt="犬の顔の折り紙" height="51" src="http://fakehost/test/../../../gazou/origami_gazou/kantan/dogface.gif" width="73"></img>いぬのかお</a></span>   <a href="http://www.origami-club.com/easy/dog/index.html"><img alt="犬の顔の紙" height="43" src="http://fakehost/test/../../../gazou/origami_gazou/kantan/dog.gif" width="62"></img><span size="+2">いぬ</span></a></td>
- </tr></tbody></table></td>
- </tr></tbody></table></td>
- </tr></tbody></table><table><tbody><tr><td>♪音声配信(html5)</td>
- </tr><tr><td><audio controls="" src="http://ohanashi2.up.seesaa.net/mp3/ae_0101.mp3"></audio></td>
- </tr><tr><td>
- <span size="-1"><a href="http://www.voiceblog.jp/onokuboaki/">亜姫の朗読☆ イソップ童話より</a></span>
- </td>
- </tr></tbody></table><p>  肉をくわえたイヌが、橋を渡っていました。  ふと下を見ると、川の中にも肉をくわえたイヌがいます。 イヌはそれを見て、思いました。(あいつの肉の方が、大きそうだ)  イヌは、くやしくてたまりません。 (そうだ、あいつをおどかして、あの肉を取ってやろう)  そこでイヌは、川の中のイヌに向かって思いっきり吠えました。 「ウゥー、ワン!!」  そのとたん、くわえていた肉はポチャンと川の中に落ちてしまいました。 「ああー、ぁぁー」  川の中には、がっかりしたイヌの顔がうつっています。  さっきの川の中のイヌは、水にうつった自分の顔だったのです。  同じ物を持っていても、人が持っている物の方が良く見え、また、欲張るとけっきょく損をするというお話しです。</p>
- <p>おしまい</p>
- <p> </p>
- </div> \ No newline at end of file
+<div width="619">
+ <p>
+ <a href="http://fakehost/test/../../../index.html">福娘童話集</a> &gt; <a href="http://fakehost/test/../index.html">きょうのイソップ童話</a> &gt; <a href="http://fakehost/test/../itiran/01gatu.htm">1月のイソップ童話</a> &gt; 欲張りなイヌ
+ </p>
+ <div>
+ <p><span color="#FF0000" size="+2">元旦のイソップ童話</span></p><p><img alt="よくばりなイヌ" height="360" src="http://fakehost/test/../../../gazou/pc_gazou/aesop/aesop052.jpg" width="480"></img></p><p>
+ 欲張りなイヌ</p><p><a href="http://hukumusume.com/douwa/English/aesop/01/01_j.html">ひらがな</a> ←→ <a href="http://hukumusume.com/douwa/English/aesop/01/01_j&amp;E.html">日本語・英語</a> ←→ <a href="http://hukumusume.com/douwa/English/aesop/01/01_E.html">English</a></p></div>
+ <div>
+ <table readabilityDataTable="0"><tbody><tr><td>
+ <img height="7" src="http://fakehost/test/../../../../366/logo_bana/corner_1.gif" width="7"></img></td>
+ <td>
+ <span color="#FF0000"><b>おりがみをつくろう</b></span>
+ </td>
+ <td>
+ <span size="-1">( <a href="http://www.origami-club.com/index.html">おりがみくらぶ</a> より)</span>
+ </td>
+ <td>
+ <img height="7" src="http://fakehost/test/../../../../366/logo_bana/corner_2.gif" width="7"></img></td>
+ </tr><tr><td colspan="4">
+ <p>
+ <a href="http://www.origami-club.com/easy/dogfase/index.html"><span size="+2"><img alt="犬の顔の折り紙" height="51" src="http://fakehost/test/../../../gazou/origami_gazou/kantan/dogface.gif" width="73"></img>いぬのかお</span></a>   <a href="http://www.origami-club.com/easy/dog/index.html"><img alt="犬の顔の紙" height="43" src="http://fakehost/test/../../../gazou/origami_gazou/kantan/dog.gif" width="62"></img><span size="+2">いぬ</span></a>
+ </p></td>
+ </tr></tbody></table></div><table readabilityDataTable="0"><tbody><tr><td>
+ ♪音声配信(html5)
+ </td>
+ </tr><tr><td>
+ <audio controls="" src="http://ohanashi2.up.seesaa.net/mp3/ae_0101.mp3"></audio></td>
+ </tr><tr><td>
+ <a href="http://www.voiceblog.jp/onokuboaki/"><span size="-1">亜姫の朗読☆ イソップ童話より</span></a>
+ </td>
+ </tr></tbody></table><p>
+  肉をくわえたイヌが、橋を渡っていました。  ふと下を見ると、川の中にも肉をくわえたイヌがいます。 イヌはそれを見て、思いました。(あいつの肉の方が、大きそうだ)  イヌは、くやしくてたまりません。 (そうだ、あいつをおどかして、あの肉を取ってやろう)  そこでイヌは、川の中のイヌに向かって思いっきり吠えました。 「ウゥー、ワン!!」  そのとたん、くわえていた肉はポチャンと川の中に落ちてしまいました。 「ああー、ぁぁー」  川の中には、がっかりしたイヌの顔がうつっています。  さっきの川の中のイヌは、水にうつった自分の顔だったのです。  同じ物を持っていても、人が持っている物の方が良く見え、また、欲張るとけっきょく損をするというお話しです。
+ </p>
+ <p>
+ おしまい
+ </p>
+ <div>
+ <p></p></div>
+ </div> \ No newline at end of file
diff --git a/test/test-pages/hukumusume/source.html b/test/test-pages/hukumusume/source.html
index e39fedf..7cbaacd 100644
--- a/test/test-pages/hukumusume/source.html
+++ b/test/test-pages/hukumusume/source.html
@@ -1,44 +1,56 @@
-<html>
-
-<head>
- <title>欲張りなイヌ <福娘童話集 きょうのイソップ童話></title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
-</head>
-
-<body bgcolor="#FFFFFF" text="#000000">
- <table width="969" border="0" align="center" cellpadding="0" cellspacing="0">
- <tbody>
- <tr>
- <td colspan="5" height="12">
- <div align="center">
- <table width="100%" border="0">
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>
+ 欲張りなイヌ <福娘童話集 きょうのイソップ童話>
+ </title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ </head>
+ <body bgcolor="#FFFFFF" text="#000000">
+ <table width="969" border="0" align="center" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td colspan="5" height="12">
+ <div align="center">
+ <table width="100%" border="0">
+ <tbody>
+ <tr>
+ <td width="27%" align="center">
+ <a href="../../../index.html">福娘童話集</a> &gt; <a href="../index.html">きょうのイソップ童話</a>
+ </td>
+ <td width="46%" align="center">
+ <a href="http://hukumusume.com/douwa/pc/aesop/index.html"><img src="../../../gazou/pc_gazou/all/aesop_logo_llll.gif" alt="福娘童話集 きょうのイソップ童話" width="320" height="100" border="0" /></a>
+ </td>
+ <td width="27%" align="center" valign="bottom">
+ <a href="http://hukumusume.com/douwa/index.html"><img src="../../../gazou/pc_gazou/all/douwa_logo_top_.gif" alt="童話・昔話・おとぎ話の福娘童話集" width="170" height="50" border="0" /></a>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td width="166" height="830" valign="top">
+ <table width="166" border="0" cellpadding="0" cellspacing="0" bgcolor="#C8FFC8">
<tbody>
<tr>
- <td width="27%" align="center"><a href="../../../index.html">福娘童話集</a> &gt; <a href="../index.html">きょうのイソップ童話</a></td>
- <td width="46%" align="center"><a href="http://hukumusume.com/douwa/pc/aesop/index.html"><img src="../../../gazou/pc_gazou/all/aesop_logo_llll.gif" alt="福娘童話集 きょうのイソップ童話" width="320" height="100" border="0"></img></a></td>
- <td width="27%" align="center" valign="bottom"><a href="http://hukumusume.com/douwa/index.html"><img src="../../../gazou/pc_gazou/all/douwa_logo_top_.gif" alt="童話・昔話・おとぎ話の福娘童話集" width="170" height="50" border="0"></img></a></td>
+ <td height="7" valign="top">
+ <img src="../../../../366/logo_bana/corner_1.gif" width="7" height="7" />
+ </td>
+ <td></td>
+ <td align="right" valign="top">
+ <img src="../../../../366/logo_bana/corner_2.gif" width="7" height="7" />
+ </td>
</tr>
</tbody>
</table>
- </div>
- </td>
- </tr>
- <tr>
- <td width="166" height="830" valign="top">
- <table width="166" border="0" cellpadding="0" cellspacing="0" bgcolor="#C8FFC8">
- <tbody>
- <tr>
- <td height="7" valign="top"><img src="../../../../366/logo_bana/corner_1.gif" width="7" height="7"></img></td>
- <td></td>
- <td align="right" valign="top"><img src="../../../../366/logo_bana/corner_2.gif" width="7" height="7"></img></td>
- </tr>
- </tbody>
- </table>
- <table width="166" border="0" cellpadding="0" cellspacing="0">
- <tbody>
- <tr>
- <td width="310" height="610" align="center" bgcolor="#C8FFC8">
- <script type="text/javascript">
+ <table width="166" border="0" cellpadding="0" cellspacing="0">
+ <tbody>
+ <tr>
+ <td width="310" height="610" align="center" bgcolor="#C8FFC8">
+ <script type="text/javascript">
+ //<![CDATA[
<!--
google_ad_client = "ca-pub-2746615155806331";
/* 1a月160x600 */
@@ -46,74 +58,110 @@
google_ad_width = 160;
google_ad_height = 600;
//-->
- </script>
- <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
- </script>
- </td>
- </tr>
- <tr>
- <td align="center">&nbsp;</td>
- </tr>
- </tbody>
- </table>
- </td>
- <td width="619" valign="top">
- <p align="center"><a href="../../../index.html">福娘童話集</a> &gt; <a href="../index.html">きょうのイソップ童話</a> &gt; <a href="../itiran/01gatu.htm">1月のイソップ童話</a> &gt; 欲張りなイヌ</p>
- <p align="center">
- <font color="#FF0000" size="+2">元旦のイソップ童話</font><br></br> <br></br> <img src="../../../gazou/pc_gazou/aesop/aesop052.jpg" alt="よくばりなイヌ" width="480" height="360" border="1"></img><br></br> <br></br> 欲張りなイヌ<br></br> <br></br> <a href="http://hukumusume.com/douwa/English/aesop/01/01_j.html">ひらがな</a> ←→ <a href="http://hukumusume.com/douwa/English/aesop/01/01_j&amp;E.html">日本語・英語</a> ←→ <a href="http://hukumusume.com/douwa/English/aesop/01/01_E.html">English</a></p>
- <table width="100%" border="0" cellspacing="0" cellpadding="0">
- <tbody>
- <tr>
- <td height="90" align="center">
- <table width="80%" border="0" cellpadding="0" cellspacing="0" bgcolor="#C8FFC8">
- <tbody>
- <tr>
- <td width="35%" height="25" valign="top"><img src="../../../../366/logo_bana/corner_1.gif" width="7" height="7"></img></td>
- <td width="29%" align="center">
- <font color="#FF0000"><b>おりがみをつくろう</b></font>
- </td>
- <td width="35%" valign="bottom">
- <font size="-1">(<a href="http://www.origami-club.com/index.html"> おりがみくらぶ</a> より)</font>
- </td>
- <td width="1%" align="right" valign="top"><img src="../../../../366/logo_bana/corner_2.gif" width="7" height="7"></img></td>
- </tr>
- <tr>
- <td height="80" colspan="4" align="center" valign="top">
- <table width="98%" border="0" cellspacing="0" cellpadding="0">
- <tbody>
- <tr>
- <td height="75" align="center" valign="middle" bgcolor="#ECFFEC">
- <font size="+2"><a href="http://www.origami-club.com/easy/dogfase/index.html"><img src="../../../gazou/origami_gazou/kantan/dogface.gif" alt="犬の顔の折り紙" width="73" height="51" border="0"></img>いぬのかお</a></font>   <a href="http://www.origami-club.com/easy/dog/index.html"><img src="../../../gazou/origami_gazou/kantan/dog.gif" alt="犬の顔の紙" width="62" height="43" border="0"></img><font size="+2">いぬ</font></a></td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
- <table width="100%" border="0">
- <tbody>
- <tr>
- <td align="center">♪音声配信(html5)</td>
- </tr>
- <tr>
- <td align="center"><audio src="http://ohanashi2.up.seesaa.net/mp3/ae_0101.mp3" controls=""></audio></td>
- </tr>
- <tr>
- <td align="center">
- <font size="-1"><a href="http://www.voiceblog.jp/onokuboaki/">亜姫の朗読☆ イソップ童話より</a></font>
- </td>
- </tr>
- </tbody>
- </table>
- <p>  肉をくわえたイヌが、橋を渡っていました。  ふと下を見ると、川の中にも肉をくわえたイヌがいます。 イヌはそれを見て、思いました。(あいつの肉の方が、大きそうだ)  イヌは、くやしくてたまりません。 (そうだ、あいつをおどかして、あの肉を取ってやろう)  そこでイヌは、川の中のイヌに向かって思いっきり吠えました。 「ウゥー、ワン!!」  そのとたん、くわえていた肉はポチャンと川の中に落ちてしまいました。 「ああー、ぁぁー」  川の中には、がっかりしたイヌの顔がうつっています。  さっきの川の中のイヌは、水にうつった自分の顔だったのです。  同じ物を持っていても、人が持っている物の方が良く見え、また、欲張るとけっきょく損をするというお話しです。</p>
- <p align="center">おしまい</p>
- <p align="center"><a href="javascript:history.back();" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image10','','../../../gazou/pc_gazou/all/top_bana/back_logo_b.gif',1)"><img src="../../../gazou/pc_gazou/all/top_bana/back_logo_r.gif" alt="前のページへ戻る" name="Image10" width="175" height="32" border="0"></img></a> <br></br> <br></br>
- <script type="text/javascript">
+ //]]>
+ </script>
+ <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
+ </td>
+ </tr>
+ <tr>
+ <td align="center">
+ &#160;
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td width="619" valign="top">
+ <p align="center">
+ <a href="../../../index.html">福娘童話集</a> &gt; <a href="../index.html">きょうのイソップ童話</a> &gt; <a href="../itiran/01gatu.htm">1月のイソップ童話</a> &gt; 欲張りなイヌ
+ </p>
+ <p align="center">
+ <font color="#FF0000" size="+2">元旦のイソップ童話</font><br />
+ <br />
+ <br />
+ <br />
+ <img src="../../../gazou/pc_gazou/aesop/aesop052.jpg" alt="よくばりなイヌ" width="480" height="360" border="1" /><br />
+ <br />
+ <br />
+ <br />
+ 欲張りなイヌ<br />
+ <br />
+ <br />
+ <br />
+ <a href="http://hukumusume.com/douwa/English/aesop/01/01_j.html">ひらがな</a> ←→ <a href="http://hukumusume.com/douwa/English/aesop/01/01_j&amp;E.html">日本語・英語</a> ←→ <a href="http://hukumusume.com/douwa/English/aesop/01/01_E.html">English</a>
+ </p>
+ <table width="100%" border="0" cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr>
+ <td height="90" align="center">
+ <table width="80%" border="0" cellpadding="0" cellspacing="0" bgcolor="#C8FFC8">
+ <tbody>
+ <tr>
+ <td width="35%" height="25" valign="top">
+ <img src="../../../../366/logo_bana/corner_1.gif" width="7" height="7" />
+ </td>
+ <td width="29%" align="center">
+ <font color="#FF0000"><b>おりがみをつくろう</b></font>
+ </td>
+ <td width="35%" valign="bottom">
+ <font size="-1">( <a href="http://www.origami-club.com/index.html">おりがみくらぶ</a> より)</font>
+ </td>
+ <td width="1%" align="right" valign="top">
+ <img src="../../../../366/logo_bana/corner_2.gif" width="7" height="7" />
+ </td>
+ </tr>
+ <tr>
+ <td height="80" colspan="4" align="center" valign="top">
+ <table width="98%" border="0" cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr>
+ <td height="75" align="center" valign="middle" bgcolor="#ECFFEC">
+ <a href="http://www.origami-club.com/easy/dogfase/index.html"><font size="+2"><img src="../../../gazou/origami_gazou/kantan/dogface.gif" alt="犬の顔の折り紙" width="73" height="51" border="0" />いぬのかお</font></a>   <a href="http://www.origami-club.com/easy/dog/index.html"><img src="../../../gazou/origami_gazou/kantan/dog.gif" alt="犬の顔の紙" width="62" height="43" border="0" /><font size="+2">いぬ</font></a>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <table width="100%" border="0">
+ <tbody>
+ <tr>
+ <td align="center">
+ ♪音声配信(html5)
+ </td>
+ </tr>
+ <tr>
+ <td align="center">
+ <audio src="http://ohanashi2.up.seesaa.net/mp3/ae_0101.mp3" controls=""></audio>
+ </td>
+ </tr>
+ <tr>
+ <td align="center">
+ <a href="http://www.voiceblog.jp/onokuboaki/"><font size="-1">亜姫の朗読☆ イソップ童話より</font></a>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <p>
+  肉をくわえたイヌが、橋を渡っていました。  ふと下を見ると、川の中にも肉をくわえたイヌがいます。 イヌはそれを見て、思いました。(あいつの肉の方が、大きそうだ)  イヌは、くやしくてたまりません。 (そうだ、あいつをおどかして、あの肉を取ってやろう)  そこでイヌは、川の中のイヌに向かって思いっきり吠えました。 「ウゥー、ワン!!」  そのとたん、くわえていた肉はポチャンと川の中に落ちてしまいました。 「ああー、ぁぁー」  川の中には、がっかりしたイヌの顔がうつっています。  さっきの川の中のイヌは、水にうつった自分の顔だったのです。  同じ物を持っていても、人が持っている物の方が良く見え、また、欲張るとけっきょく損をするというお話しです。
+ </p>
+ <p align="center">
+ おしまい
+ </p>
+ <p align="center">
+ <a href="javascript:history.back();" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image10','','../../../gazou/pc_gazou/all/top_bana/back_logo_b.gif',1)"><img src="../../../gazou/pc_gazou/all/top_bana/back_logo_r.gif" alt="前のページへ戻る" name="Image10" width="175" height="32" border="0" id="Image10" /></a><br />
+ <br />
+ <br />
+ <br />
+ <script type="text/javascript">
+ //<![CDATA[
+
<!--
google_ad_client = "ca-pub-2746615155806331";
/* 1月336x280 */
@@ -121,153 +169,188 @@
google_ad_width = 336;
google_ad_height = 280;
//-->
- </script>
- <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
- </script>
- </p>
- </td>
- <td width="10"><img src="file:///C|/Documents and Settings/福娘note/デスクトップ/company_website15/image/spacer.gif" width="1" height="1"></img></td>
- <td width="166" valign="top">
- <table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#C8FFC8">
- <tbody>
- <tr>
- <td height="7" valign="top"><img src="../../../../366/logo_bana/corner_1.gif" width="7" height="7"></img></td>
- <td></td>
- <td align="right" valign="top"><img src="../../../../366/logo_bana/corner_2.gif" width="7" height="7"></img></td>
- </tr>
- </tbody>
- </table>
- <table width="166" border="0" bgcolor="#C8FFC8">
- <tbody>
- <tr>
- <td width="156" height="50">&nbsp;&nbsp;&nbsp;&nbsp;
- <font size="-1"><b>1月 1日の豆知識</b></font><br></br>
- <font size="-2"><u><br></br>
- 366日への旅</u></font>
- </td>
- </tr>
- <tr>
- <td height="50" bgcolor="#ECFFEC"><img src="file:///C|/Documents and Settings/福娘note/デスクトップ" width="1" height="1"></img><b><font size="-1">きょうの記念日</font></b><br></br>
- <font size="-1"><a href="../../../../366/kinenbi/pc/01gatu/1_01.htm">元旦</a></font>
- </td>
- </tr>
- <tr>
- <td height="50" bgcolor="#ECFFEC"><img src="file:///C|/Documents and Settings/福娘note/デスクトップ/company_website15/image/spacer.gif" width="1" height="1"></img><b><font size="-1">きょうの誕生花</font></b><br></br>
- <a href="../../../../366/hana/pc/01gatu/1_01.htm">
- <font size="-1">松(まつ)</font>
- </a>
- </td>
- </tr>
- <tr>
- <td height="50" bgcolor="#ECFFEC"><b><font size="-1">きょうの誕生日・出来事</font></b><br></br>
- <font size="-1"><a href="../../../../366/birthday/pc/01gatu/1_01.htm">1949年 Mr.マリック(マジシャン)</a></font>
- </td>
- </tr>
- <tr>
- <td height="50" bgcolor="#ECFFEC"><b><font size="-1">恋の誕生日占い</font></b><br></br>
- <font size="-1"><a href="../../../../sakura/uranai/birthday/01/01.html">自分の考えをしっかりと持った女の子。</a></font>
- </td>
- </tr>
- <tr>
- <td height="50" bgcolor="#ECFFEC"><b><font size="-1">なぞなぞ小学校</font></b><br></br>
- <font size="-1"><a href="../../../../nazonazo/new/2012/04/02.html">○(丸)を取ったらお母さんになってしまう男の人は?</a></font>
- </td>
- </tr>
- <tr>
- <td height="50" bgcolor="#ECFFEC"><b><font size="-1">あこがれの職業紹介</font></b><br></br>
- <font size="-1"><a href="../../../../sakura/navi/work/2017/041.html">歌手</a></font>
- </td>
- </tr>
- <tr>
- <td height="50" bgcolor="#ECFFEC"><b><font size="-1">恋の魔法とおまじない</font></b> 001 <br></br>
- <font size="-1"><a href="../../../../omajinai/new/2012/00/re01.html">両思いになれる おまじない</a></font>
- </td>
- </tr>
- <tr>
- <td height="50" bgcolor="#C8FFC8">
- <font size="-1">  <b>1月 1日の童話・昔話</b><br></br> <u><font size="-2"><br></br>
- 福娘童話集</font></u></font>
- </td>
- </tr>
- <tr>
- <td height="50" bgcolor="#ECFFEC"><b><font size="-1">きょうの日本昔話</font></b><br></br>
- <a href="../../../../douwa/pc/jap/01/01.htm">
- <font size="-1">ネコがネズミを追いかける訳</font>
- </a>
- </td>
- </tr>
- <tr>
- <td height="50" bgcolor="#ECFFEC"><b><font size="-1">きょうの世界昔話<img src="file:///C|/Documents and Settings/福娘note/デスクトップ/company_website15/image/spacer.gif" width="1" height="1"></img></font></b><br></br>
- <a href="../../../../douwa/pc/world/01/01a.htm">
- <font size="-1">モンゴルの十二支話</font>
- </a>
- </td>
- </tr>
- <tr>
- <td height="50" bgcolor="#ECFFEC"><img src="file:///C|/Documents and Settings/福娘note/デスクトップ/company_website15/image/spacer.gif" width="1" height="1"></img><b><font size="-1">きょうの日本民話</font></b><br></br>
- <a href="../../../../douwa/pc/minwa/01/01c.html">
- <font size="-1">仕事の取替えっこ</font>
- </a>
- </td>
- </tr>
- <tr>
- <td height="50" bgcolor="#ECFFEC"><b><font size="-1">きょうのイソップ童話</font></b><br></br>
- <a href="../../../../douwa/pc/aesop/01/01.htm">
- <font size="-1">欲張りなイヌ</font>
- </a>
- </td>
- </tr>
- <tr>
- <td height="50" bgcolor="#ECFFEC"><b><font size="-1">きょうの江戸小話</font></b><br></br>
- <a href="../../../../douwa/pc/kobanashi/01/01.htm">
- <font size="-1">ぞうきんとお年玉</font>
- </a>
- </td>
- </tr>
- <tr>
- <td height="50" bgcolor="#ECFFEC"><b><font size="-1">きょうの百物語</font></b><br></br>
- <a href="../../../../douwa/pc/kaidan/01/01.htm">
- <font size="-1">百物語の幽霊</font>
- </a>
- </td>
- </tr>
- </tbody>
- </table>
- <table width="100%" border="0" bgcolor="#C8FFC8">
- <tbody>
- <tr>
- <td height="30" align="center" bgcolor="#C8FFC8"><b><font size="-1">福娘のサイト</font></b></td>
- </tr>
- <tr>
- <td height="60" bgcolor="#ECFFEC">
- <font size="-1"><b>366日への旅</b><br></br> <a href="http://hukumusume.com/366/">毎日の記念日・誕生花 ・有名人の誕生日と性格判断</a></font>
- </td>
- </tr>
- <tr>
- <td height="60" bgcolor="#ECFFEC">
- <font size="-1"><b>福娘童話集</b><br></br> <a href="http://hukumusume.com/douwa/">世界と日本の童話と昔話</a></font>
- </td>
- </tr>
- <tr>
- <td height="60" bgcolor="#ECFFEC">
- <font size="-1"><b>女の子応援サイト -さくら-</b><br></br> <a href="http://hukumusume.com/sakura/index.html">誕生日占い、お仕事紹介、おまじない、など</a></font>
- </td>
- </tr>
- <tr>
- <td height="60" bgcolor="#ECFFEC">
- <font size="-1"><b>子どもの病気相談所</b><br></br> <a href="http://hukumusume.com/my_baby/sick/">病気検索と対応方法、症状から検索するWEB問診</a></font>
- </td>
- </tr>
- <tr>
- <td height="60" bgcolor="#ECFFEC">
- <font size="-1"><b>世界60秒巡り</b><br></br> <a href="http://hukumusume.com/366/world/">国旗国歌や世界遺産など、世界の国々の豆知識</a></font>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </tbody>
- </table>
-</body>
+ //]]>
+ </script>
+ <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
+ </p>
+ </td>
+ <td width="10">
+ <img src="file:///C|/Documents%20and%20Settings/%E7%A6%8F%E5%A8%98note/%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97/company_website15/image/spacer.gif" width="1" height="1" />
+ </td>
+ <td width="166" valign="top">
+ <table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#C8FFC8">
+ <tbody>
+ <tr>
+ <td height="7" valign="top">
+ <img src="../../../../366/logo_bana/corner_1.gif" width="7" height="7" />
+ </td>
+ <td></td>
+ <td align="right" valign="top">
+ <img src="../../../../366/logo_bana/corner_2.gif" width="7" height="7" />
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <table width="166" border="0" bgcolor="#C8FFC8">
+ <tbody>
+ <tr>
+ <td width="156" height="50">
+ &#160;&#160;&#160;&#160; <font size="-1"><b>1月 1日の豆知識</b></font><br />
+ <br />
+ <font size="-2"><u><br />
+ <br />
+ 366日への旅</u></font>
+ </td>
+ </tr>
+ <tr>
+ <td height="50" bgcolor="#ECFFEC">
+ <img src="file:///C|/Documents%20and%20Settings/%E7%A6%8F%E5%A8%98note/%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97" width="1" height="1" /><b><font size="-1">きょうの記念日</font></b><br />
+ <br />
+ <a href="../../../../366/kinenbi/pc/01gatu/1_01.htm"><font size="-1">元旦</font></a>
+ </td>
+ </tr>
+ <tr>
+ <td height="50" bgcolor="#ECFFEC">
+ <img src="file:///C|/Documents%20and%20Settings/%E7%A6%8F%E5%A8%98note/%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97/company_website15/image/spacer.gif" width="1" height="1" /><b><font size="-1">きょうの誕生花</font></b><br />
+ <br />
+ <a href="../../../../366/hana/pc/01gatu/1_01.htm"><font size="-1">松(まつ)</font></a>
+ </td>
+ </tr>
+ <tr>
+ <td height="50" bgcolor="#ECFFEC">
+ <b><font size="-1">きょうの誕生日・出来事</font></b><br />
+ <br />
+ <a href="../../../../366/birthday/pc/01gatu/1_01.htm"><font size="-1">1949年 Mr.マリック(マジシャン)</font></a>
+ </td>
+ </tr>
+ <tr>
+ <td height="50" bgcolor="#ECFFEC">
+ <b><font size="-1">恋の誕生日占い</font></b><br />
+ <br />
+ <a href="../../../../sakura/uranai/birthday/01/01.html"><font size="-1">自分の考えをしっかりと持った女の子。</font></a>
+ </td>
+ </tr>
+ <tr>
+ <td height="50" bgcolor="#ECFFEC">
+ <b><font size="-1">なぞなぞ小学校</font></b><br />
+ <br />
+ <a href="../../../../nazonazo/new/2012/04/02.html"><font size="-1">○(丸)を取ったらお母さんになってしまう男の人は?</font></a>
+ </td>
+ </tr>
+ <tr>
+ <td height="50" bgcolor="#ECFFEC">
+ <b><font size="-1">あこがれの職業紹介</font></b><br />
+ <br />
+ <a href="../../../../sakura/navi/work/2017/041.html"><font size="-1">歌手</font></a>
+ </td>
+ </tr>
+ <tr>
+ <td height="50" bgcolor="#ECFFEC">
+ <b><font size="-1">恋の魔法とおまじない</font></b> 001<br />
+ <br />
+ <a href="../../../../omajinai/new/2012/00/re01.html"><font size="-1">両思いになれる おまじない</font></a>
+ </td>
+ </tr>
+ <tr>
+ <td height="50" bgcolor="#C8FFC8">
+ <font size="-1">  <b>1月 1日の童話・昔話</b><br />
+ <br />
+ <u><font size="-2"><br />
+ <br />
+ 福娘童話集</font></u></font>
+ </td>
+ </tr>
+ <tr>
+ <td height="50" bgcolor="#ECFFEC">
+ <b><font size="-1">きょうの日本昔話</font></b><br />
+ <br />
+ <a href="../../../../douwa/pc/jap/01/01.htm"><font size="-1">ネコがネズミを追いかける訳</font></a>
+ </td>
+ </tr>
+ <tr>
+ <td height="50" bgcolor="#ECFFEC">
+ <b><font size="-1">きょうの世界昔話<img src="file:///C|/Documents%20and%20Settings/%E7%A6%8F%E5%A8%98note/%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97/company_website15/image/spacer.gif" width="1" height="1" /></font></b><br />
+ <br />
+ <a href="../../../../douwa/pc/world/01/01a.htm"><font size="-1">モンゴルの十二支話</font></a>
+ </td>
+ </tr>
+ <tr>
+ <td height="50" bgcolor="#ECFFEC">
+ <img src="file:///C|/Documents%20and%20Settings/%E7%A6%8F%E5%A8%98note/%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97/company_website15/image/spacer.gif" width="1" height="1" /><b><font size="-1">きょうの日本民話</font></b><br />
+ <br />
+ <a href="../../../../douwa/pc/minwa/01/01c.html"><font size="-1">仕事の取替えっこ</font></a>
+ </td>
+ </tr>
+ <tr>
+ <td height="50" bgcolor="#ECFFEC">
+ <b><font size="-1">きょうのイソップ童話</font></b><br />
+ <br />
+ <a href="../../../../douwa/pc/aesop/01/01.htm"><font size="-1">欲張りなイヌ</font></a>
+ </td>
+ </tr>
+ <tr>
+ <td height="50" bgcolor="#ECFFEC">
+ <b><font size="-1">きょうの江戸小話</font></b><br />
+ <br />
+ <a href="../../../../douwa/pc/kobanashi/01/01.htm"><font size="-1">ぞうきんとお年玉</font></a>
+ </td>
+ </tr>
+ <tr>
+ <td height="50" bgcolor="#ECFFEC">
+ <b><font size="-1">きょうの百物語</font></b><br />
+ <br />
+ <a href="../../../../douwa/pc/kaidan/01/01.htm"><font size="-1">百物語の幽霊</font></a>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <table width="100%" border="0" bgcolor="#C8FFC8">
+ <tbody>
+ <tr>
+ <td height="30" align="center" bgcolor="#C8FFC8">
+ <b><font size="-1">福娘のサイト</font></b>
+ </td>
+ </tr>
+ <tr>
+ <td height="60" bgcolor="#ECFFEC">
+ <font size="-1"><b>366日への旅</b><br />
+ <br />
+ <a href="http://hukumusume.com/366/">毎日の記念日・誕生花 ・有名人の誕生日と性格判断</a></font>
+ </td>
+ </tr>
+ <tr>
+ <td height="60" bgcolor="#ECFFEC">
+ <font size="-1"><b>福娘童話集</b><br />
+ <br />
+ <a href="http://hukumusume.com/douwa/">世界と日本の童話と昔話</a></font>
+ </td>
+ </tr>
+ <tr>
+ <td height="60" bgcolor="#ECFFEC">
+ <font size="-1"><b>女の子応援サイト -さくら-</b><br />
+ <br />
+ <a href="http://hukumusume.com/sakura/index.html">誕生日占い、お仕事紹介、おまじない、など</a></font>
+ </td>
+ </tr>
+ <tr>
+ <td height="60" bgcolor="#ECFFEC">
+ <font size="-1"><b>子どもの病気相談所</b><br />
+ <br />
+ <a href="http://hukumusume.com/my_baby/sick/">病気検索と対応方法、症状から検索するWEB問診</a></font>
+ </td>
+ </tr>
+ <tr>
+ <td height="60" bgcolor="#ECFFEC">
+ <font size="-1"><b>世界60秒巡り</b><br />
+ <br />
+ <a href="http://hukumusume.com/366/world/">国旗国歌や世界遺産など、世界の国々の豆知識</a></font>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </body>
</html>
diff --git a/test/test-pages/iab-1/expected-images.json b/test/test-pages/iab-1/expected-images.json
index 4b254ec..9aaa2a8 100644
--- a/test/test-pages/iab-1/expected-images.json
+++ b/test/test-pages/iab-1/expected-images.json
@@ -1 +1 @@
-{"0":"http:\/\/www.iab.com\/wp-content\/uploads\/2015\/10\/getting-lean-with-digital-ad-ux-300x250.jpg","2":"http:\/\/www.iab.com\/wp-content\/uploads\/2015\/05\/auto-draft-16-150x150.jpg"} \ No newline at end of file
+["http:\/\/www.iab.com\/wp-content\/uploads\/2015\/10\/getting-lean-with-digital-ad-ux-300x250.jpg","http:\/\/www.iab.com\/wp-content\/uploads\/2015\/05\/auto-draft-16-150x150.jpg"] \ No newline at end of file
diff --git a/test/test-pages/iab-1/expected-metadata.json b/test/test-pages/iab-1/expected-metadata.json
index 8f651b4..b1f885e 100644
--- a/test/test-pages/iab-1/expected-metadata.json
+++ b/test/test-pages/iab-1/expected-metadata.json
@@ -1,5 +1,5 @@
{
- "Title": "Getting LEAN with Digital Ad UX",
+ "Title": "Getting LEAN with Digital Ad UX | IAB",
"Author": "By\n\t\t\tScott Cunningham",
"Excerpt": "We messed up. As technologists, tasked with delivering content and services to users, we lost track of the user experience. Twenty years ago we saw an explosion of websites, built by developers around the world, providing all forms of content. This was the beginning of an age of enlightenment, the intersection of content and technology. … Continued"
}
diff --git a/test/test-pages/iab-1/expected.html b/test/test-pages/iab-1/expected.html
index 8aaa4c8..dd4faf3 100644
--- a/test/test-pages/iab-1/expected.html
+++ b/test/test-pages/iab-1/expected.html
@@ -18,10 +18,9 @@
<p>Finally, we must do this in an increasingly fragmented market, across screens. We must do this in environments where entire sites are blocked, purposefully or not. Yes, it is disappointing that our development efforts will have to manage with multiple frameworks while we work to supply the economic engine to sustain an open internet. However, our goal is still to provide diverse content and voices to as many connected users as possible around the world.</p>
<p>That is user experience.</p>
-<table><tbody><tr><td>IAB Tech Lab Members can join the IAB Tech Lab Ad Blocking Working Group, please email <a href="mailto:[email protected]">[email protected]</a> for more information.</td>
-</tr></tbody></table><p>Read <a href="http://www.iab.com/insights/ad-blocking/" target="_blank">more about ad blocking here</a>.</p>
+<p>IAB Tech Lab Members can join the IAB Tech Lab Ad Blocking Working Group, please email <a href="mailto:[email protected]">[email protected]</a> for more information.</p><p>Read <a href="http://www.iab.com/insights/ad-blocking/" target="_blank">more about ad blocking here</a>.</p>
</div>
- </div><div><div>
+ </div><div id="post-author"><div>
<figure><img alt="Auto Draft 14" src="http://www.iab.com/wp-content/uploads/2015/05/auto-draft-16-150x150.jpg"></img></figure><div>
<h4>About the author</h4>
<p><strong>Scott Cunningham</strong></p>
diff --git a/test/test-pages/ietf-1/expected-metadata.json b/test/test-pages/ietf-1/expected-metadata.json
index 1431f27..f783f67 100644
--- a/test/test-pages/ietf-1/expected-metadata.json
+++ b/test/test-pages/ietf-1/expected-metadata.json
@@ -1,4 +1,4 @@
{
- "Title": "draft-dejong-remotestorage-04 - remoteStorage",
- "Author": "AUTHORING"
+ "Title": "remoteStorage",
+ "Author": "Jong, Michiel de"
}
diff --git a/test/test-pages/ietf-1/expected.html b/test/test-pages/ietf-1/expected.html
index aa5b470..ff46f7a 100644
--- a/test/test-pages/ietf-1/expected.html
+++ b/test/test-pages/ietf-1/expected.html
@@ -1,6 +1,6 @@
<div>
-<span>[<a href="http://fakehost/test/../html/" title="Document search and retrieval page">Docs</a>] [<a href="https://tools.ietf.org/id/draft-dejong-remotestorage-04.txt" title="Plaintext version of this document">txt</a>|<a href="http://fakehost/pdf/draft-dejong-remotestorage-04.txt" title="PDF version of this document">pdf</a>] [<a href="https://datatracker.ietf.org/doc/draft-dejong-remotestorage" title="IESG Datatracker information for this document">Tracker</a>] [<a href="mailto:[email protected]?subject=draft-dejong-remotestorage%20" title="Send email to the document authors">Email</a>] [<a href="http://fakehost/rfcdiff?difftype=--hwdiff&amp;url2=draft-dejong-remotestorage-04.txt" title="Inline diff (wdiff)">Diff1</a>] [<a href="http://fakehost/rfcdiff?url2=draft-dejong-remotestorage-04.txt" title="Side-by-side diff">Diff2</a>] [<a href="http://fakehost/idnits?url=https://tools.ietf.org/id/draft-dejong-remotestorage-04.txt" title="Run an idnits check of this document">Nits</a>] </span><br></br><span> </span><p><span>Versions: <a href="http://fakehost/test/draft-dejong-remotestorage-00">00</a> <a href="http://fakehost/test/draft-dejong-remotestorage-01">01</a> <a href="http://fakehost/test/draft-dejong-remotestorage-02">02</a> <a href="http://fakehost/test/draft-dejong-remotestorage-03">03</a> <a href="http://fakehost/test/draft-dejong-remotestorage-04">04</a> </span><span> </span></p><p><pre>INTERNET DRAFT Michiel B. de Jong
+<span>[<a href="http://fakehost/test/../html/" title="Document search and retrieval page">Docs</a>] [<a href="https://tools.ietf.org/id/draft-dejong-remotestorage-04.txt" title="Plaintext version of this document">txt</a>|<a href="http://fakehost/pdf/draft-dejong-remotestorage-04.txt" title="PDF version of this document">pdf</a>] [<a href="https://datatracker.ietf.org/doc/draft-dejong-remotestorage" title="IESG Datatracker information for this document">Tracker</a>] [<a href="mailto:[email protected]?subject=draft-dejong-remotestorage%20" title="Send email to the document authors">Email</a>] [<a href="http://fakehost/rfcdiff?difftype=--hwdiff&amp;url2=draft-dejong-remotestorage-04.txt" title="Inline diff (wdiff)">Diff1</a>] [<a href="http://fakehost/rfcdiff?url2=draft-dejong-remotestorage-04.txt" title="Side-by-side diff">Diff2</a>] [<a href="http://fakehost/idnits?url=https://tools.ietf.org/id/draft-dejong-remotestorage-04.txt" title="Run an idnits check of this document">Nits</a>] </span><br></br><span> </span><br></br><span>Versions: <a href="http://fakehost/test/draft-dejong-remotestorage-00">00</a> <a href="http://fakehost/test/draft-dejong-remotestorage-01">01</a> <a href="http://fakehost/test/draft-dejong-remotestorage-02">02</a> <a href="http://fakehost/test/draft-dejong-remotestorage-03">03</a> <a href="http://fakehost/test/draft-dejong-remotestorage-04">04</a> </span><br></br><span> </span><br></br><pre>INTERNET DRAFT Michiel B. de Jong
Document: <a href="http://fakehost/test/draft-dejong-remotestorage-04">draft-dejong-remotestorage-04</a> IndieHosters
F. Kooman
Intended Status: Proposed Standard (independent)
@@ -1076,7 +1076,7 @@ charset=UTF-8","Content-Length":106}}}
M. Jones, D. Hardt, "The OAuth 2.0 Authorization Framework:
Bearer Token Usage", <a href="http://fakehost/test/rfc6750">RFC6750</a>, October 2012.
- []
+ [<a id="ref-AUTHORING" name="ref-AUTHORING">AUTHORING</a>]
"Using remoteStorage for web authoring", reSite wiki, retrieved
September 2014. <a href="https://github.com/michielbdejong/resite/wiki">https://github.com/michielbdejong/resite/wiki</a>
/Using-remoteStorage-for-web-authoring
@@ -1104,7 +1104,7 @@ charset=UTF-8","Content-Length":106}}}
de Jong [Page 22]
-</pre><span><small><small>Html markup produced by rfcmarkup 1.111, available from
+</pre><br></br><span><small><small>Html markup produced by rfcmarkup 1.111, available from
<a href="https://tools.ietf.org/tools/rfcmarkup/">https://tools.ietf.org/tools/rfcmarkup/</a>
</small></small></span>
-</p></div> \ No newline at end of file
+</div> \ No newline at end of file
diff --git a/test/test-pages/infobae/expected-images.json b/test/test-pages/infobae/expected-images.json
index 58a67e3..115df18 100644
--- a/test/test-pages/infobae/expected-images.json
+++ b/test/test-pages/infobae/expected-images.json
@@ -1 +1 @@
-["https:\/\/www.infobae.com\/new-resizer\/shi8E0F5ldd8a7vtvFaJomRURqU=\/1200x0\/filters:quality(100)\/s3.amazonaws.com\/arc-wordpress-client-uploads\/infobae-wp\/wp-content\/uploads\/2017\/12\/01154429\/Rugbier-golpeado-1920.jpg","https:\/\/www.infobae.com\/new-resizer\/b_LU5bsrOM_BmZtNMzegvdNoPNE=\/600x0\/filters:quality(100)\/s3.amazonaws.com\/arc-wordpress-client-uploads\/infobae-wp\/wp-content\/uploads\/2017\/12\/01154429\/Rugbier-golpeado-1920.jpg","https:\/\/www.infobae.com\/new-resizer\/PUJQSwJZOtaetM7tXKqic4Ib1Wg=\/600x0\/filters:quality(100)\/s3.amazonaws.com\/arc-wordpress-client-uploads\/infobae-wp\/wp-content\/uploads\/2017\/12\/01161934\/Jonathan-Castellani-SF-2.jpg","https:\/\/www.infobae.com\/new-resizer\/yS5kphJxw_CBn1mycqbcrMjoNmQ=\/600x0\/filters:quality(100)\/s3.amazonaws.com\/arc-wordpress-client-uploads\/infobae-wp\/wp-content\/uploads\/2017\/12\/01163101\/JonathanGay2.jpg","https:\/\/www.infobae.com\/new-resizer\/cFidtpanVMHP25zNoWF78I4qjMA=\/600x0\/filters:quality(100)\/s3.amazonaws.com\/arc-wordpress-client-uploads\/infobae-wp\/wp-content\/uploads\/2017\/12\/01161927\/Jonathan-Castellani-1920.jpg"] \ No newline at end of file
+["https:\/\/www.infobae.com\/new-resizer\/b_LU5bsrOM_BmZtNMzegvdNoPNE=\/600x0\/filters:quality(100)\/s3.amazonaws.com\/arc-wordpress-client-uploads\/infobae-wp\/wp-content\/uploads\/2017\/12\/01154429\/Rugbier-golpeado-1920.jpg","https:\/\/www.infobae.com\/new-resizer\/PUJQSwJZOtaetM7tXKqic4Ib1Wg=\/600x0\/filters:quality(100)\/s3.amazonaws.com\/arc-wordpress-client-uploads\/infobae-wp\/wp-content\/uploads\/2017\/12\/01161934\/Jonathan-Castellani-SF-2.jpg","https:\/\/www.infobae.com\/new-resizer\/yS5kphJxw_CBn1mycqbcrMjoNmQ=\/600x0\/filters:quality(100)\/s3.amazonaws.com\/arc-wordpress-client-uploads\/infobae-wp\/wp-content\/uploads\/2017\/12\/01163101\/JonathanGay2.jpg","https:\/\/www.infobae.com\/new-resizer\/cFidtpanVMHP25zNoWF78I4qjMA=\/600x0\/filters:quality(100)\/s3.amazonaws.com\/arc-wordpress-client-uploads\/infobae-wp\/wp-content\/uploads\/2017\/12\/01161927\/Jonathan-Castellani-1920.jpg"] \ No newline at end of file
diff --git a/test/test-pages/infobae/expected.html b/test/test-pages/infobae/expected.html
index 0ae3610..e575c7b 100644
--- a/test/test-pages/infobae/expected.html
+++ b/test/test-pages/infobae/expected.html
@@ -1 +1 @@
-<div id="article-body"> <div id="article-content"> <div> <figure><div> <img alt="Jonathan Castellari tiene 25 años y fue golpeado por una patota de 8 hombres" data-original="https://www.infobae.com/new-resizer/b_LU5bsrOM_BmZtNMzegvdNoPNE=/600x0/filters:quality(100)/s3.amazonaws.com/arc-wordpress-client-uploads/infobae-wp/wp-content/uploads/2017/12/01154429/Rugbier-golpeado-1920.jpg" data-url="http://www.infobae.com/sociedad/2017/12/01/una-patota-de-varones-ataco-a-un-rugbier-gay-te-vamos-a-matar-por-puto/%23QU6XDTECU5EDVI4HBTME4PLIOQ" height="422.32142857142856" id="QU6XDTECU5EDVI4HBTME4PLIOQ" src="https://www.infobae.com/new-resizer/b_LU5bsrOM_BmZtNMzegvdNoPNE=/600x0/filters:quality(100)/s3.amazonaws.com/arc-wordpress-client-uploads/infobae-wp/wp-content/uploads/2017/12/01154429/Rugbier-golpeado-1920.jpg" width="750"></img></div> <figcaption class=""><span>Jonathan Castellari tiene 25 años y fue golpeado por una patota de 8 hombres</span> </figcaption></figure></div> <div> <p> Eran casi las 6:30 de la mañana. Jonathan Castellari, de 25 años, volvía de bailar junto a Sebastián, su amigo. Les pareció una buena idea detenerse en el Mc Donald's de Avenida Córdoba al 3100 con el objetivo de desayunar y continuar el viaje hasta sus hogares. Mientras esperaban la comida, un grupo de 8 chicos de entre 20 y 25 años ingresó al local con el mismo objetivo, aunque adoptaron otro plan: mirarlos fijamente, reírse de ellos y hacer chistes sobre la sexualidad de ambos.</p> </div> <div> <p> Sebastián relató a<strong> Infobae:</strong> "Estábamos esperando nuestro pedido, haciéndonos chistes, riéndonos de lo sucedido durante la noche. Hablábamos entre nosotros. En ese momento entró un grupo de 8 chicos, de contextura grande, y notamos que estaban alcoholizados. Nos miraban, hacían chistes, se reían de nosotros. Fue ahí cuando decidimos salir con Jonathan a fumar un cigarrillo y esperar que se fueran. <strong>Él salió primero y vi que uno de estos pibes lo abrazó y se lo llevó. Instantáneamente se metieron los demás a pegarle. Le pegaron mucho.</strong> Quise pararlos y no pude. Ligué yo también, pero nada en comparación a lo que sufrió Jonathan. Cuando lo soltaron lo agarré como pude y justo una enfermera del Sanatorio Güemes (está a dos cuadras del local) estaba tomando un café y le dio los primeros auxilios".</p> </div> <div> <figure><div> <img alt="" data-original="https://www.infobae.com/new-resizer/PUJQSwJZOtaetM7tXKqic4Ib1Wg=/600x0/filters:quality(100)/s3.amazonaws.com/arc-wordpress-client-uploads/infobae-wp/wp-content/uploads/2017/12/01161934/Jonathan-Castellani-SF-2.jpg" data-url="http://www.infobae.com/sociedad/2017/12/01/una-patota-de-varones-ataco-a-un-rugbier-gay-te-vamos-a-matar-por-puto/%23NH7MLFDU4JH4VOSMUUN6JPRYUQ" height="937.7289377289377" id="NH7MLFDU4JH4VOSMUUN6JPRYUQ" src="https://www.infobae.com/new-resizer/PUJQSwJZOtaetM7tXKqic4Ib1Wg=/600x0/filters:quality(100)/s3.amazonaws.com/arc-wordpress-client-uploads/infobae-wp/wp-content/uploads/2017/12/01161934/Jonathan-Castellani-SF-2.jpg" width="750"></img></div> <figcaption class=""><span></span> </figcaption></figure></div> <div> <p> "Fuimos a verlo recién, no paraba de llorar y de decirnos que le pegaron por puto", dijo a <strong>Infobae</strong> María Rachid, titular del Instituto contra la Discriminación de la Defensoría del Pueblo CABA. "Lamentablemente su situación es delicada. Recién nos informaron que lo van a intervenir quirúrgicamente porque <strong>podría perder un ojo</strong>".</p> </div> <div> <p> Como Jonathan no conoce a los agresores, desde la Defensoría y la Federación LGBT se comunicaron con autoridades del Ministerio de Seguridad para que soliciten las cámaras de seguridad del Mc Donald's, del sanatorio Güemes y de otros negocios de la cuadra para poder identificarlos.</p> </div> <div> <figure><div> <img alt="" data-original="https://www.infobae.com/new-resizer/yS5kphJxw_CBn1mycqbcrMjoNmQ=/600x0/filters:quality(100)/s3.amazonaws.com/arc-wordpress-client-uploads/infobae-wp/wp-content/uploads/2017/12/01163101/JonathanGay2.jpg" data-url="http://www.infobae.com/sociedad/2017/12/01/una-patota-de-varones-ataco-a-un-rugbier-gay-te-vamos-a-matar-por-puto/%23O7QMD7FTTNCIJOVETW7KYJVVDA" height="422.32142857142856" id="O7QMD7FTTNCIJOVETW7KYJVVDA" src="https://www.infobae.com/new-resizer/yS5kphJxw_CBn1mycqbcrMjoNmQ=/600x0/filters:quality(100)/s3.amazonaws.com/arc-wordpress-client-uploads/infobae-wp/wp-content/uploads/2017/12/01163101/JonathanGay2.jpg" width="750"></img></div> <figcaption class=""><span></span> </figcaption></figure></div> <div> <p> Gastón Llopart, abogado de Sebastián, le detalló a <strong>Infobae</strong> que Jonathan está "próximo a recibir una intervención quirúrgica, ya que<strong> tuvo fractura en el hueso del pómulo derecho de su rostro. Sebastián llamó al 911 dos veces y no fueron.</strong> Me contaron que los agresores los siguieron hasta el sanatorio mientras los insultaban: la gente de seguridad tuvo que echarlos".</p> </div> <div> <p> Llopart agregó que la patota, <strong>mientras lo golpeaban, le gritaba: "Te vamos a matar por puto"</strong>. La familia de Jonathan está en el sanatorio a la espera de la intervención quirúrgica. Llopart dijo que "harán la denuncia el lunes por la mañana, cuando existan mayores precisiones de lo ocurrido".</p> </div> <div> <figure><div> <img alt="" data-original="https://www.infobae.com/new-resizer/cFidtpanVMHP25zNoWF78I4qjMA=/600x0/filters:quality(100)/s3.amazonaws.com/arc-wordpress-client-uploads/infobae-wp/wp-content/uploads/2017/12/01161927/Jonathan-Castellani-1920.jpg" data-url="http://www.infobae.com/sociedad/2017/12/01/una-patota-de-varones-ataco-a-un-rugbier-gay-te-vamos-a-matar-por-puto/%237BCY2NEI6ZADBA3TRJGQC6R3BU" height="422.32142857142856" id="7BCY2NEI6ZADBA3TRJGQC6R3BU" src="https://www.infobae.com/new-resizer/cFidtpanVMHP25zNoWF78I4qjMA=/600x0/filters:quality(100)/s3.amazonaws.com/arc-wordpress-client-uploads/infobae-wp/wp-content/uploads/2017/12/01161927/Jonathan-Castellani-1920.jpg" width="750"></img></div> <figcaption class=""><span></span> </figcaption></figure></div> <div> <p> Jonathan y Sebastián forman parte de Ciervos Pampas Rugby Club, un equipo que nació hace cinco años como el primer equipo de la Argentina por la diversidad sexual. Se trata de un combinado que no está integrado en un 100% por varones gays, pero en el que estos encuentran un lugar en el cual expresar libremente su orientación sexual, <strong>sin miedo a los prejuicios o a la discriminación.</strong> El club emitió un comunicado en su cuenta de Facebook, relatando los hechos y solidarizándose con Jonathan.</p> </div> </div> </div> \ No newline at end of file
+<div id="article-body"> <div id="article-content"> <div> <figure><div> <p><img alt="Jonathan Castellari tiene 25 años y fue golpeado por una patota de 8 hombres" data-original="https://www.infobae.com/new-resizer/b_LU5bsrOM_BmZtNMzegvdNoPNE=/600x0/filters:quality(100)/s3.amazonaws.com/arc-wordpress-client-uploads/infobae-wp/wp-content/uploads/2017/12/01154429/Rugbier-golpeado-1920.jpg" data-url="http://www.infobae.com/sociedad/2017/12/01/una-patota-de-varones-ataco-a-un-rugbier-gay-te-vamos-a-matar-por-puto/%23QU6XDTECU5EDVI4HBTME4PLIOQ" height="422.32142857142856" id="QU6XDTECU5EDVI4HBTME4PLIOQ" src="https://www.infobae.com/new-resizer/b_LU5bsrOM_BmZtNMzegvdNoPNE=/600x0/filters:quality(100)/s3.amazonaws.com/arc-wordpress-client-uploads/infobae-wp/wp-content/uploads/2017/12/01154429/Rugbier-golpeado-1920.jpg" width="750"></img></p></div> <figcaption class=""><span>Jonathan Castellari tiene 25 años y fue golpeado por una patota de 8 hombres</span> </figcaption></figure></div> <div> <p> Eran casi las 6:30 de la mañana. Jonathan Castellari, de 25 años, volvía de bailar junto a Sebastián, su amigo. Les pareció una buena idea detenerse en el Mc Donald's de Avenida Córdoba al 3100 con el objetivo de desayunar y continuar el viaje hasta sus hogares. Mientras esperaban la comida, un grupo de 8 chicos de entre 20 y 25 años ingresó al local con el mismo objetivo, aunque adoptaron otro plan: mirarlos fijamente, reírse de ellos y hacer chistes sobre la sexualidad de ambos.</p> </div> <div> <p> Sebastián relató a<strong> Infobae:</strong> "Estábamos esperando nuestro pedido, haciéndonos chistes, riéndonos de lo sucedido durante la noche. Hablábamos entre nosotros. En ese momento entró un grupo de 8 chicos, de contextura grande, y notamos que estaban alcoholizados. Nos miraban, hacían chistes, se reían de nosotros. Fue ahí cuando decidimos salir con Jonathan a fumar un cigarrillo y esperar que se fueran. <strong>Él salió primero y vi que uno de estos pibes lo abrazó y se lo llevó. Instantáneamente se metieron los demás a pegarle. Le pegaron mucho.</strong> Quise pararlos y no pude. Ligué yo también, pero nada en comparación a lo que sufrió Jonathan. Cuando lo soltaron lo agarré como pude y justo una enfermera del Sanatorio Güemes (está a dos cuadras del local) estaba tomando un café y le dio los primeros auxilios".</p> </div> <div> <figure><div> <p><img alt="" data-original="https://www.infobae.com/new-resizer/PUJQSwJZOtaetM7tXKqic4Ib1Wg=/600x0/filters:quality(100)/s3.amazonaws.com/arc-wordpress-client-uploads/infobae-wp/wp-content/uploads/2017/12/01161934/Jonathan-Castellani-SF-2.jpg" data-url="http://www.infobae.com/sociedad/2017/12/01/una-patota-de-varones-ataco-a-un-rugbier-gay-te-vamos-a-matar-por-puto/%23NH7MLFDU4JH4VOSMUUN6JPRYUQ" height="937.7289377289377" id="NH7MLFDU4JH4VOSMUUN6JPRYUQ" src="https://www.infobae.com/new-resizer/PUJQSwJZOtaetM7tXKqic4Ib1Wg=/600x0/filters:quality(100)/s3.amazonaws.com/arc-wordpress-client-uploads/infobae-wp/wp-content/uploads/2017/12/01161934/Jonathan-Castellani-SF-2.jpg" width="750"></img></p></div> <figcaption class=""><span></span> </figcaption></figure></div> <div> <p> "Fuimos a verlo recién, no paraba de llorar y de decirnos que le pegaron por puto", dijo a <strong>Infobae</strong> María Rachid, titular del Instituto contra la Discriminación de la Defensoría del Pueblo CABA. "Lamentablemente su situación es delicada. Recién nos informaron que lo van a intervenir quirúrgicamente porque <strong>podría perder un ojo</strong>".</p> </div> <div> <p> Como Jonathan no conoce a los agresores, desde la Defensoría y la Federación LGBT se comunicaron con autoridades del Ministerio de Seguridad para que soliciten las cámaras de seguridad del Mc Donald's, del sanatorio Güemes y de otros negocios de la cuadra para poder identificarlos.</p> </div> <div> <figure><div> <p><img alt="" data-original="https://www.infobae.com/new-resizer/yS5kphJxw_CBn1mycqbcrMjoNmQ=/600x0/filters:quality(100)/s3.amazonaws.com/arc-wordpress-client-uploads/infobae-wp/wp-content/uploads/2017/12/01163101/JonathanGay2.jpg" data-url="http://www.infobae.com/sociedad/2017/12/01/una-patota-de-varones-ataco-a-un-rugbier-gay-te-vamos-a-matar-por-puto/%23O7QMD7FTTNCIJOVETW7KYJVVDA" height="422.32142857142856" id="O7QMD7FTTNCIJOVETW7KYJVVDA" src="https://www.infobae.com/new-resizer/yS5kphJxw_CBn1mycqbcrMjoNmQ=/600x0/filters:quality(100)/s3.amazonaws.com/arc-wordpress-client-uploads/infobae-wp/wp-content/uploads/2017/12/01163101/JonathanGay2.jpg" width="750"></img></p></div> <figcaption class=""><span></span> </figcaption></figure></div> <div> <p> Gastón Llopart, abogado de Sebastián, le detalló a <strong>Infobae</strong> que Jonathan está "próximo a recibir una intervención quirúrgica, ya que<strong> tuvo fractura en el hueso del pómulo derecho de su rostro. Sebastián llamó al 911 dos veces y no fueron.</strong> Me contaron que los agresores los siguieron hasta el sanatorio mientras los insultaban: la gente de seguridad tuvo que echarlos".</p> </div> <div> <p> Llopart agregó que la patota, <strong>mientras lo golpeaban, le gritaba: "Te vamos a matar por puto"</strong>. La familia de Jonathan está en el sanatorio a la espera de la intervención quirúrgica. Llopart dijo que "harán la denuncia el lunes por la mañana, cuando existan mayores precisiones de lo ocurrido".</p> </div> <div> <figure><div> <p><img alt="" data-original="https://www.infobae.com/new-resizer/cFidtpanVMHP25zNoWF78I4qjMA=/600x0/filters:quality(100)/s3.amazonaws.com/arc-wordpress-client-uploads/infobae-wp/wp-content/uploads/2017/12/01161927/Jonathan-Castellani-1920.jpg" data-url="http://www.infobae.com/sociedad/2017/12/01/una-patota-de-varones-ataco-a-un-rugbier-gay-te-vamos-a-matar-por-puto/%237BCY2NEI6ZADBA3TRJGQC6R3BU" height="422.32142857142856" id="7BCY2NEI6ZADBA3TRJGQC6R3BU" src="https://www.infobae.com/new-resizer/cFidtpanVMHP25zNoWF78I4qjMA=/600x0/filters:quality(100)/s3.amazonaws.com/arc-wordpress-client-uploads/infobae-wp/wp-content/uploads/2017/12/01161927/Jonathan-Castellani-1920.jpg" width="750"></img></p></div> <figcaption class=""><span></span> </figcaption></figure></div> <div> <p> Jonathan y Sebastián forman parte de Ciervos Pampas Rugby Club, un equipo que nació hace cinco años como el primer equipo de la Argentina por la diversidad sexual. Se trata de un combinado que no está integrado en un 100% por varones gays, pero en el que estos encuentran un lugar en el cual expresar libremente su orientación sexual, <strong>sin miedo a los prejuicios o a la discriminación.</strong> El club emitió un comunicado en su cuenta de Facebook, relatando los hechos y solidarizándose con Jonathan.</p> </div> </div> </div> \ No newline at end of file
diff --git a/test/test-pages/keep-images/expected-images.json b/test/test-pages/keep-images/expected-images.json
index c931730..0b902a4 100644
--- a/test/test-pages/keep-images/expected-images.json
+++ b/test/test-pages/keep-images/expected-images.json
@@ -1 +1 @@
-{"0":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*sLDnS1UWEFIS33uLMxq3cw.jpeg","1":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*sLDnS1UWEFIS33uLMxq3cw.jpeg","2":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*3vIhkoHIzcxvUdijoCVx6w.png","3":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*4gN1-fzOwCniw-DbqQjDeQ.jpeg","4":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*2KPmZkIBUrhps-2uwDvYFQ.jpeg","5":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*PU40bbbox2Ompc5I3RE99A.jpeg","6":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*ohyycinH18fz98TCyUzVgQ.png","7":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*mKvUNOAVQxl6atCbxbCZsg.jpeg","8":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*knT10_FNVUmqQIBLnutmzQ.jpeg","10":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*Vr61dyCTRwk6CemmVF8YAQ.jpeg","11":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*a-1_13xE6_ErQ-QSlz6myw.jpeg","13":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*IWXhtSsVv0gNnCwnDEXk-Q.jpeg","14":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*NGcrjfkV0l37iQH2uyYjEw.jpeg","15":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*WRlKt3q3mt7utmwxcbl3sQ.jpeg","16":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*320_4I0lxbn5x3bx4XPI5Q.png"} \ No newline at end of file
+{"0":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*sLDnS1UWEFIS33uLMxq3cw.jpeg","1":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*3vIhkoHIzcxvUdijoCVx6w.png","2":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*4gN1-fzOwCniw-DbqQjDeQ.jpeg","3":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*2KPmZkIBUrhps-2uwDvYFQ.jpeg","4":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*PU40bbbox2Ompc5I3RE99A.jpeg","5":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*ohyycinH18fz98TCyUzVgQ.png","6":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*mKvUNOAVQxl6atCbxbCZsg.jpeg","7":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*knT10_FNVUmqQIBLnutmzQ.jpeg","9":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*Vr61dyCTRwk6CemmVF8YAQ.jpeg","10":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*a-1_13xE6_ErQ-QSlz6myw.jpeg","12":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*IWXhtSsVv0gNnCwnDEXk-Q.jpeg","13":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*NGcrjfkV0l37iQH2uyYjEw.jpeg","14":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/2000\/1*WRlKt3q3mt7utmwxcbl3sQ.jpeg","15":"https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*320_4I0lxbn5x3bx4XPI5Q.png"} \ No newline at end of file
diff --git a/test/test-pages/keep-images/expected-metadata.json b/test/test-pages/keep-images/expected-metadata.json
index 3956602..6c2c29a 100644
--- a/test/test-pages/keep-images/expected-metadata.json
+++ b/test/test-pages/keep-images/expected-metadata.json
@@ -1,5 +1,5 @@
{
- "Title": "Inside the Deep Web Drug Lab — Backchannel — Medium",
+ "Title": "Inside the Deep Web Drug Lab",
"Author": "Joseph Cox",
"Excerpt": "Welcome to DoctorX’s Barcelona lab, where the drugs you bought online are tested for safety and purity. No questions ask…"
}
diff --git a/test/test-pages/keep-images/expected.html b/test/test-pages/keep-images/expected.html
index 5a5a176..d3696f7 100644
--- a/test/test-pages/keep-images/expected.html
+++ b/test/test-pages/keep-images/expected.html
@@ -5,7 +5,7 @@
<div>
<figure id="b9ad" name="b9ad"><div>
- <img data-height="1402" data-image-id="1*sLDnS1UWEFIS33uLMxq3cw.jpeg" data-width="2100" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*sLDnS1UWEFIS33uLMxq3cw.jpeg"></img></div>
+ <p><img data-height="1402" data-image-id="1*sLDnS1UWEFIS33uLMxq3cw.jpeg" data-width="2100" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*sLDnS1UWEFIS33uLMxq3cw.jpeg"></img></p></div>
</figure></div>
<div>
@@ -14,7 +14,7 @@
<figure id="7417" name="7417"><div>
- <img data-action="zoom" data-action-value="1*3vIhkoHIzcxvUdijoCVx6w.png" data-height="24" data-image-id="1*3vIhkoHIzcxvUdijoCVx6w.png" data-width="1200" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*3vIhkoHIzcxvUdijoCVx6w.png"></img></div>
+ <p><img data-action="zoom" data-action-value="1*3vIhkoHIzcxvUdijoCVx6w.png" data-height="24" data-image-id="1*3vIhkoHIzcxvUdijoCVx6w.png" data-width="1200" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*3vIhkoHIzcxvUdijoCVx6w.png"></img></p></div>
</figure><p id="8a83" name="8a83">Standing at a table in a chemistry lab in Barcelona, Cristina Gil Lladanosa
tears open a silver, smell-proof protective envelope. She slides out a
transparent bag full of crystals. Around her, machines whir and hum, and
@@ -32,7 +32,7 @@
<div>
<figure id="c4e6" name="c4e6"><div>
- <img data-height="1402" data-image-id="1*4gN1-fzOwCniw-DbqQjDeQ.jpeg" data-width="2100" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*4gN1-fzOwCniw-DbqQjDeQ.jpeg"></img></div>
+ <p><img data-height="1402" data-image-id="1*4gN1-fzOwCniw-DbqQjDeQ.jpeg" data-width="2100" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*4gN1-fzOwCniw-DbqQjDeQ.jpeg"></img></p></div>
<figcaption>Cristina Gil Lladanosa, at the Barcelona testing lab | photo by Joan Bardeletti</figcaption></figure></div>
<div>
<p id="7a54" name="7a54">Since 2011, with the launch of <a data-href="http://en.wikipedia.org/wiki/Silk_Road_%28marketplace%29" href="http://en.wikipedia.org/wiki/Silk_Road_%28marketplace%29" rel="nofollow">Silk Road</a>, anybody has been able to safely buy illegal
@@ -62,7 +62,7 @@
<div>
<figure id="559c" name="559c"><div>
- <img data-height="1402" data-image-id="1*2KPmZkIBUrhps-2uwDvYFQ.jpeg" data-width="2100" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*2KPmZkIBUrhps-2uwDvYFQ.jpeg"></img></div>
+ <p><img data-height="1402" data-image-id="1*2KPmZkIBUrhps-2uwDvYFQ.jpeg" data-width="2100" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*2KPmZkIBUrhps-2uwDvYFQ.jpeg"></img></p></div>
<figcaption>Photo by Joan Bardeletti</figcaption></figure></div>
<div>
<p id="1549" name="1549">“Chromatography separates all the substances,” Lladanosa says as she loads
@@ -77,7 +77,7 @@
<div>
<figure id="d6aa" name="d6aa"><div>
- <img data-height="1241" data-image-id="1*PU40bbbox2Ompc5I3RE99A.jpeg" data-width="2013" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*PU40bbbox2Ompc5I3RE99A.jpeg"></img></div>
+ <p><img data-height="1241" data-image-id="1*PU40bbbox2Ompc5I3RE99A.jpeg" data-width="2013" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*PU40bbbox2Ompc5I3RE99A.jpeg"></img></p></div>
<figcaption>Photo by Joan Bardeletti</figcaption></figure></div>
<div>
<p id="15e0" name="15e0">To get the drugs to Barcelona, a user mails at least 10 milligrams of
@@ -102,7 +102,7 @@
quality cocaine; and common caffeine.</p>
<figure id="b821" name="b821"><div>
- <img data-action="zoom" data-action-value="1*ohyycinH18fz98TCyUzVgQ.png" data-height="24" data-image-id="1*ohyycinH18fz98TCyUzVgQ.png" data-width="1200" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*ohyycinH18fz98TCyUzVgQ.png"></img></div>
+ <p><img data-action="zoom" data-action-value="1*ohyycinH18fz98TCyUzVgQ.png" data-height="24" data-image-id="1*ohyycinH18fz98TCyUzVgQ.png" data-width="1200" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*ohyycinH18fz98TCyUzVgQ.png"></img></p></div>
</figure><p id="39a6" name="39a6">The deep web drug lab is the brainchild of Fernando Caudevilla, a Spanish
physician who is better known as “DoctorX” on the deep web, a nickname
given to him by his Energy Control co-workers because of his earlier writing
@@ -115,7 +115,7 @@
<div>
<figure id="eebc" name="eebc"><div>
- <img data-height="1241" data-image-id="1*mKvUNOAVQxl6atCbxbCZsg.jpeg" data-width="2100" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*mKvUNOAVQxl6atCbxbCZsg.jpeg"></img></div>
+ <p><img data-height="1241" data-image-id="1*mKvUNOAVQxl6atCbxbCZsg.jpeg" data-width="2100" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*mKvUNOAVQxl6atCbxbCZsg.jpeg"></img></p></div>
<figcaption>Fernando Caudevilla, AKA DoctorX. Photo: Joseph Cox</figcaption></figure></div>
<div>
<p id="c099" name="c099">Caudevilla first ventured into Silk Road forums in April 2013. “I would
@@ -159,12 +159,12 @@
<div>
<figure id="4058" name="4058"><div>
- <img data-height="3141" data-image-id="1*knT10_FNVUmqQIBLnutmzQ.jpeg" data-width="4400" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*knT10_FNVUmqQIBLnutmzQ.jpeg"></img></div>
+ <p><img data-height="3141" data-image-id="1*knT10_FNVUmqQIBLnutmzQ.jpeg" data-width="4400" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*knT10_FNVUmqQIBLnutmzQ.jpeg"></img></p></div>
<figcaption>Photo: Joseph Cox</figcaption></figure></div>
<div>
<figure id="818c" name="818c"><div>
- <img data-action="zoom" data-action-value="1*ohyycinH18fz98TCyUzVgQ.png" data-height="24" data-image-id="1*ohyycinH18fz98TCyUzVgQ.png" data-width="1200" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*ohyycinH18fz98TCyUzVgQ.png"></img></div>
+ <p><img data-action="zoom" data-action-value="1*ohyycinH18fz98TCyUzVgQ.png" data-height="24" data-image-id="1*ohyycinH18fz98TCyUzVgQ.png" data-width="1200" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*ohyycinH18fz98TCyUzVgQ.png"></img></p></div>
</figure><p id="7b5e" name="7b5e">While the Energy Control lab in Madrid lab only tests Spanish drugs from
various sources, it is the Barcelona location which vets the substances
bought in the shadowy recesses of of the deep web. Caudevilla no longer
@@ -191,7 +191,7 @@
<div>
<figure id="b885" name="b885"><div>
- <img data-height="1402" data-image-id="1*Vr61dyCTRwk6CemmVF8YAQ.jpeg" data-width="2100" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*Vr61dyCTRwk6CemmVF8YAQ.jpeg"></img></div>
+ <p><img data-height="1402" data-image-id="1*Vr61dyCTRwk6CemmVF8YAQ.jpeg" data-width="2100" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*Vr61dyCTRwk6CemmVF8YAQ.jpeg"></img></p></div>
<figcaption>Photo by Joan Bardeletti</figcaption></figure></div>
<div>
<p id="e76f" name="e76f">So it’s fair to make a tentative judgement on what people are paying for
@@ -230,12 +230,12 @@
<div>
<figure id="8544" name="8544"><div>
- <img data-height="1402" data-image-id="1*a-1_13xE6_ErQ-QSlz6myw.jpeg" data-width="2100" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*a-1_13xE6_ErQ-QSlz6myw.jpeg"></img></div>
+ <p><img data-height="1402" data-image-id="1*a-1_13xE6_ErQ-QSlz6myw.jpeg" data-width="2100" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*a-1_13xE6_ErQ-QSlz6myw.jpeg"></img></p></div>
<figcaption>Photo by Joan Bardeletti</figcaption></figure></div>
<div>
<figure id="d521" name="d521"><div>
- <img data-action="zoom" data-action-value="1*ohyycinH18fz98TCyUzVgQ.png" data-height="24" data-image-id="1*ohyycinH18fz98TCyUzVgQ.png" data-width="1200" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*ohyycinH18fz98TCyUzVgQ.png"></img></div>
+ <p><img data-action="zoom" data-action-value="1*ohyycinH18fz98TCyUzVgQ.png" data-height="24" data-image-id="1*ohyycinH18fz98TCyUzVgQ.png" data-width="1200" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*ohyycinH18fz98TCyUzVgQ.png"></img></p></div>
</figure><p id="126b" name="126b">Despite the prevalence of people using the service to gauge the quality
of what goes up their nose, many users send samples to Energy Control in
the spirit of its original mission: keeping themselves alive and healthy.
@@ -274,7 +274,7 @@
<div>
<figure id="552a" name="552a"><div>
- <img data-height="1192" data-image-id="1*IWXhtSsVv0gNnCwnDEXk-Q.jpeg" data-width="2100" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*IWXhtSsVv0gNnCwnDEXk-Q.jpeg"></img></div>
+ <p><img data-height="1192" data-image-id="1*IWXhtSsVv0gNnCwnDEXk-Q.jpeg" data-width="2100" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*IWXhtSsVv0gNnCwnDEXk-Q.jpeg"></img></p></div>
<figcaption>Photo by Joan Bardeletti</figcaption></figure></div>
<div>
<p id="839a" name="839a">The particular case of cocaine cut with Levamisole is one of the reasons
@@ -299,7 +299,7 @@
<div>
<figure id="9d32" name="9d32"><div>
- <img data-height="913" data-image-id="1*NGcrjfkV0l37iQH2uyYjEw.jpeg" data-width="1368" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*NGcrjfkV0l37iQH2uyYjEw.jpeg"></img></div>
+ <p><img data-height="913" data-image-id="1*NGcrjfkV0l37iQH2uyYjEw.jpeg" data-width="1368" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*NGcrjfkV0l37iQH2uyYjEw.jpeg"></img></p></div>
<figcaption>Photo by Joan Bardeletti</figcaption></figure></div>
<div>
<p id="bff6" name="bff6">Other members of the community have been helping out, too. PlutoPete,
@@ -356,7 +356,7 @@
<div>
<figure id="890b" name="890b"><div>
- <img data-height="1373" data-image-id="1*WRlKt3q3mt7utmwxcbl3sQ.jpeg" data-width="2100" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*WRlKt3q3mt7utmwxcbl3sQ.jpeg"></img></div>
+ <p><img data-height="1373" data-image-id="1*WRlKt3q3mt7utmwxcbl3sQ.jpeg" data-width="2100" src="https://d262ilb51hltx0.cloudfront.net/max/2000/1*WRlKt3q3mt7utmwxcbl3sQ.jpeg"></img></p></div>
<figcaption>Photo by Joan Bardeletti</figcaption></figure></div>
<div>
<p id="b109" name="b109">“In the white market, they have quality control. In the dark market, it
@@ -369,7 +369,7 @@
good, and relatively safe drugs. And now they know it.</p>
<figure id="31cf" name="31cf"><div>
- <img data-action="zoom" data-action-value="1*320_4I0lxbn5x3bx4XPI5Q.png" data-height="24" data-image-id="1*320_4I0lxbn5x3bx4XPI5Q.png" data-width="1200" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*320_4I0lxbn5x3bx4XPI5Q.png"></img></div>
+ <p><img data-action="zoom" data-action-value="1*320_4I0lxbn5x3bx4XPI5Q.png" data-height="24" data-image-id="1*320_4I0lxbn5x3bx4XPI5Q.png" data-width="1200" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*320_4I0lxbn5x3bx4XPI5Q.png"></img></p></div>
</figure><p data-align="center" id="9b87" name="9b87"><em>Top photo by Joan Bardeletti</em>
</p>
<p data-align="center" id="c30a" name="c30a">Follow Backchannel: <a data-href="https://twitter.com/backchnnl" href="https://twitter.com/backchnnl" rel="nofollow"><em>Twitter</em></a>
diff --git a/test/test-pages/la-nacion/expected-images.json b/test/test-pages/la-nacion/expected-images.json
index e9074fa..25ef598 100644
--- a/test/test-pages/la-nacion/expected-images.json
+++ b/test/test-pages/la-nacion/expected-images.json
@@ -1 +1 @@
-["http:\/\/bucket.glanacion.com\/anexos\/fotos\/77\/2585177.jpg","http:\/\/bucket2.glanacion.com\/anexos\/fotos\/77\/conflicto-mapuche-2585177w280.jpg"] \ No newline at end of file
+["http:\/\/bucket2.glanacion.com\/anexos\/fotos\/77\/conflicto-mapuche-2585177w280.jpg"] \ No newline at end of file
diff --git a/test/test-pages/la-nacion/expected-metadata.json b/test/test-pages/la-nacion/expected-metadata.json
index 512e3e0..ddba3d8 100644
--- a/test/test-pages/la-nacion/expected-metadata.json
+++ b/test/test-pages/la-nacion/expected-metadata.json
@@ -1,4 +1,4 @@
{
- "Title": "Una solución no violenta para la cuestión mapuche - 07.12.2017",
- "Excerpt": "Una solución no violenta para la cuestión mapuche | Los pueblos indígenas reclaman por derechos que permanecen incumplidos, por eso es más eficiente canalizar la protesta que reprimirla - LA NACION"
+ "Title": "Una solución no violenta para la cuestión mapuche",
+ "Excerpt": "Los pueblos indígenas reclaman por derechos que permanecen incumplidos, por eso es más eficiente canalizar la protesta que reprimirla"
}
diff --git a/test/test-pages/la-nacion/expected.html b/test/test-pages/la-nacion/expected.html
index 0ebb7e9..5640699 100644
--- a/test/test-pages/la-nacion/expected.html
+++ b/test/test-pages/la-nacion/expected.html
@@ -21,7 +21,7 @@
supuestos contactos internacionales de organizaciones mapuches. Entre ellos aparecía Ocalan, a quien el
informe ubicó "con domicilios en Palermo y en el centro porteño", y aseguraba incluso que había sido
visto "en Neuquén, Río Negro y Chubut durante el juicio a Jones Huala".</p>
- <figure><div><span title="Ampliar imagen"></span><img src="http://bucket2.glanacion.com/anexos/fotos/77/conflicto-mapuche-2585177w280.jpg"></img></div>
+ <figure><p><span title="Ampliar imagen"></span><img src="http://bucket2.glanacion.com/anexos/fotos/77/conflicto-mapuche-2585177w280.jpg"></img></p>
<figcaption id="epigrafe2585177">Foto: LA NACION</figcaption></figure><p>Esta falsa noticia fue la más rocambolesca de una larga cadena. Dos hechos quedaron en evidencia:
primero, que hay periodistas que no chequean la información; segundo, que los servicios de inteligencia
los utilizan para manipular la agenda pública. Y sobre los servicios hay dos posibilidades: o son burros
@@ -82,5 +82,4 @@
del Estado argentino no fue tanto quiénes lo desafiaron como quiénes lo gobernaron. Cambiemos.</p>
<p><b><i>Andrés Malamud es politólogo e investigador en la Universidad de Lisboa. Martín Schapiro es abogado
administrativista y analista internacional</i></b></p>
- <aside>
- </aside></section></article> \ No newline at end of file
+ </section></article> \ No newline at end of file
diff --git a/test/test-pages/lemonde-1/expected-images.json b/test/test-pages/lemonde-1/expected-images.json
index 5aad499..0637a08 100644
--- a/test/test-pages/lemonde-1/expected-images.json
+++ b/test/test-pages/lemonde-1/expected-images.json
@@ -1 +1 @@
-["http:\/\/s1.lemde.fr\/image\/2015\/05\/05\/600x315\/4628128_3_47fc_projet-de-loi-renseignement_aeba800424730d672d1bd08faf203438.jpg"] \ No newline at end of file
+[] \ No newline at end of file
diff --git a/test/test-pages/lemonde-2/expected-images.json b/test/test-pages/lemonde-2/expected-images.json
index 8417ec8..0637a08 100644
--- a/test/test-pages/lemonde-2/expected-images.json
+++ b/test/test-pages/lemonde-2/expected-images.json
@@ -1 +1 @@
-["http:\/\/s1.lemde.fr\/medias\/web\/1.2.705\/img\/placeholder\/default.png"] \ No newline at end of file
+[] \ No newline at end of file
diff --git a/test/test-pages/lemonde-2/expected.html b/test/test-pages/lemonde-2/expected.html
index 8be4848..af69efe 100644
--- a/test/test-pages/lemonde-2/expected.html
+++ b/test/test-pages/lemonde-2/expected.html
@@ -10,4 +10,4 @@
<p>En tant qu'industriels allemands et français, nous voulons <a href="http://conjugaison.lemonde.fr/conjugaison/premier-groupe/souligner/" onclick="return false;" target="_blank" title="Conjugaison du verbe souligner">souligner</a> les immenses avantages que l'espace monétaire commun a apportés. Nous envoyons un message de soutien aux responsables politiques, afin qu'ils mettent en place des conditions nécessaires à un euro durablement stable et compétitif. C'est la base de la future prospérité en Europe. L'union monétaire a durablement besoin de <a href="http://www.lemonde.fr/finance/" title="Toute l’actualité finances">finances</a> publiques solides, de règles de responsabilité claires, de structures transparentes et de conditions de concurrence équitables.</p>
<p>Ce n'est qu'à ces conditions que l'euro sortira renforcé de la crise de la dette. Il n'y a pas d'alternative sérieuse à l'euro commun. L'euro symbolise l'Europe d'aujourd'hui. Un échec de l'euro serait un revers fatal pour l'Europe.</p>
<hr></hr><p>
-Appel Frank (Deutsche Post) ; Aschenbroich Jacques (Valeo) ; Berger Roland (Roland Berger Strategy Consultants) ; Bock Kurt (BASF) ; Bories Christel (Constellium) ; Borsig Clemens (Deutsche Bank) ; Brunck Robert (CGG Veritas) ; Buffet Patrick (Eramet) ; Burda Hubert (Hubert Burda Media Holding) ; Caparros Alain (Rewe group) ; Clamadieu Jean-Pierre (Rhodia) ; Cromme Gerhard (ThyssenKrupp) ; Crouzet Philippe (Vallourec) ; de Chalendar Pierre-André (Saint-Gobain) ; de Margerie Christophe (Total) ; de Romanet Augustin (Caisse des dépôts et consignations) ; Degenhart Elmar (Continental) ; Diekmann Michael (Allianz) ; Engel Klaus (Evonik Industries) ; Fehrenbach Franz (Robert Bosch) ; Frérot Antoine (Veolia </p><a href="http://www.lemonde.fr/environnement/" title="Toute l’actualité Environnement">Environnement</a><p>) ; Hagemann Snabe Jim (SAP) ; Henrot François (Groupe Rothschild Cie Banque) ; Hermelin Paul (Cap Gemini) ; Kormann Hermut (Lazard) ; Kron Patrick (Alstom) ; Lachmann Henri (Schneider Electric) ; Lafont Bruno (Lafarge) ; Lauvergeon Anne (Areva) ; Lévy Maurice (Publicis Groupe SA) ; Lévy Jean-Bernard (Vivendi) ; Löscher Peter (Siemens) ; Mestrallet Gérard (GDF Suez) ; Obermann René (Deutsche Telekom) ;Oetker Arend (Dr Arend Oetker Holding) ; Oudéa Frédéric (Société Générale) ; Potier Benoit (Air Liquide) ; Ranque Denis (Cercle de l'</p><a href="http://www.lemonde.fr/industrie/" title="Toute l’actualité industrie">industrie</a><p>/Technicolor) ; Reithofer Norbert (BMW) ; Reitzle Wolfgang (Linde) ; Richard Stéphane (France Telecom) ; Rollier Michel (Michelin) ; Rose Frédéric (Technicolor) ; Schnepp Gilles (Legrand) ; Spinetta Jean-Cyril (Air-</p><a href="http://www.lemonde.fr/europeennes-france/" title="Toute l’actualité France">France</a><p> KLM)  ; Teyssen Johannes (E.ON)  ; Thumann Jürgen (BusinessEurope) ; Verwaayen Ben (Alcatel-Lucent) ; Viehbacher Chris (Sanofi) ; Zetsche Dieter (Daimler).</p><br></br></div> \ No newline at end of file
+Appel Frank (Deutsche Post) ; Aschenbroich Jacques (Valeo) ; Berger Roland (Roland Berger Strategy Consultants) ; Bock Kurt (BASF) ; Bories Christel (Constellium) ; Borsig Clemens (Deutsche Bank) ; Brunck Robert (CGG Veritas) ; Buffet Patrick (Eramet) ; Burda Hubert (Hubert Burda Media Holding) ; Caparros Alain (Rewe group) ; Clamadieu Jean-Pierre (Rhodia) ; Cromme Gerhard (ThyssenKrupp) ; Crouzet Philippe (Vallourec) ; de Chalendar Pierre-André (Saint-Gobain) ; de Margerie Christophe (Total) ; de Romanet Augustin (Caisse des dépôts et consignations) ; Degenhart Elmar (Continental) ; Diekmann Michael (Allianz) ; Engel Klaus (Evonik Industries) ; Fehrenbach Franz (Robert Bosch) ; Frérot Antoine (Veolia <a href="http://www.lemonde.fr/environnement/" title="Toute l’actualité Environnement">Environnement</a>) ; Hagemann Snabe Jim (SAP) ; Henrot François (Groupe Rothschild Cie Banque) ; Hermelin Paul (Cap Gemini) ; Kormann Hermut (Lazard) ; Kron Patrick (Alstom) ; Lachmann Henri (Schneider Electric) ; Lafont Bruno (Lafarge) ; Lauvergeon Anne (Areva) ; Lévy Maurice (Publicis Groupe SA) ; Lévy Jean-Bernard (Vivendi) ; Löscher Peter (Siemens) ; Mestrallet Gérard (GDF Suez) ; Obermann René (Deutsche Telekom) ;Oetker Arend (Dr Arend Oetker Holding) ; Oudéa Frédéric (Société Générale) ; Potier Benoit (Air Liquide) ; Ranque Denis (Cercle de l'<a href="http://www.lemonde.fr/industrie/" title="Toute l’actualité industrie">industrie</a>/Technicolor) ; Reithofer Norbert (BMW) ; Reitzle Wolfgang (Linde) ; Richard Stéphane (France Telecom) ; Rollier Michel (Michelin) ; Rose Frédéric (Technicolor) ; Schnepp Gilles (Legrand) ; Spinetta Jean-Cyril (Air-<a href="http://www.lemonde.fr/europeennes-france/" title="Toute l’actualité France">France</a> KLM)  ; Teyssen Johannes (E.ON)  ; Thumann Jürgen (BusinessEurope) ; Verwaayen Ben (Alcatel-Lucent) ; Viehbacher Chris (Sanofi) ; Zetsche Dieter (Daimler).<br></br></p></div> \ No newline at end of file
diff --git a/test/test-pages/liberation-1/expected-images.json b/test/test-pages/liberation-1/expected-images.json
index cd3c954..0637a08 100644
--- a/test/test-pages/liberation-1/expected-images.json
+++ b/test/test-pages/liberation-1/expected-images.json
@@ -1 +1 @@
-["http:\/\/md1.libe.com\/photo\/755923-000_hkg10175905.jpg?modified_at=1430371146&amp;width=750"] \ No newline at end of file
+[] \ No newline at end of file
diff --git a/test/test-pages/lifehacker-post-comment-load/expected-images.json b/test/test-pages/lifehacker-post-comment-load/expected-images.json
index 2dc0955..a8b6052 100644
--- a/test/test-pages/lifehacker-post-comment-load/expected-images.json
+++ b/test/test-pages/lifehacker-post-comment-load/expected-images.json
@@ -1 +1 @@
-{"0":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--hqqO9fze--\/n1s6c2m6kc07iqdyllj6.jpg","2":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--QeUTCiuW--\/o4dpyrcbiqyfrc3bxx6p.jpg","3":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--mlR3Ku0_--\/xrhkwleyurcizy4akiae.jpg","4":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--Tacb0tyW--\/qodag11euf2npkawkn9v.jpg","5":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--x9hLbIKJ--\/imfc9ybqfw0jmztbhfrh.jpg","6":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--6NwBgQLy--\/afy7n45jfvsjdmmhonct.jpg","7":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--ciqk42G0--\/s3pq8vjrvyjgne4lfsod.jpg","8":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--mtob1sjR--\/y2ldv5eufb3jcrtfouye.jpg","9":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--4Ajak63w--\/atb9qm07fvvg7hqkumkw.jpg"} \ No newline at end of file
+["http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--hqqO9fze--\/n1s6c2m6kc07iqdyllj6.jpg","http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--QeUTCiuW--\/o4dpyrcbiqyfrc3bxx6p.jpg","http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--mlR3Ku0_--\/xrhkwleyurcizy4akiae.jpg","http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--Tacb0tyW--\/qodag11euf2npkawkn9v.jpg","http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--x9hLbIKJ--\/imfc9ybqfw0jmztbhfrh.jpg","http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--6NwBgQLy--\/afy7n45jfvsjdmmhonct.jpg","http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--ciqk42G0--\/s3pq8vjrvyjgne4lfsod.jpg","http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--mtob1sjR--\/y2ldv5eufb3jcrtfouye.jpg","http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--4Ajak63w--\/atb9qm07fvvg7hqkumkw.jpg"] \ No newline at end of file
diff --git a/test/test-pages/lifehacker-post-comment-load/expected.html b/test/test-pages/lifehacker-post-comment-load/expected.html
index d5e6c7c..2f862a9 100644
--- a/test/test-pages/lifehacker-post-comment-load/expected.html
+++ b/test/test-pages/lifehacker-post-comment-load/expected.html
@@ -56,8 +56,7 @@
-<aside>
-</aside><p data-textannotation-id="89992f1ca493b248eea6ed1772326c46">For example, confirmation bias makes you only believe the information that conforms to your prior beliefs, while you discount everything else. Advertisers appeal to this bias directly by convincing you one item is better than another with imagery and other tricks, regardless of what hard facts might say. Keep your mind open, do your own research, and accept when you're wrong about a product. The Decoy effect is also a commonly used tactic. You think one product is a deal because it's next to a similar product that's priced way higher. Even if it's a product you need, it's probably not as good of a deal as it looks right then and there. Again, always research beforehand and be on the lookout for this common trick to avoid impulse buys.</p>
+<p data-textannotation-id="89992f1ca493b248eea6ed1772326c46">For example, confirmation bias makes you only believe the information that conforms to your prior beliefs, while you discount everything else. Advertisers appeal to this bias directly by convincing you one item is better than another with imagery and other tricks, regardless of what hard facts might say. Keep your mind open, do your own research, and accept when you're wrong about a product. The Decoy effect is also a commonly used tactic. You think one product is a deal because it's next to a similar product that's priced way higher. Even if it's a product you need, it's probably not as good of a deal as it looks right then and there. Again, always research beforehand and be on the lookout for this common trick to avoid impulse buys.</p>
@@ -103,8 +102,7 @@
-<aside>
-</aside><p data-textannotation-id="bbe57b7aa20b48550e5f66b7c530822c">The purpose of this exercise is twofold: you see what you already have and don't need to ever buy again, and you get to see what you shouldn't have bought in the first place. As you list everything out, separate items into categories. It's extremely important that you are as honest with yourself as possible while you do this. It's also important you actually write this all down or type it all out. Here is the first set of categories to separate everything into:</p>
+<p data-textannotation-id="bbe57b7aa20b48550e5f66b7c530822c">The purpose of this exercise is twofold: you see what you already have and don't need to ever buy again, and you get to see what you shouldn't have bought in the first place. As you list everything out, separate items into categories. It's extremely important that you are as honest with yourself as possible while you do this. It's also important you actually write this all down or type it all out. Here is the first set of categories to separate everything into:</p>
@@ -381,8 +379,7 @@
-<aside>
-</aside><p data-textannotation-id="27385752c06848647540ad931892b21e">The last thing you should consider when it comes to impulse buys is "artificial replacement." As Trent Hamm at The Simple Dollar explains, artificial replacement can happen when you start to <a href="http://www.thesimpledollar.com/balancing-spending-and-time-how-time-frugality-can-save-you-lots-of-cash/" target="_blank">reduce the time</a> you get with your main interests:</p>
+<p data-textannotation-id="27385752c06848647540ad931892b21e">The last thing you should consider when it comes to impulse buys is "artificial replacement." As Trent Hamm at The Simple Dollar explains, artificial replacement can happen when you start to <a href="http://www.thesimpledollar.com/balancing-spending-and-time-how-time-frugality-can-save-you-lots-of-cash/" target="_blank">reduce the time</a> you get with your main interests:</p>
@@ -484,5 +481,4 @@
-<aside>
-</aside><p data-textannotation-id="b54d87ffdace50f420c3a6ff0404cbf3"><em><small>Photos by <a href="http://www.shutterstock.com/pic-129762989/stock-vector-consumer.html?src=id&amp;ws=1" target="_blank">cmgirl</a> (Shutterstock), <a href="http://www.shutterstock.com/pic-227832739/stock-vector-hacker-icon-man-in-hoody-with-laptop-flat-isolated-on-dark-background-vector-illustration.html?src=id&amp;ws=1" target="_blank">Macrovector</a> (Shutterstock), <a href="https://www.flickr.com/photos/jetheriot/6186786217" target="_blank">J E Theriot</a>, <a href="https://www.flickr.com/photos/puuikibeach/15289861843" target="_blank">davidd</a>, <a href="https://www.flickr.com/photos/funfilledgeorgie/10922459733" target="_blank">George Redgrave</a>, <a href="https://www.flickr.com/photos/amslerpix/7252002214" target="_blank">David Amsler</a>, <a href="https://www.flickr.com/photos/amalakar/7299820870" target="_blank">Arup Malakar</a>, <a href="https://www.flickr.com/photos/lobsterstew/89644885" target="_blank">J B</a>, <a href="https://www.flickr.com/photos/jakerome/3298702453" target="_blank">jakerome</a>, <a href="http://401kcalculator.org/" target="_blank">401(K) 2012</a>.</small></em></p></div> \ No newline at end of file
+<p data-textannotation-id="b54d87ffdace50f420c3a6ff0404cbf3"><em><small>Photos by <a href="http://www.shutterstock.com/pic-129762989/stock-vector-consumer.html?src=id&amp;ws=1" target="_blank">cmgirl</a> (Shutterstock), <a href="http://www.shutterstock.com/pic-227832739/stock-vector-hacker-icon-man-in-hoody-with-laptop-flat-isolated-on-dark-background-vector-illustration.html?src=id&amp;ws=1" target="_blank">Macrovector</a> (Shutterstock), <a href="https://www.flickr.com/photos/jetheriot/6186786217" target="_blank">J E Theriot</a>, <a href="https://www.flickr.com/photos/puuikibeach/15289861843" target="_blank">davidd</a>, <a href="https://www.flickr.com/photos/funfilledgeorgie/10922459733" target="_blank">George Redgrave</a>, <a href="https://www.flickr.com/photos/amslerpix/7252002214" target="_blank">David Amsler</a>, <a href="https://www.flickr.com/photos/amalakar/7299820870" target="_blank">Arup Malakar</a>, <a href="https://www.flickr.com/photos/lobsterstew/89644885" target="_blank">J B</a>, <a href="https://www.flickr.com/photos/jakerome/3298702453" target="_blank">jakerome</a>, <a href="http://401kcalculator.org/" target="_blank">401(K) 2012</a>.</small></em></p></div> \ No newline at end of file
diff --git a/test/test-pages/lifehacker-working/expected-images.json b/test/test-pages/lifehacker-working/expected-images.json
index 2dc0955..a8b6052 100644
--- a/test/test-pages/lifehacker-working/expected-images.json
+++ b/test/test-pages/lifehacker-working/expected-images.json
@@ -1 +1 @@
-{"0":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--hqqO9fze--\/n1s6c2m6kc07iqdyllj6.jpg","2":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--QeUTCiuW--\/o4dpyrcbiqyfrc3bxx6p.jpg","3":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--mlR3Ku0_--\/xrhkwleyurcizy4akiae.jpg","4":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--Tacb0tyW--\/qodag11euf2npkawkn9v.jpg","5":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--x9hLbIKJ--\/imfc9ybqfw0jmztbhfrh.jpg","6":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--6NwBgQLy--\/afy7n45jfvsjdmmhonct.jpg","7":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--ciqk42G0--\/s3pq8vjrvyjgne4lfsod.jpg","8":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--mtob1sjR--\/y2ldv5eufb3jcrtfouye.jpg","9":"http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--4Ajak63w--\/atb9qm07fvvg7hqkumkw.jpg"} \ No newline at end of file
+["http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--hqqO9fze--\/n1s6c2m6kc07iqdyllj6.jpg","http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--QeUTCiuW--\/o4dpyrcbiqyfrc3bxx6p.jpg","http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--mlR3Ku0_--\/xrhkwleyurcizy4akiae.jpg","http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--Tacb0tyW--\/qodag11euf2npkawkn9v.jpg","http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--x9hLbIKJ--\/imfc9ybqfw0jmztbhfrh.jpg","http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--6NwBgQLy--\/afy7n45jfvsjdmmhonct.jpg","http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--ciqk42G0--\/s3pq8vjrvyjgne4lfsod.jpg","http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--mtob1sjR--\/y2ldv5eufb3jcrtfouye.jpg","http:\/\/i.kinja-img.com\/gawker-media\/image\/upload\/s--4Ajak63w--\/atb9qm07fvvg7hqkumkw.jpg"] \ No newline at end of file
diff --git a/test/test-pages/lifehacker-working/expected.html b/test/test-pages/lifehacker-working/expected.html
index d5e6c7c..2f862a9 100644
--- a/test/test-pages/lifehacker-working/expected.html
+++ b/test/test-pages/lifehacker-working/expected.html
@@ -56,8 +56,7 @@
-<aside>
-</aside><p data-textannotation-id="89992f1ca493b248eea6ed1772326c46">For example, confirmation bias makes you only believe the information that conforms to your prior beliefs, while you discount everything else. Advertisers appeal to this bias directly by convincing you one item is better than another with imagery and other tricks, regardless of what hard facts might say. Keep your mind open, do your own research, and accept when you're wrong about a product. The Decoy effect is also a commonly used tactic. You think one product is a deal because it's next to a similar product that's priced way higher. Even if it's a product you need, it's probably not as good of a deal as it looks right then and there. Again, always research beforehand and be on the lookout for this common trick to avoid impulse buys.</p>
+<p data-textannotation-id="89992f1ca493b248eea6ed1772326c46">For example, confirmation bias makes you only believe the information that conforms to your prior beliefs, while you discount everything else. Advertisers appeal to this bias directly by convincing you one item is better than another with imagery and other tricks, regardless of what hard facts might say. Keep your mind open, do your own research, and accept when you're wrong about a product. The Decoy effect is also a commonly used tactic. You think one product is a deal because it's next to a similar product that's priced way higher. Even if it's a product you need, it's probably not as good of a deal as it looks right then and there. Again, always research beforehand and be on the lookout for this common trick to avoid impulse buys.</p>
@@ -103,8 +102,7 @@
-<aside>
-</aside><p data-textannotation-id="bbe57b7aa20b48550e5f66b7c530822c">The purpose of this exercise is twofold: you see what you already have and don't need to ever buy again, and you get to see what you shouldn't have bought in the first place. As you list everything out, separate items into categories. It's extremely important that you are as honest with yourself as possible while you do this. It's also important you actually write this all down or type it all out. Here is the first set of categories to separate everything into:</p>
+<p data-textannotation-id="bbe57b7aa20b48550e5f66b7c530822c">The purpose of this exercise is twofold: you see what you already have and don't need to ever buy again, and you get to see what you shouldn't have bought in the first place. As you list everything out, separate items into categories. It's extremely important that you are as honest with yourself as possible while you do this. It's also important you actually write this all down or type it all out. Here is the first set of categories to separate everything into:</p>
@@ -381,8 +379,7 @@
-<aside>
-</aside><p data-textannotation-id="27385752c06848647540ad931892b21e">The last thing you should consider when it comes to impulse buys is "artificial replacement." As Trent Hamm at The Simple Dollar explains, artificial replacement can happen when you start to <a href="http://www.thesimpledollar.com/balancing-spending-and-time-how-time-frugality-can-save-you-lots-of-cash/" target="_blank">reduce the time</a> you get with your main interests:</p>
+<p data-textannotation-id="27385752c06848647540ad931892b21e">The last thing you should consider when it comes to impulse buys is "artificial replacement." As Trent Hamm at The Simple Dollar explains, artificial replacement can happen when you start to <a href="http://www.thesimpledollar.com/balancing-spending-and-time-how-time-frugality-can-save-you-lots-of-cash/" target="_blank">reduce the time</a> you get with your main interests:</p>
@@ -484,5 +481,4 @@
-<aside>
-</aside><p data-textannotation-id="b54d87ffdace50f420c3a6ff0404cbf3"><em><small>Photos by <a href="http://www.shutterstock.com/pic-129762989/stock-vector-consumer.html?src=id&amp;ws=1" target="_blank">cmgirl</a> (Shutterstock), <a href="http://www.shutterstock.com/pic-227832739/stock-vector-hacker-icon-man-in-hoody-with-laptop-flat-isolated-on-dark-background-vector-illustration.html?src=id&amp;ws=1" target="_blank">Macrovector</a> (Shutterstock), <a href="https://www.flickr.com/photos/jetheriot/6186786217" target="_blank">J E Theriot</a>, <a href="https://www.flickr.com/photos/puuikibeach/15289861843" target="_blank">davidd</a>, <a href="https://www.flickr.com/photos/funfilledgeorgie/10922459733" target="_blank">George Redgrave</a>, <a href="https://www.flickr.com/photos/amslerpix/7252002214" target="_blank">David Amsler</a>, <a href="https://www.flickr.com/photos/amalakar/7299820870" target="_blank">Arup Malakar</a>, <a href="https://www.flickr.com/photos/lobsterstew/89644885" target="_blank">J B</a>, <a href="https://www.flickr.com/photos/jakerome/3298702453" target="_blank">jakerome</a>, <a href="http://401kcalculator.org/" target="_blank">401(K) 2012</a>.</small></em></p></div> \ No newline at end of file
+<p data-textannotation-id="b54d87ffdace50f420c3a6ff0404cbf3"><em><small>Photos by <a href="http://www.shutterstock.com/pic-129762989/stock-vector-consumer.html?src=id&amp;ws=1" target="_blank">cmgirl</a> (Shutterstock), <a href="http://www.shutterstock.com/pic-227832739/stock-vector-hacker-icon-man-in-hoody-with-laptop-flat-isolated-on-dark-background-vector-illustration.html?src=id&amp;ws=1" target="_blank">Macrovector</a> (Shutterstock), <a href="https://www.flickr.com/photos/jetheriot/6186786217" target="_blank">J E Theriot</a>, <a href="https://www.flickr.com/photos/puuikibeach/15289861843" target="_blank">davidd</a>, <a href="https://www.flickr.com/photos/funfilledgeorgie/10922459733" target="_blank">George Redgrave</a>, <a href="https://www.flickr.com/photos/amslerpix/7252002214" target="_blank">David Amsler</a>, <a href="https://www.flickr.com/photos/amalakar/7299820870" target="_blank">Arup Malakar</a>, <a href="https://www.flickr.com/photos/lobsterstew/89644885" target="_blank">J B</a>, <a href="https://www.flickr.com/photos/jakerome/3298702453" target="_blank">jakerome</a>, <a href="http://401kcalculator.org/" target="_blank">401(K) 2012</a>.</small></em></p></div> \ No newline at end of file
diff --git a/test/test-pages/links-in-tables/expected-images.json b/test/test-pages/links-in-tables/expected-images.json
index 1d81db6..04d70fb 100644
--- a/test/test-pages/links-in-tables/expected-images.json
+++ b/test/test-pages/links-in-tables/expected-images.json
@@ -1 +1 @@
-["https:\/\/2.bp.blogspot.com\/-chCZZinlUTg\/WEcxvJo9gdI\/AAAAAAAADnk\/3ND_BspqN6Y2j5xxkLFW3RyS2Ig0NHZpQCLcB\/w1200-h630-p-k-nu\/ipsum-opsum.gif","https:\/\/2.bp.blogspot.com\/-chCZZinlUTg\/WEcxvJo9gdI\/AAAAAAAADnk\/3ND_BspqN6Y2j5xxkLFW3RyS2Ig0NHZpQCLcB\/s640\/ipsum-opsum.gif","https:\/\/2.bp.blogspot.com\/-5aRh1dM6Unc\/WEcNs55RGhI\/AAAAAAAADnI\/tzr_oOJjZwgWd9Vu25ydY0UwB3eXKupXwCLcB\/s200\/image01.png"] \ No newline at end of file
+{"0":"https:\/\/2.bp.blogspot.com\/-chCZZinlUTg\/WEcxvJo9gdI\/AAAAAAAADnk\/3ND_BspqN6Y2j5xxkLFW3RyS2Ig0NHZpQCLcB\/s640\/ipsum-opsum.gif","2":"https:\/\/2.bp.blogspot.com\/-5aRh1dM6Unc\/WEcNs55RGhI\/AAAAAAAADnI\/tzr_oOJjZwgWd9Vu25ydY0UwB3eXKupXwCLcB\/s200\/image01.png"} \ No newline at end of file
diff --git a/test/test-pages/links-in-tables/expected.html b/test/test-pages/links-in-tables/expected.html
index 73b554d..05e0723 100644
--- a/test/test-pages/links-in-tables/expected.html
+++ b/test/test-pages/links-in-tables/expected.html
@@ -54,7 +54,7 @@ to inefficient patches.
Watch how much the compressed text on the right side changes from a one-letter
change in the uncompressed text on the left:
</p>
-<div><a href="https://2.bp.blogspot.com/-chCZZinlUTg/WEcxvJo9gdI/AAAAAAAADnk/3ND_BspqN6Y2j5xxkLFW3RyS2Ig0NHZpQCLcB/s1600/ipsum-opsum.gif" imageanchor="1"><img height="105" src="https://2.bp.blogspot.com/-chCZZinlUTg/WEcxvJo9gdI/AAAAAAAADnk/3ND_BspqN6Y2j5xxkLFW3RyS2Ig0NHZpQCLcB/s640/ipsum-opsum.gif" width="640"></img></a></div>
+<p><a href="https://2.bp.blogspot.com/-chCZZinlUTg/WEcxvJo9gdI/AAAAAAAADnk/3ND_BspqN6Y2j5xxkLFW3RyS2Ig0NHZpQCLcB/s1600/ipsum-opsum.gif" imageanchor="1"><img height="105" src="https://2.bp.blogspot.com/-chCZZinlUTg/WEcxvJo9gdI/AAAAAAAADnk/3ND_BspqN6Y2j5xxkLFW3RyS2Ig0NHZpQCLcB/s640/ipsum-opsum.gif" width="640"></img></a></p>
<p>
File-by-File therefore is based on detecting changes in the uncompressed data.
To generate a patch, we first decompress both old and new files before computing
@@ -107,65 +107,47 @@ Here are examples of app updates already using File-by-File Patching:
<div dir="ltr" trbidi="on">
<div dir="ltr">
-<table><colgroup><col width="142"></col><col width="102"></col><col width="176"></col><col width="176"></col></colgroup><tbody><tr><td><p>
-<span>Application</span></p>
-</td><td><p>
-<span>Original Size</span></p>
-</td><td><p>
-<span>Previous (BSDiff) Patch Size</span></p>
-<p>
-<span>(% vs original)</span></p>
-</td><td><p>
-<span>File-by-File Patch Size (% vs original)</span></p>
-</td></tr><tr><td>
-</td><td><p>
-<span>71.1 MB</span></p>
-</td><td><p>
-<span>13.4 MB (-81%)</span></p>
-</td><td><p>
-<span>8.0 MB (-89%)</span></p>
-</td></tr><tr><td>
-</td><td><p>
-<span>32.7 MB</span></p>
-</td><td><p>
-<span>17.5 MB (-46%)</span></p>
-</td><td><p>
-<span>9.6 MB (-71%)</span></p>
-</td></tr><tr><td>
-</td><td><p>
-<span>17.8 MB</span></p>
-</td><td><p>
-<span>7.6 MB (-57%)</span></p>
-</td><td><p>
-<span>7.3 MB (-59%)</span></p>
-</td></tr><tr><td>
-</td><td><p>
-<span>18.9 MB</span></p>
-</td><td><p>
-<span>17.2 MB (-9%)</span></p>
-</td><td><p>
-<span>13.1 MB (-31%)</span></p>
-</td></tr><tr><td>
-</td><td><p>
-<span>52.4 MB</span></p>
-</td><td><p>
-<span>19.1 MB (-64%)</span></p>
-</td><td><p>
-<span>8.4 MB (-84%)</span></p>
-</td></tr><tr><td>
-</td><td><p>
-<span>16.2 MB</span></p>
-</td><td><p>
-<span>7.7 MB (-52%)</span></p>
-</td><td><p>
-<span>1.2 MB (-92%)</span></p>
+<table readabilityDataTable="1"><colgroup><col width="142"></col><col width="102"></col><col width="176"></col><col width="176"></col></colgroup><tbody><tr><td><p><span>Application</span></p>
+</td><td><p><span>Original Size</span></p>
+</td><td><p><span>Previous (BSDiff) Patch Size</span></p>
+<p><span>(% vs original)</span></p>
+</td><td><p><span>File-by-File Patch Size (% vs original)</span></p>
+</td></tr><tr><td><div dir="ltr">
+<p><a href="https://play.google.com/store/apps/details?id=com.king.farmheroessupersaga&amp;hl=en"><span>Farm Heroes Super Saga</span></a></p></div>
+</td><td><p><span>71.1 MB</span></p>
+</td><td><p><span>13.4 MB (-81%)</span></p>
+</td><td><p><span>8.0 MB (-89%)</span></p>
+</td></tr><tr><td><div dir="ltr">
+<p><a href="https://play.google.com/store/apps/details?id=com.google.android.apps.maps"><span>Google Maps</span></a></p></div>
+</td><td><p><span>32.7 MB</span></p>
+</td><td><p><span>17.5 MB (-46%)</span></p>
+</td><td><p><span>9.6 MB (-71%)</span></p>
+</td></tr><tr><td><div dir="ltr">
+<p><a href="https://play.google.com/store/apps/details?id=com.google.android.gm"><span>Gmail</span></a></p></div>
+</td><td><p><span>17.8 MB</span></p>
+</td><td><p><span>7.6 MB (-57%)</span></p>
+</td><td><p><span>7.3 MB (-59%)</span></p>
+</td></tr><tr><td><div dir="ltr">
+<p><a href="https://play.google.com/store/apps/details?id=com.google.android.tts"><span>Google TTS</span></a></p></div>
+</td><td><p><span>18.9 MB</span></p>
+</td><td><p><span>17.2 MB (-9%)</span></p>
+</td><td><p><span>13.1 MB (-31%)</span></p>
+</td></tr><tr><td><div dir="ltr">
+<p><a href="https://play.google.com/store/apps/details?id=com.amazon.kindle"><span>Kindle</span></a></p></div>
+</td><td><p><span>52.4 MB</span></p>
+</td><td><p><span>19.1 MB (-64%)</span></p>
+</td><td><p><span>8.4 MB (-84%)</span></p>
+</td></tr><tr><td><div dir="ltr">
+<p><a href="https://play.google.com/store/apps/details?id=com.netflix.mediaclient"><span>Netflix</span></a></p></div>
+</td><td><p><span>16.2 MB</span></p>
+</td><td><p><span>7.7 MB (-52%)</span></p>
+</td><td><p><span>1.2 MB (-92%)</span></p>
</td></tr></tbody></table></div>
-<span id="docs-internal-guid-de7f0210-d587-05da-d332-146959aa303f"></span><br></br>
+
</div>
-<em>Disclaimer: if you see different patch sizes when you press "update"
+<p><em>Disclaimer: if you see different patch sizes when you press "update"
manually, that is because we are not currently using File-by-file for
-interactive updates, only those done in the background.</em>
-<p>
+interactive updates, only those done in the background.</em></p><p>
<strong><span>Saving data and making our
users (&amp; developers!) happy</span></strong>
</p>
@@ -187,8 +169,6 @@ As a developer if you're interested in reducing your APK size still further,
here are some <a href="https://developer.android.com/topic/performance/reduce-apk-size.html?utm_campaign=android_discussion_filebyfile_120616&amp;utm_source=anddev&amp;utm_medium=blog">general
tips on reducing APK size</a>.
</p>
-<div><a href="https://2.bp.blogspot.com/-5aRh1dM6Unc/WEcNs55RGhI/AAAAAAAADnI/tzr_oOJjZwgWd9Vu25ydY0UwB3eXKupXwCLcB/s1600/image01.png" imageanchor="1"><img height="200" src="https://2.bp.blogspot.com/-5aRh1dM6Unc/WEcNs55RGhI/AAAAAAAADnI/tzr_oOJjZwgWd9Vu25ydY0UwB3eXKupXwCLcB/s200/image01.png" width="191"></img></a></div>
-<span itemprop="author" itemscope="itemscope" itemtype="http://schema.org/Person">
-<meta content="https://plus.google.com/116899029375914044550" itemprop="url"></meta></span>
+<p><a href="https://2.bp.blogspot.com/-5aRh1dM6Unc/WEcNs55RGhI/AAAAAAAADnI/tzr_oOJjZwgWd9Vu25ydY0UwB3eXKupXwCLcB/s1600/image01.png" imageanchor="1"><img height="200" src="https://2.bp.blogspot.com/-5aRh1dM6Unc/WEcNs55RGhI/AAAAAAAADnI/tzr_oOJjZwgWd9Vu25ydY0UwB3eXKupXwCLcB/s200/image01.png" width="191"></img></a></p>
</div> \ No newline at end of file
diff --git a/test/test-pages/lwn-1/expected.html b/test/test-pages/lwn-1/expected.html
index b2bef41..358f956 100644
--- a/test/test-pages/lwn-1/expected.html
+++ b/test/test-pages/lwn-1/expected.html
@@ -30,27 +30,23 @@ program</a> for third-party manufacturers interested in using the "Arduino" bran
<p>The new release is version 2.8, which was unveiled on March 2. An official <a href="http://qgis.org/en/site/forusers/visualchangelog28/index.html">change
log</a> is available on the QGIS site, while the release itself was announced primarily through blog posts (such as <a href="http://anitagraser.com/2015/03/02/qgis-2-8-ltr-has-landed/">this
post</a> by Anita Graser of the project's steering committee). Downloads are <a href="http://qgis.org/en/site/forusers/download.html">available</a> for a variety of platforms, including packages for Ubuntu, Debian, Fedora, openSUSE, and several other distributions.</p>
- <a href="http://fakehost/Articles/637747/"> <img alt="[QGIS main interface]" height="264" src="http://fakehost/images/2015/03-qgis-map-sm.png" width="350"></img></a>
- <p>As the name might suggest, QGIS is a Qt application; the latest release will, in fact, build on both Qt4 and Qt5, although the binaries released by the project come only in Qt4 form at present. 2.8 has been labeled a long-term release (LTR)—which, in this case, means that the project has committed to providing backported bug fixes for one full calendar year, and that the 2.8.x series is in permanent feature freeze. The goal, according to the change log, is to provide a stable version suitable for businesses and deployments in other large organizations. The change log itself points out that the development of quite a few new features was underwritten by various GIS companies or university groups, which suggests that taking care of these organizations' needs is reaping dividends for the project. </p>
+ <p><a href="http://fakehost/Articles/637747/"> <img alt="[QGIS main interface]" height="264" src="http://fakehost/images/2015/03-qgis-map-sm.png" width="350"></img></a></p><p>As the name might suggest, QGIS is a Qt application; the latest release will, in fact, build on both Qt4 and Qt5, although the binaries released by the project come only in Qt4 form at present. 2.8 has been labeled a long-term release (LTR)—which, in this case, means that the project has committed to providing backported bug fixes for one full calendar year, and that the 2.8.x series is in permanent feature freeze. The goal, according to the change log, is to provide a stable version suitable for businesses and deployments in other large organizations. The change log itself points out that the development of quite a few new features was underwritten by various GIS companies or university groups, which suggests that taking care of these organizations' needs is reaping dividends for the project. </p>
<p>For those new to QGIS (or GIS in general), there is a detailed new-user <a href="http://docs.qgis.org/testing/en/docs/training_manual/">tutorial</a> that provides a thorough walk-through of the data-manipulation, mapping, and analysis functions. Being a new user, I went through the tutorial; although there are a handful of minor differences between QGIS 2.8 and the version used in the text (primarily whether specific features were accessed through a toolbar or right-click menu), on the whole it is well worth the time. </p>
<p>QGIS is designed to make short work of importing spatially oriented data sets, mining information from them, and turning the results into a meaningful visualization. Technically speaking, the visualization output is optional: one could simply extract the needed statistics and results and use them to answer some question or, perhaps, publish the massaged data set as a database for others to use. </p>
<p>But well-made maps are often the easiest way to illuminate facts about populations, political regions, geography, and many other topics when human comprehension is the goal. QGIS makes importing data from databases, web-mapping services (WMS), and even unwieldy flat-file data dumps a painless experience. It handles converting between a variety of map-referencing systems more or less automatically, and allows the user to focus on finding the useful attributes of the data sets and rendering them on screen. </p>
<h4>Here be data</h4>
<p>The significant changes in QGIS 2.8 fall into several categories. There are updates to how QGIS handles the mathematical expressions and queries users can use to filter information out of a data set, improvements to the tools used to explore the on-screen map canvas, and enhancements to the "map composer" used to produce visual output. This is on top of plenty of other under-the-hood improvements, naturally.</p>
- <a href="http://fakehost/Articles/637748/"> <img alt="[QGIS query builder]" height="302" src="http://fakehost/images/2015/03-qgis-query-sm.png" width="300"></img></a>
- <p>In the first category are several updates to the filtering tools used to mine a data set. Generally speaking, each independent data set is added to a QGIS project as its own layer, then transformed with filters to focus in on a specific portion of the original data. For instance, the land-usage statistics for a region might be one layer, while roads and buildings for the same region from OpenStreetMap might be two additional layers. Such filters can be created in several ways: there is a "query builder" that lets the user construct and test expressions on a data layer, then save the results, an SQL console for performing similar queries on a database, and spreadsheet-like editing tools for working directly on data tables. </p>
+ <p><a href="http://fakehost/Articles/637748/"> <img alt="[QGIS query builder]" height="302" src="http://fakehost/images/2015/03-qgis-query-sm.png" width="300"></img></a></p><p>In the first category are several updates to the filtering tools used to mine a data set. Generally speaking, each independent data set is added to a QGIS project as its own layer, then transformed with filters to focus in on a specific portion of the original data. For instance, the land-usage statistics for a region might be one layer, while roads and buildings for the same region from OpenStreetMap might be two additional layers. Such filters can be created in several ways: there is a "query builder" that lets the user construct and test expressions on a data layer, then save the results, an SQL console for performing similar queries on a database, and spreadsheet-like editing tools for working directly on data tables. </p>
<p>All three have been improved in this release. New are support for <tt>if(condition, true, false)</tt> conditional statements, a set of operations for geometry primitives (e.g., to test whether regions overlap or lines intersect), and an "integer divide" operation. Users can also add comments to their queries to annotate their code, and there is a new <a href="http://nathanw.net/2015/01/19/function-editor-for-qgis-expressions/">custom
function editor</a> for writing Python functions that can be called in mathematical expressions within the query builder. </p>
<p>It is also now possible to select only some rows in a table, then perform calculations just on the selection—previously, users would have to extract the rows of interest into a new table first. Similarly, in the SQL editor, the user can highlight a subset of the SQL query and execute it separately, which is no doubt helpful for debugging. </p>
<p>There have also been several improvements to the Python and Processing plugins. Users can now drag-and-drop Python scripts onto QGIS and they will be run automatically. Several new analysis algorithms are now available through the Processing interface that were previously Python-only; they include algorithms for generating grids of points or vectors within a region, splitting layers and lines, generating <a href="http://en.wikipedia.org/wiki/Hypsometric_curve">hypsometric
curves</a>, refactoring data sets, and more. </p>
<h4>Maps in, maps out</h4>
- <a href="http://fakehost/Articles/637749/"> <img alt="[QGIS simplify tool]" height="303" src="http://fakehost/images/2015/03-qgis-simplify-sm.png" width="300"></img></a>
- <p>The process of working with on-screen map data picked up some improvements in the new release as well. Perhaps the most fundamental is that each map layer added to the canvas is now handled in its own thread, so fewer hangs in the user interface are experienced when re-rendering a layer (as happens whenever the user changes the look of points or shapes in a layer). Since remote databases can also be layers, this multi-threaded approach is more resilient against connectivity problems, too. The interface also now supports temporary "scratch" layers that can be used to merge, filter, or simply experiment with a data set, but are not saved when the current project is saved. </p>
+ <p><a href="http://fakehost/Articles/637749/"> <img alt="[QGIS simplify tool]" height="303" src="http://fakehost/images/2015/03-qgis-simplify-sm.png" width="300"></img></a></p><p>The process of working with on-screen map data picked up some improvements in the new release as well. Perhaps the most fundamental is that each map layer added to the canvas is now handled in its own thread, so fewer hangs in the user interface are experienced when re-rendering a layer (as happens whenever the user changes the look of points or shapes in a layer). Since remote databases can also be layers, this multi-threaded approach is more resilient against connectivity problems, too. The interface also now supports temporary "scratch" layers that can be used to merge, filter, or simply experiment with a data set, but are not saved when the current project is saved. </p>
<p>For working on the canvas itself, polygonal regions can now use raster images (tiled, if necessary) as fill colors, the map itself can be rotated arbitrarily, and objects can be "snapped" to align with items on any layer (not just the current layer). For working with raster image layers (e.g., aerial photographs) or simply creating new geometric shapes by hand, there is a new digitizing tool that can offer assistance by locking lines to specific angles, automatically keeping borders parallel, and other niceties. </p>
<p>There is a completely overhauled "simplify" tool that is used to reduce the number of extraneous vertices of a vector layer (thus reducing its size). The old simplify tool provided only a relative "tolerance" setting that did not correspond directly to any units. With the new tool, users can set a simplification threshold in terms of the underlying map units, layer-specific units, pixels, and more—and, in addition, the tool reports how much the simplify operation has reduced the size of the data.</p>
- <a href="http://fakehost/Articles/637751/"> <img alt="[QGIS style editing]" height="286" src="http://fakehost/images/2015/03-qgis-style-sm.png" width="300"></img></a>
- <p>There has also been an effort to present a uniform interface to one of the most important features of the map canvas: the ability to change the symbology used for an item based on some data attribute. The simplest example might be to change the line color of a road based on whether its road-type attribute is "highway," "service road," "residential," or so on. But the same feature is used to automatically highlight layer information based on the filtering and querying functionality discussed above. The new release allows many more map attributes to be controlled by these "data definition" settings, and provides a hard-to-miss button next to each attribute, through which a custom data definition can be set. </p>
+ <p><a href="http://fakehost/Articles/637751/"> <img alt="[QGIS style editing]" height="286" src="http://fakehost/images/2015/03-qgis-style-sm.png" width="300"></img></a></p><p>There has also been an effort to present a uniform interface to one of the most important features of the map canvas: the ability to change the symbology used for an item based on some data attribute. The simplest example might be to change the line color of a road based on whether its road-type attribute is "highway," "service road," "residential," or so on. But the same feature is used to automatically highlight layer information based on the filtering and querying functionality discussed above. The new release allows many more map attributes to be controlled by these "data definition" settings, and provides a hard-to-miss button next to each attribute, through which a custom data definition can be set. </p>
<p>QGIS's composer module is the tool used to take project data and generate a map that can be used outside of the application (in print, as a static image, or as a layer for <a href="http://mapserver.org/">MapServer</a> or some other software tool, for example). Consequently, it is not a simple select-and-click-export tool; composing the output can involve a lot of choices about which data to make visible, how (and where) to label it, and how to make it generally accessible. </p>
<p>The updated composer in 2.8 now has a full-screen mode and sports several new options for configuring output. For instance, the user now has full control over how map axes are labeled. In previous releases, the grid coordinates of the map could be turned on or off, but the only options were all or nothing. Now, the user can individually choose whether coordinates are displayed on all four sides, and can even choose in which direction vertical text labels will run (so that they can be correctly justified to the edge of the map, for example). </p>
<p>There are, as usual, many more changes than there is room to discuss. Some particularly noteworthy improvements include the ability to save and load bookmarks for frequently used data sources (perhaps most useful for databases, web services, and other non-local data) and improvements to QGIS's server module. This module allows one QGIS instance to serve up data accessible to other QGIS applications (for example, to simply team projects). The server can now be extended with Python plugins and the data layers that it serves can be styled with style rules like those used in the desktop interface. </p>
@@ -59,8 +55,8 @@ curves</a>, refactoring data sets, and more. </p>
<h2><a href="http://fakehost/Articles/637735/">Development activity in LibreOffice and OpenOffice</a></h2>
<p> By <b>Jonathan Corbet</b>
- <br></br>March 25, 2015 </p><p> The LibreOffice project was </p><a href="http://fakehost/Articles/407383/">announced</a><p> with great fanfare in September 2010. Nearly one year later, the OpenOffice.org project (from which LibreOffice was forked) </p><a href="http://fakehost/Articles/446093/">was
-cut loose from Oracle</a><p> and found a new home as an Apache project. It is fair to say that the rivalry between the two projects in the time since then has been strong. Predictions that one project or the other would fail have not been borne out, but that does not mean that the two projects are equally successful. A look at the two projects' development communities reveals some interesting differences.
+ <br></br>March 25, 2015 </p><p> The LibreOffice project was <a href="http://fakehost/Articles/407383/">announced</a> with great fanfare in September 2010. Nearly one year later, the OpenOffice.org project (from which LibreOffice was forked) <a href="http://fakehost/Articles/446093/">was
+cut loose from Oracle</a> and found a new home as an Apache project. It is fair to say that the rivalry between the two projects in the time since then has been strong. Predictions that one project or the other would fail have not been borne out, but that does not mean that the two projects are equally successful. A look at the two projects' development communities reveals some interesting differences.
</p>
<h4>Release histories</h4>
<p> Apache OpenOffice has made two releases in the past year: <a href="https://blogs.apache.org/OOo/entry/the_apache_openoffice_project_announce">4.1</a> in April 2014 and <a href="https://blogs.apache.org/OOo/entry/announcing_apache_openoffice_4_1">4.1.1</a> (described as "a micro update" in the release announcement) in August. The main feature added during that time would appear to be significantly improved accessibility support. </p>
@@ -74,9 +70,9 @@ cut loose from Oracle</a><p> and found a new home as an Apache project. It is fa
<p> In the one-year period since late March 2014, there have been 381 changesets committed to the OpenOffice Subversion repository. The most active committers are: </p>
<blockquote>
- <table><tbody><tr><th colspan="2">Most active OpenOffice developers</th>
+ <table readabilityDataTable="1"><tbody><tr><th colspan="2">Most active OpenOffice developers</th>
</tr><tr><td>
- <table><tbody><tr><th colspan="3">By changesets</th>
+ <table readabilityDataTable="1"><tbody><tr><th colspan="3">By changesets</th>
</tr><tr><td>Herbert Dürr</td>
<td>63</td>
<td>16.6%</td>
@@ -127,7 +123,7 @@ cut loose from Oracle</a><p> and found a new home as an Apache project. It is fa
<td>0.5%</td>
</tr></tbody></table></td>
<td>
- <table><tbody><tr><th colspan="3">By changed lines</th>
+ <table readabilityDataTable="1"><tbody><tr><th colspan="3">By changed lines</th>
</tr><tr><td>Jürgen Schmidt             </td>
<td>455499</td>
<td>88.1%</td>
@@ -183,9 +179,9 @@ cut loose from Oracle</a><p> and found a new home as an Apache project. It is fa
<p> The picture for LibreOffice is just a little bit different; in the same one-year period, the project has committed 22,134 changesets from 268 developers. The most active of these developers were: </p>
<blockquote>
- <table><tbody><tr><th colspan="2">Most active LibreOffice developers</th>
+ <table readabilityDataTable="1"><tbody><tr><th colspan="2">Most active LibreOffice developers</th>
</tr><tr><td>
- <table><tbody><tr><th colspan="3">By changesets</th>
+ <table readabilityDataTable="1"><tbody><tr><th colspan="3">By changesets</th>
</tr><tr><td>Caolán McNamara</td>
<td>4307</td>
<td>19.5%</td>
@@ -248,7 +244,7 @@ cut loose from Oracle</a><p> and found a new home as an Apache project. It is fa
<td>1.0%</td>
</tr></tbody></table></td>
<td>
- <table><tbody><tr><th colspan="3">By changed lines</th>
+ <table readabilityDataTable="1"><tbody><tr><th colspan="3">By changed lines</th>
</tr><tr><td>Lionel Elie Mamane</td>
<td>244062</td>
<td>12.5%</td>
@@ -314,7 +310,7 @@ cut loose from Oracle</a><p> and found a new home as an Apache project. It is fa
<p> To a first approximation, the top ten companies supporting LibreOffice in the last year are: </p>
<blockquote>
- <table><tbody><tr><th colspan="3">Companies supporting LibreOffice development</th>
+ <table readabilityDataTable="1"><tbody><tr><th colspan="3">Companies supporting LibreOffice development</th>
</tr><tr><th colspan="3">(by changesets)</th>
</tr><tr><td>Red Hat</td>
<td>8417</td>
@@ -366,8 +362,8 @@ bark but the caravan moves on.</span>" That may be true, but, in this case, the
<li> <a href="http://fakehost/Articles/637397/">Distributions</a>: A look at Debian's 2015 DPL candidates; Debian, Fedora, ... </li>
<li> <a href="http://fakehost/Articles/637398/">Development</a>: A look at GlusterFS; LibreOffice Online; Open sourcing existing code; Secure Boot in Windows 10; ... </li>
<li> <a href="http://fakehost/Articles/637399/">Announcements</a>: A Turing award for Michael Stonebraker, Sébastien Jodogne, ReGlue are Free Software Award winners, Kat Walsh joins FSF board of directors, Cyanogen, ... </li>
- </ul><b>Next page</b><p>: </p><a href="http://fakehost/Articles/637395/">Security&gt;&gt;</a>
- <br></br></div>
+ </ul><p><b>Next page</b>: <a href="http://fakehost/Articles/637395/">Security&gt;&gt;</a>
+ <br></br></p></div>
</td>
diff --git a/test/test-pages/medium-1/expected-images.json b/test/test-pages/medium-1/expected-images.json
index 507d7d0..2aaba2e 100644
--- a/test/test-pages/medium-1/expected-images.json
+++ b/test/test-pages/medium-1/expected-images.json
@@ -1 +1 @@
-["https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*oBWUXtszDsiv_-Qq2bFLTQ.png","https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*AzYWbe4cZkMMEUbfRjysLQ.png","https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*d0Hp6KlzyIcGHcL6to1sYQ.png","https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*_9KYIFrk_PqWFgptsMDeww.png","https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*Vh2MpQjqjPkzYJaaWExoVg.png","https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*2Ln_DmC95Xpz6LzgywkcFQ.png","https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*bXaR_NBJdoHpRc8lUWSsow.png","https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*lulfisQxgSQ209vPHMAifg.png"] \ No newline at end of file
+["https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*AzYWbe4cZkMMEUbfRjysLQ.png","https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*d0Hp6KlzyIcGHcL6to1sYQ.png","https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*_9KYIFrk_PqWFgptsMDeww.png","https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*Vh2MpQjqjPkzYJaaWExoVg.png","https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*2Ln_DmC95Xpz6LzgywkcFQ.png","https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*bXaR_NBJdoHpRc8lUWSsow.png","https:\/\/d262ilb51hltx0.cloudfront.net\/max\/800\/1*lulfisQxgSQ209vPHMAifg.png"] \ No newline at end of file
diff --git a/test/test-pages/medium-1/expected-metadata.json b/test/test-pages/medium-1/expected-metadata.json
index b27963a..e3e098c 100644
--- a/test/test-pages/medium-1/expected-metadata.json
+++ b/test/test-pages/medium-1/expected-metadata.json
@@ -1,5 +1,5 @@
{
- "Title": "Better Student Journalism — Medium",
+ "Title": "The Open Journalism Project: Better Student Journalism",
"Author": "Pippin Lee",
"Excerpt": "We pushed out the first version of the Open Journalism site in January. Here’s what we’ve learned about student journali…"
}
diff --git a/test/test-pages/medium-1/expected.html b/test/test-pages/medium-1/expected.html
index 0ab250c..679d8b7 100644
--- a/test/test-pages/medium-1/expected.html
+++ b/test/test-pages/medium-1/expected.html
@@ -27,7 +27,7 @@
considered.</p>
<figure id="06e8" name="06e8"><div>
- <img data-action="zoom" data-action-value="1*AzYWbe4cZkMMEUbfRjysLQ.png" data-height="500" data-image-id="1*AzYWbe4cZkMMEUbfRjysLQ.png" data-width="1000" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*AzYWbe4cZkMMEUbfRjysLQ.png"></img></div>
+ <p><img data-action="zoom" data-action-value="1*AzYWbe4cZkMMEUbfRjysLQ.png" data-height="500" data-image-id="1*AzYWbe4cZkMMEUbfRjysLQ.png" data-width="1000" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*AzYWbe4cZkMMEUbfRjysLQ.png"></img></p></div>
<figcaption>topleftpixel.com</figcaption></figure><p id="930f" name="930f">I started discovering beautiful things the <a data-href="http://wvs.topleftpixel.com/13/02/06/timelapse-strips-homewood.htm" href="http://wvs.topleftpixel.com/13/02/06/timelapse-strips-homewood.htm" rel="nofollow">web could do with images</a>:
things not possible with print. Just as every generation revolts against
walking in the previous generations shoes, I found myself questioning the
@@ -46,7 +46,7 @@
was, we were told, all part of “becoming a journalist.”</p>
<figure id="12da" name="12da"><div>
- <img data-action="zoom" data-action-value="1*d0Hp6KlzyIcGHcL6to1sYQ.png" data-height="451" data-image-id="1*d0Hp6KlzyIcGHcL6to1sYQ.png" data-width="868" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*d0Hp6KlzyIcGHcL6to1sYQ.png"></img></div>
+ <p><img data-action="zoom" data-action-value="1*d0Hp6KlzyIcGHcL6to1sYQ.png" data-height="451" data-image-id="1*d0Hp6KlzyIcGHcL6to1sYQ.png" data-width="868" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*d0Hp6KlzyIcGHcL6to1sYQ.png"></img></p></div>
</figure><h3 id="e2f0" name="e2f0">We don’t know what we don’t know</h3>
<p id="8263" name="8263">We spent much of the rest of the school year asking “what should we be
doing in the newsroom?”, which mainly led us to ask “how do we use the
@@ -90,7 +90,7 @@
<li id="0be9" name="0be9">Not enough discussion between the business side and web efforts</li>
</ul><figure id="79ed" name="79ed"><div>
- <img data-action="zoom" data-action-value="1*_9KYIFrk_PqWFgptsMDeww.png" data-height="500" data-image-id="1*_9KYIFrk_PqWFgptsMDeww.png" data-width="1086" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*_9KYIFrk_PqWFgptsMDeww.png"></img></div>
+ <p><img data-action="zoom" data-action-value="1*_9KYIFrk_PqWFgptsMDeww.png" data-height="500" data-image-id="1*_9KYIFrk_PqWFgptsMDeww.png" data-width="1086" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*_9KYIFrk_PqWFgptsMDeww.png"></img></p></div>
<figcaption>From our 2011 research</figcaption></figure><h3 id="8d0c" name="8d0c">Common problems in student newsrooms (2013)</h3>
<p id="3ef6" name="3ef6">Two years later, we went back and looked at what had changed. We talked
to a dozen more newsrooms and weren’t surprised by our findings.</p>
@@ -138,7 +138,7 @@
</p>
<figure id="416f" name="416f"><div>
- <img data-height="560" data-image-id="1*Vh2MpQjqjPkzYJaaWExoVg.png" data-width="624" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*Vh2MpQjqjPkzYJaaWExoVg.png"></img></div>
+ <p><img data-height="560" data-image-id="1*Vh2MpQjqjPkzYJaaWExoVg.png" data-width="624" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*Vh2MpQjqjPkzYJaaWExoVg.png"></img></p></div>
<figcaption><strong>We designed many of these slides to help explain to ourselves what we were doing</strong>
</figcaption></figure><p id="39e6" name="39e6">When a newsroom decides to create a position for the web, it’s often with
the intent of having content flow steadily from writers onto the web. This
@@ -180,7 +180,7 @@
web.</p>
<figure id="7aab" name="7aab"><div>
- <img data-action="zoom" data-action-value="1*2Ln_DmC95Xpz6LzgywkcFQ.png" data-height="718" data-image-id="1*2Ln_DmC95Xpz6LzgywkcFQ.png" data-width="1315" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*2Ln_DmC95Xpz6LzgywkcFQ.png"></img></div>
+ <p><img data-action="zoom" data-action-value="1*2Ln_DmC95Xpz6LzgywkcFQ.png" data-height="718" data-image-id="1*2Ln_DmC95Xpz6LzgywkcFQ.png" data-width="1315" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*2Ln_DmC95Xpz6LzgywkcFQ.png"></img></p></div>
<figcaption>The current Open Journalism site was a few years in the making. This was
an original launch page we use in 2012</figcaption></figure><h3 id="08f5" name="08f5">What we know</h3>
<ul><li id="f7fe" name="f7fe"><strong>New process</strong>
@@ -251,7 +251,7 @@
between student journalism and professional newsrooms.</p>
<figure id="7ed3" name="7ed3"><div>
- <img data-height="400" data-image-id="1*bXaR_NBJdoHpRc8lUWSsow.png" data-width="686" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*bXaR_NBJdoHpRc8lUWSsow.png"></img></div>
+ <p><img data-height="400" data-image-id="1*bXaR_NBJdoHpRc8lUWSsow.png" data-width="686" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*bXaR_NBJdoHpRc8lUWSsow.png"></img></p></div>
<figcaption>2012</figcaption></figure><h3 id="ee1b" name="ee1b">This is a start</h3>
<p id="ebf9" name="ebf9">We going to continue slowly growing the content on <a data-href="http://pippinlee.github.io/open-journalism-project/" href="http://pippinlee.github.io/open-journalism-project/" rel="nofollow">Open Journalism</a>. We still consider this the beta version,
but expect to polish it, and beef up the content for a real launch at the
@@ -269,7 +269,7 @@
a lot.</p>
<figure id="4c68" name="4c68"><div>
- <img data-action="zoom" data-action-value="1*lulfisQxgSQ209vPHMAifg.png" data-height="534" data-image-id="1*lulfisQxgSQ209vPHMAifg.png" data-width="950" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*lulfisQxgSQ209vPHMAifg.png"></img></div>
+ <p><img data-action="zoom" data-action-value="1*lulfisQxgSQ209vPHMAifg.png" data-height="534" data-image-id="1*lulfisQxgSQ209vPHMAifg.png" data-width="950" src="https://d262ilb51hltx0.cloudfront.net/max/800/1*lulfisQxgSQ209vPHMAifg.png"></img></p></div>
</figure>
<p id="2c5c" name="2c5c"><strong>Let’s talk. Let’s listen.</strong>
</p>
diff --git a/test/test-pages/medium-2/expected-metadata.json b/test/test-pages/medium-2/expected-metadata.json
index d451476..395fb03 100644
--- a/test/test-pages/medium-2/expected-metadata.json
+++ b/test/test-pages/medium-2/expected-metadata.json
@@ -1,5 +1,5 @@
{
- "Title": "On Behalf of “Literally” — Medium",
+ "Title": "On Behalf of “Literally”",
"Author": "Courtney Kirchoff",
"Excerpt": "In defense of the word “literally” and why you or someone you know should stop misusing the word, lest they drive us fig…"
}
diff --git a/test/test-pages/medium-2/expected.html b/test/test-pages/medium-2/expected.html
index b371180..222b09d 100644
--- a/test/test-pages/medium-2/expected.html
+++ b/test/test-pages/medium-2/expected.html
@@ -1 +1 @@
-<section name="d9f8"><div><div><figure id="4924" name="4924"><div><img data-action="zoom" data-action-value="1*eR_J8DurqygbhrwDg-WPnQ.png" data-height="1280" data-image-id="1*eR_J8DurqygbhrwDg-WPnQ.png" data-width="1891" src="https://d262ilb51hltx0.cloudfront.net/max/1600/1*eR_J8DurqygbhrwDg-WPnQ.png"></img></div><figcaption>Words need defenders.</figcaption></figure><h3 id="b098" name="b098">On Behalf of “Literally”</h3><p id="1a73" name="1a73">You either are a “literally” abuser or know of one. If you’re anything like me, hearing the word “literally” used incorrectly causes a little piece of your soul to whither and die. Of course I do not mean that literally, I mean that figuratively. An abuser would have said: “Every time a person uses that word, a piece of my soul literally withers and dies.” Which is terribly, horribly wrong.</p><p id="104a" name="104a">For whatever bizarre reason, people feel the need to use literally as a sort of verbal crutch. They use it to emphasize a point, which is silly because they’re already using an analogy or a metaphor to illustrate said point. For example: “Ugh, I literally tore the house apart looking for my remote control!” No, you literally did not tear apart your house, because it’s still standing. If you’d just told me you “tore your house apart” searching for your remote, I would’ve understood what you meant. No need to add “literally” to the sentence.</p><p id="c2c0" name="c2c0">Maybe I should define literally.</p><blockquote id="b239" name="b239">Literally means actually. When you say something literally happened, you’re describing the scene or situation as it actually happened.</blockquote><p id="a8fd" name="a8fd">So you should only use literally when you mean it. It should not be used in hyperbole. Example: “That was so funny I literally cried.” Which is possible. Some things are funny enough to elicit tears. Note the example stops with “literally cried.” You cannot <em>literally cry your eyes out</em>. The joke wasn’t so funny your eyes popped out of their sockets.</p><h4 id="165a" name="165a">When in Doubt, Leave it Out</h4><p id="e434" name="e434">“I’m so hungry I could eat a horse,” means you’re hungry. You don’t need to say “I’m so hungry I could literally eat a horse.” Because you can’t do that in one sitting, I don’t care how big your stomach is.</p><p id="d88f" name="d88f">“That play was so funny I laughed my head off,” illustrates the play was amusing. You don’t need to say you literally laughed your head off, because then your head would be on the ground and you wouldn’t be able to speak, much less laugh.</p><p id="4bab" name="4bab">“I drove so fast my car was flying,” we get your point: you were speeding. But your car is never going fast enough to fly, so don’t say your car was literally flying.</p><h4 id="f2f0" name="f2f0">Insecurities?</h4><p id="1bd7" name="1bd7">Maybe no one believed a story you told as a child, and you felt the need to prove that it actually happened. <em>No really, mom, I literally climbed the tree. </em>In efforts to prove truth, you used literally to describe something real, however outlandish it seemed. Whatever the reason, now your overuse of literally has become a habit.</p><h4 id="d7c1" name="d7c1">Hard Habit to Break?</h4><p id="714b" name="714b">Abusing literally isn’t as bad a smoking, but it’s still an unhealthy habit (I mean that figuratively). Help is required in order to break it.</p><p id="f929" name="f929">This is my version of an intervention for literally abusers. I’m not sure how else to do it other than in writing. I know this makes me sound like a know-it-all, and I accept that. But there’s no excuse other than blatant ignorance to misuse the word “literally.” So just stop it.</p><p id="fd19" name="fd19">Don’t say “Courtney, this post is so snobbish it literally burned up my computer.” Because nothing is that snobbish that it causes computers to combust. Or: “Courtney, your head is so big it literally cannot get through the door.” Because it can, unless it’s one of those tiny doors from <em>Alice in Wonderland</em> and I need to eat a mushroom to make my whole body smaller.</p><h4 id="fe12" name="fe12">No One’s Perfect</h4><p id="7ff8" name="7ff8">And I’m not saying I am. I’m trying to restore meaning to a word that’s lost meaning. I’m standing up for literally. It’s a good word when used correctly. People are butchering it and destroying it every day (figuratively speaking) and the massacre needs to stop. Just as there’s a coalition of people against the use of certain fonts (like <a data-href="http://bancomicsans.com/main/?page_id=2" href="http://bancomicsans.com/main/?page_id=2" rel="nofollow">Comic Sans</a> and <a data-href="https://www.facebook.com/group.php?gid=14448723154" href="https://www.facebook.com/group.php?gid=14448723154" rel="nofollow">Papyrus</a>), so should there be a coalition of people against the abuse of literally.</p><h4 id="049e" name="049e">Saying it to Irritate?</h4><p id="9381" name="9381">Do you misuse the word “literally” just to annoy your know-it-all or grammar police friends/acquaintances/total strangers? If so, why? Doing so would be like me going outside when it’s freezing, wearing nothing but a pair of shorts and t-shirt in hopes of making you cold by just looking at me. Who suffers more?</p><h4 id="3e52" name="3e52">Graphical Representation</h4><p id="b57e" name="b57e">Matthew Inman of “The Oatmeal” wrote a comic about literally. Abusers and defenders alike <a data-href="http://theoatmeal.com/comics/literally" href="http://theoatmeal.com/comics/literally" rel="nofollow">should check it out</a>. It’s clear this whole craze about literally is driving a lot of us nuts. You literally abusers are killing off pieces of our souls. You must be stopped, or the world will be lost to meaninglessness forever. Figuratively speaking.</p></div></div></section> \ No newline at end of file
+<section name="d9f8"><div><div><figure id="4924" name="4924"><div><p><img data-action="zoom" data-action-value="1*eR_J8DurqygbhrwDg-WPnQ.png" data-height="1280" data-image-id="1*eR_J8DurqygbhrwDg-WPnQ.png" data-width="1891" src="https://d262ilb51hltx0.cloudfront.net/max/1600/1*eR_J8DurqygbhrwDg-WPnQ.png"></img></p></div><figcaption>Words need defenders.</figcaption></figure><h3 id="b098" name="b098">On Behalf of “Literally”</h3><p id="1a73" name="1a73">You either are a “literally” abuser or know of one. If you’re anything like me, hearing the word “literally” used incorrectly causes a little piece of your soul to whither and die. Of course I do not mean that literally, I mean that figuratively. An abuser would have said: “Every time a person uses that word, a piece of my soul literally withers and dies.” Which is terribly, horribly wrong.</p><p id="104a" name="104a">For whatever bizarre reason, people feel the need to use literally as a sort of verbal crutch. They use it to emphasize a point, which is silly because they’re already using an analogy or a metaphor to illustrate said point. For example: “Ugh, I literally tore the house apart looking for my remote control!” No, you literally did not tear apart your house, because it’s still standing. If you’d just told me you “tore your house apart” searching for your remote, I would’ve understood what you meant. No need to add “literally” to the sentence.</p><p id="c2c0" name="c2c0">Maybe I should define literally.</p><blockquote id="b239" name="b239">Literally means actually. When you say something literally happened, you’re describing the scene or situation as it actually happened.</blockquote><p id="a8fd" name="a8fd">So you should only use literally when you mean it. It should not be used in hyperbole. Example: “That was so funny I literally cried.” Which is possible. Some things are funny enough to elicit tears. Note the example stops with “literally cried.” You cannot <em>literally cry your eyes out</em>. The joke wasn’t so funny your eyes popped out of their sockets.</p><h4 id="165a" name="165a">When in Doubt, Leave it Out</h4><p id="e434" name="e434">“I’m so hungry I could eat a horse,” means you’re hungry. You don’t need to say “I’m so hungry I could literally eat a horse.” Because you can’t do that in one sitting, I don’t care how big your stomach is.</p><p id="d88f" name="d88f">“That play was so funny I laughed my head off,” illustrates the play was amusing. You don’t need to say you literally laughed your head off, because then your head would be on the ground and you wouldn’t be able to speak, much less laugh.</p><p id="4bab" name="4bab">“I drove so fast my car was flying,” we get your point: you were speeding. But your car is never going fast enough to fly, so don’t say your car was literally flying.</p><h4 id="f2f0" name="f2f0">Insecurities?</h4><p id="1bd7" name="1bd7">Maybe no one believed a story you told as a child, and you felt the need to prove that it actually happened. <em>No really, mom, I literally climbed the tree. </em>In efforts to prove truth, you used literally to describe something real, however outlandish it seemed. Whatever the reason, now your overuse of literally has become a habit.</p><h4 id="d7c1" name="d7c1">Hard Habit to Break?</h4><p id="714b" name="714b">Abusing literally isn’t as bad a smoking, but it’s still an unhealthy habit (I mean that figuratively). Help is required in order to break it.</p><p id="f929" name="f929">This is my version of an intervention for literally abusers. I’m not sure how else to do it other than in writing. I know this makes me sound like a know-it-all, and I accept that. But there’s no excuse other than blatant ignorance to misuse the word “literally.” So just stop it.</p><p id="fd19" name="fd19">Don’t say “Courtney, this post is so snobbish it literally burned up my computer.” Because nothing is that snobbish that it causes computers to combust. Or: “Courtney, your head is so big it literally cannot get through the door.” Because it can, unless it’s one of those tiny doors from <em>Alice in Wonderland</em> and I need to eat a mushroom to make my whole body smaller.</p><h4 id="fe12" name="fe12">No One’s Perfect</h4><p id="7ff8" name="7ff8">And I’m not saying I am. I’m trying to restore meaning to a word that’s lost meaning. I’m standing up for literally. It’s a good word when used correctly. People are butchering it and destroying it every day (figuratively speaking) and the massacre needs to stop. Just as there’s a coalition of people against the use of certain fonts (like <a data-href="http://bancomicsans.com/main/?page_id=2" href="http://bancomicsans.com/main/?page_id=2" rel="nofollow">Comic Sans</a> and <a data-href="https://www.facebook.com/group.php?gid=14448723154" href="https://www.facebook.com/group.php?gid=14448723154" rel="nofollow">Papyrus</a>), so should there be a coalition of people against the abuse of literally.</p><h4 id="049e" name="049e">Saying it to Irritate?</h4><p id="9381" name="9381">Do you misuse the word “literally” just to annoy your know-it-all or grammar police friends/acquaintances/total strangers? If so, why? Doing so would be like me going outside when it’s freezing, wearing nothing but a pair of shorts and t-shirt in hopes of making you cold by just looking at me. Who suffers more?</p><h4 id="3e52" name="3e52">Graphical Representation</h4><p id="b57e" name="b57e">Matthew Inman of “The Oatmeal” wrote a comic about literally. Abusers and defenders alike <a data-href="http://theoatmeal.com/comics/literally" href="http://theoatmeal.com/comics/literally" rel="nofollow">should check it out</a>. It’s clear this whole craze about literally is driving a lot of us nuts. You literally abusers are killing off pieces of our souls. You must be stopped, or the world will be lost to meaninglessness forever. Figuratively speaking.</p></div></div></section> \ No newline at end of file
diff --git a/test/test-pages/medium-3/expected-images.json b/test/test-pages/medium-3/expected-images.json
index ad3992f..0637a08 100644
--- a/test/test-pages/medium-3/expected-images.json
+++ b/test/test-pages/medium-3/expected-images.json
@@ -1 +1 @@
-["https:\/\/cdn-images-1.medium.com\/max\/1200\/1*kbPh7V97eyRodSOw2-ALDw.png"] \ No newline at end of file
+[] \ No newline at end of file
diff --git a/test/test-pages/medium-3/expected-metadata.json b/test/test-pages/medium-3/expected-metadata.json
index c4eaa56..b2e66b9 100644
--- a/test/test-pages/medium-3/expected-metadata.json
+++ b/test/test-pages/medium-3/expected-metadata.json
@@ -1,6 +1,6 @@
{
- "Title": "Samantha and The Great Big Lie – John C. Welch – Medium",
+ "Title": "Samantha and The Great Big Lie",
"Author": "John C. Welch",
"Direction": null,
- "Excerpt": "(EDIT: removed the link to Samantha’s post, because the arments and the grubers and the rest of The Deck Clique got what they wanted: a non-proper person driven off the internet lightly capped with a…"
+ "Excerpt": "How to get shanked doing what people say they want"
}
diff --git a/test/test-pages/medium-3/source.html b/test/test-pages/medium-3/source.html
index 6e3d085..37c2464 100644
--- a/test/test-pages/medium-3/source.html
+++ b/test/test-pages/medium-3/source.html
@@ -2216,10 +2216,10 @@
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Samantha and The Great Big Lie – Medium</title>
<link rel="canonical" href="https://medium.com/@johncwelch/samantha-and-the-great-big-lie-d146a92473a1" />
- <meta name="title" content="Samantha and The Great Big Lie – John C. Welch – Medium" />
+ <meta name="title" content="Samantha and The Great Big Lie" />
<meta name="referrer" content="always" />
<meta name="description" content="(EDIT: removed the link to Samantha’s post, because the arments and the grubers and the rest of The Deck Clique got what they wanted: a non-proper person driven off the internet lightly capped with a…" />
- <meta property="og:title" content="Samantha and The Great Big Lie – John C. Welch – Medium" />
+ <meta property="og:title" content="Samantha and The Great Big Lie" />
<meta property="og:url" content="https://medium.com/@johncwelch/samantha-and-the-great-big-lie-d146a92473a1#.h9kzgon9m" />
<meta property="og:image" content="https://cdn-images-1.medium.com/max/1200/1*kbPh7V97eyRodSOw2-ALDw.png" />
<meta property="fb:app_id" content="542599432471018" />
diff --git a/test/test-pages/mozilla-1/expected-images.json b/test/test-pages/mozilla-1/expected-images.json
index 7d3792e..d9a80d0 100644
--- a/test/test-pages/mozilla-1/expected-images.json
+++ b/test/test-pages/mozilla-1/expected-images.json
@@ -1 +1 @@
-["https:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/template\/page-image.af8027a425de.png","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/desktop\/customize\/animations\/flexible-top-fallback.c960365ba781.png","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/desktop\/customize\/designed-redesigned.fbd3ee9402e6.png","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/desktop\/customize\/animations\/flexible-bottom-fallback.cafd48a3d0a4.png","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/desktop\/customize\/theme-red.61611c5734ab.png","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/desktop\/customize\/add-ons.63a4b761f822.png","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/desktop\/customize\/awesome-bar.437df162126c.png"] \ No newline at end of file
+["http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/desktop\/customize\/animations\/flexible-top-fallback.c960365ba781.png","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/desktop\/customize\/designed-redesigned.fbd3ee9402e6.png","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/desktop\/customize\/animations\/flexible-bottom-fallback.cafd48a3d0a4.png","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/desktop\/customize\/theme-red.61611c5734ab.png","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/desktop\/customize\/add-ons.63a4b761f822.png","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/desktop\/customize\/awesome-bar.437df162126c.png"] \ No newline at end of file
diff --git a/test/test-pages/mozilla-1/expected-metadata.json b/test/test-pages/mozilla-1/expected-metadata.json
index b6bac46..3a93f8f 100644
--- a/test/test-pages/mozilla-1/expected-metadata.json
+++ b/test/test-pages/mozilla-1/expected-metadata.json
@@ -1,5 +1,5 @@
{
- "Title": "Firefox — Customize and make it your own — The most flexible browser on\n the Web — Mozilla",
+ "Title": "Firefox — Customize and make it your own — The most flexible browser on the Web",
"Author": null,
"Direction": "ltr",
"Excerpt": "It’s easier than ever to personalize Firefox and make it work the way\n you do.\n No other browser gives you so much choice and flexibility."
diff --git a/test/test-pages/mozilla-1/expected.html b/test/test-pages/mozilla-1/expected.html
index 495b230..ba1896e 100644
--- a/test/test-pages/mozilla-1/expected.html
+++ b/test/test-pages/mozilla-1/expected.html
@@ -1,11 +1,11 @@
-<div><section id="intro"><div>
+<div id="main-content" role="main"><section id="intro"><div>
<p>It’s easier than ever to personalize Firefox and make it work the way
you do.
<br></br>No other browser gives you so much choice and flexibility.</p>
<div id="flexible-top-animation">
- <img alt="" src="http://mozorg.cdn.mozilla.net/media/img/firefox/desktop/customize/animations/flexible-top-fallback.c960365ba781.png"></img>
+ <p><img alt="" src="http://mozorg.cdn.mozilla.net/media/img/firefox/desktop/customize/animations/flexible-top-fallback.c960365ba781.png"></img></p>
</div>
</div>
</section><section data-ga-label="Designed to be redesigned" id="designed"><div>
@@ -16,9 +16,9 @@
Open the “Customize” panel to add, move or remove any button you want.
Keep your favorite features — add-ons, private browsing, Sync and more
— one quick click away.</p>
- <img alt="" data-high-res="true" data-high-res-src="//mozorg.cdn.mozilla.net/media/img/firefox/desktop/customize/designed-redesigned-high-res.6efd60766484.png" data-processed="false" data-src="//mozorg.cdn.mozilla.net/media/img/firefox/desktop/customize/designed-redesigned.fbd3ee9402e6.png" id="designed-mobile" src="http://mozorg.cdn.mozilla.net/media/img/firefox/desktop/customize/designed-redesigned.fbd3ee9402e6.png"></img></div>
+ <p><img alt="" data-high-res="true" data-high-res-src="//mozorg.cdn.mozilla.net/media/img/firefox/desktop/customize/designed-redesigned-high-res.6efd60766484.png" data-processed="false" data-src="//mozorg.cdn.mozilla.net/media/img/firefox/desktop/customize/designed-redesigned.fbd3ee9402e6.png" id="designed-mobile" src="http://mozorg.cdn.mozilla.net/media/img/firefox/desktop/customize/designed-redesigned.fbd3ee9402e6.png"></img></p></div>
<div id="flexible-bottom-animation">
- <img alt="" src="http://mozorg.cdn.mozilla.net/media/img/firefox/desktop/customize/animations/flexible-bottom-fallback.cafd48a3d0a4.png"></img>
+ <p><img alt="" src="http://mozorg.cdn.mozilla.net/media/img/firefox/desktop/customize/animations/flexible-bottom-fallback.cafd48a3d0a4.png"></img></p>
</div>
</div>
</section><section data-ga-label="More ways to customize" id="customize">
@@ -29,46 +29,37 @@
<p>Make Firefox match your style. Choose from thousands of themes and dress
up your browser with a single click.</p>
- <a href="https://addons.mozilla.org/firefox/themes/" rel="external">Try it now</a>
+ <p><a href="https://addons.mozilla.org/firefox/themes/" rel="external">Try it now</a>
<br></br><a href="https://support.mozilla.org/kb/use-themes-change-look-of-firefox" rel="external">Learn more</a>
- </div> <a href="#add-ons" role="button">Next</a>
-
- <div>
- <img alt="Preview of the currently selected theme" id="theme-demo" src="http://mozorg.cdn.mozilla.net/media/img/firefox/desktop/customize/theme-red.61611c5734ab.png"></img></div>
+ </p></div> <p><a href="#add-ons" role="button">Next</a></p><p><img alt="Preview of the currently selected theme" id="theme-demo" src="http://mozorg.cdn.mozilla.net/media/img/firefox/desktop/customize/theme-red.61611c5734ab.png"></img></p>
</div>
</section><section aria-labelledby="customize-addons" id="add-ons" role="tabpanel"><div>
<div>
<h3>Add-ons</h3>
- <a href="#awesome-bar" role="button">Next</a>
-
- <p>Add-ons are like apps that you install to add features to Firefox. They
+ <p><a href="#awesome-bar" role="button">Next</a></p><p>Add-ons are like apps that you install to add features to Firefox. They
let you compare prices, check the weather, listen to music, send a tweet
and more.</p>
<ul><li>Read the latest news &amp; blogs</li>
<li>Manage your downloads</li>
<li>Watch videos &amp; view photos</li>
- </ul><a href="https://addons.mozilla.org/firefox/extensions/?sort=featured" rel="external">Here are a few of our favorites</a>
+ </ul><p><a href="https://addons.mozilla.org/firefox/extensions/?sort=featured" rel="external">Here are a few of our favorites</a>
<br></br><a href="https://support.mozilla.org/kb/find-and-install-add-ons-add-features-to-firefox" rel="external">Learn more</a>
- </div>
+ </p></div>
- <div>
- <img alt="" src="http://mozorg.cdn.mozilla.net/media/img/firefox/desktop/customize/add-ons.63a4b761f822.png"></img></div>
+ <p><img alt="" src="http://mozorg.cdn.mozilla.net/media/img/firefox/desktop/customize/add-ons.63a4b761f822.png"></img></p>
</div>
</section><section aria-labelledby="customize-awesomebar" id="awesome-bar" role="tabpanel"><div>
<div>
<h3>Awesome Bar</h3>
- <a href="#themes" role="button">Next</a>
-
- <p>The Awesome Bar learns as you browse to make your version of Firefox unique.
+ <p><a href="#themes" role="button">Next</a></p><p>The Awesome Bar learns as you browse to make your version of Firefox unique.
Find and return to your favorite sites without having to remember a URL.</p>
- <a href="https://support.mozilla.org/kb/awesome-bar-find-your-bookmarks-history-and-tabs" rel="external">See what it can do for you</a>
- </div>
- <div>
- <img alt="Firefox Awesome Bar" src="http://mozorg.cdn.mozilla.net/media/img/firefox/desktop/customize/awesome-bar.437df162126c.png"></img></div>
+ <p><a href="https://support.mozilla.org/kb/awesome-bar-find-your-bookmarks-history-and-tabs" rel="external">See what it can do for you</a>
+ </p></div>
+ <p><img alt="Firefox Awesome Bar" src="http://mozorg.cdn.mozilla.net/media/img/firefox/desktop/customize/awesome-bar.437df162126c.png"></img></p>
</div>
</section></div>
diff --git a/test/test-pages/mozilla-2/expected-images.json b/test/test-pages/mozilla-2/expected-images.json
index dd00d59..7322a3a 100644
--- a/test/test-pages/mozilla-2/expected-images.json
+++ b/test/test-pages/mozilla-2/expected-images.json
@@ -1 +1 @@
-["https:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/developer\/page-image.03bbe7da3199.png","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/firstrun\/dev\/feature-webide.16763db341cb.jpg","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/firstrun\/dev\/feature-valence.251f9def4d8d.jpg","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/firstrun\/dev\/feature-inspector.c791bf1f1a59.jpg","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/firstrun\/dev\/feature-console.42666aaf6d03.jpg","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/firstrun\/dev\/feature-debugger.02ed86fb0c9f.jpg","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/firstrun\/dev\/feature-network.740d6082b3f6.jpg","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/firstrun\/dev\/feature-webaudio.a10ebc48d017.jpg","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/firstrun\/dev\/feature-style-editor.87c5d2017506.jpg"] \ No newline at end of file
+["http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/firstrun\/dev\/feature-webide.16763db341cb.jpg","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/firstrun\/dev\/feature-valence.251f9def4d8d.jpg","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/firstrun\/dev\/feature-inspector.c791bf1f1a59.jpg","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/firstrun\/dev\/feature-console.42666aaf6d03.jpg","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/firstrun\/dev\/feature-debugger.02ed86fb0c9f.jpg","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/firstrun\/dev\/feature-network.740d6082b3f6.jpg","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/firstrun\/dev\/feature-webaudio.a10ebc48d017.jpg","http:\/\/mozorg.cdn.mozilla.net\/media\/img\/firefox\/firstrun\/dev\/feature-style-editor.87c5d2017506.jpg"] \ No newline at end of file
diff --git a/test/test-pages/mozilla-2/expected.html b/test/test-pages/mozilla-2/expected.html
index 8b85894..8ce4c07 100644
--- a/test/test-pages/mozilla-2/expected.html
+++ b/test/test-pages/mozilla-2/expected.html
@@ -1,4 +1,4 @@
-<div><section><header>
+<div role="main"><section><header>
<p>Get to know the features that make it the most complete browser for building the Web.</p>
</header><ul><li>
<a href="https://www.youtube.com/watch?v=1R9_WdXwUsE" rel="external">
diff --git a/test/test-pages/msn/expected-images.json b/test/test-pages/msn/expected-images.json
index 7926b1d..18168e9 100644
--- a/test/test-pages/msn/expected-images.json
+++ b/test/test-pages/msn/expected-images.json
@@ -1 +1 @@
-["http:\/\/img-s-msn-com.akamaized.net\/tenant\/amp\/entityid\/AAkk5fh.img","http:\/\/img-s-msn-com.akamaized.net\/tenant\/amp\/entityid\/AAkk5fh.img?h=820&w=1456&m=6&q=60&o=f&l=f&x=1162&y=540"] \ No newline at end of file
+["http:\/\/img-s-msn-com.akamaized.net\/tenant\/amp\/entityid\/AAkk5fh.img?h=820&w=1456&m=6&q=60&o=f&l=f&x=1162&y=540"] \ No newline at end of file
diff --git a/test/test-pages/msn/expected-metadata.json b/test/test-pages/msn/expected-metadata.json
index e4fff27..4916e95 100644
--- a/test/test-pages/msn/expected-metadata.json
+++ b/test/test-pages/msn/expected-metadata.json
@@ -1,5 +1,5 @@
{
"Title": "Nintendo's first iPhone game will launch in December for $10",
- "Author": "Alex Perry",
+ "Author": "Alex Perry\n \n 1 day ago",
"Excerpt": "Nintendo and Apple shocked the world earlier this year by announcing \"Super Mario Run,\" the legendary gaming company's first foray into mobile gaming.&nbsp;"
}
diff --git a/test/test-pages/needs-entity-normalization/config.json b/test/test-pages/needs-entity-normalization/config.json
deleted file mode 100644
index 86cb6f0..0000000
--- a/test/test-pages/needs-entity-normalization/config.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "normalizeEntities": true
-} \ No newline at end of file
diff --git a/test/test-pages/needs-entity-normalization/expected-images.json b/test/test-pages/needs-entity-normalization/expected-images.json
deleted file mode 100644
index b0135b7..0000000
--- a/test/test-pages/needs-entity-normalization/expected-images.json
+++ /dev/null
@@ -1 +0,0 @@
-["http:\/\/www.cadena3.com\/admin\/playerswf\/fotos\/ARCHI_366549.jpg"] \ No newline at end of file
diff --git a/test/test-pages/needs-entity-normalization/expected-metadata.json b/test/test-pages/needs-entity-normalization/expected-metadata.json
deleted file mode 100644
index aea0400..0000000
--- a/test/test-pages/needs-entity-normalization/expected-metadata.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "Title": "Daniele, a Mestre: \"En unos meses se va a borrar la sonrisa\"",
- "Author": "Cadena 3 Argentina",
- "Excerpt": "El titular del Suoem le dijo al intendente que va a pagar caro, esta infamia y canallada–por la publiación de sueldos–. Los municipales realizaron una ruidosa protesta en el Palacio 6 de Julio"
-}
diff --git a/test/test-pages/needs-entity-normalization/expected.html b/test/test-pages/needs-entity-normalization/expected.html
deleted file mode 100644
index cba1a7d..0000000
--- a/test/test-pages/needs-entity-normalization/expected.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<p><strong>30/05/2017 | 11:57 |</strong> El titular del Suoem le dijo al intendente que "va a pagar caro, esta infamia y canallada"–por la publiación de sueldos–. Los municipales realizaron una ruidosa protesta en el Palacio 6 de Julio</p><div><p>Los municipales de la ciudad de Córdoba realizan este martes una ruidosa asamblea general en el Palacio 6 de Julio y todas las reparticiones como medida de presión en contra de la difusión de las lista de los empleados y los sueldos que perciben.<p>
-"Esta infamia, esta canallada, este intento por pisotear nuestra dignidad este ataque a nuestra seguridad y la de nuestras familias le prometo que lo va a pagar caro; vamos a responder con toda la fuerza", disparó al hablar ante la multitud el titular del Suoem, Rubén Daniele.</p><p>
-"En estos días señor intendente lo he visto suelto de cuerpo, diría que casi con una sonrisa burlona. Le prometo y lo juro acá: en unos meses se va a borrar la sonrisa y se va a cagar como se cagó otras veces, pidiendo que vayamos a solucionar los problemas de la ciudad", agregó.</p><p>
-Si bien la medida de fuerza arrancó a las 11 en la explanada de la Municipalidad, la atención en el municipio, los CPC y otras dependencias se vio resentida durante toda la jornada.</p></p><blockquote data-lang="es"><p dir="ltr" lang="und"><a href="https://twitter.com/hashtag/Asamblea?src=hash">#Asamblea</a> <a href="https://twitter.com/hashtag/municipales?src=hash">#municipales</a> <a href="https://t.co/PgA1xekg5Q">pic.twitter.com/PgA1xekg5Q</a></p>— SUOEM CÓRDOBA (@suoemcordoba) <a href="https://twitter.com/suoemcordoba/status/869480306906103808">30 de mayo de 2017</a></blockquote><p>
-Además, las asambleas afectan el normal funcionamiento en las escuelas municipales y jardines maternales.</p><p>
-Ayer, Damián Bizzi, vocero del Sindicato Unión Obreros y Empleados Municipales (Suoem) manifestó a <b>Cadena 3</b> que las asambleas “son la única forma de hacernos escuchar”: “Lo esencial sería que no hubiéramos tenido este problema. No hay otra forma que las autoridades municipales nos escuchen". </p><p>
-"Estamos en una situación de conflicto y ésta es la única forma de hacernos escuchar. Es una gestión que no escucha mucho”, dijo. </p></div> \ No newline at end of file
diff --git a/test/test-pages/needs-entity-normalization/source.html b/test/test-pages/needs-entity-normalization/source.html
deleted file mode 100755
index c8375fd..0000000
--- a/test/test-pages/needs-entity-normalization/source.html
+++ /dev/null
@@ -1,1433 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="amphtml" href="http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697-AMP.asp"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="copyright" content="Cadena 3 Argentina 2002-2017 - Todos los derechos reservados" /><meta http-equiv="content-language" content="es" /><meta name="twitter:widgets:csp" content="on"><meta property="fb:admins" content="100001052297375" /><meta property="fb:app_id" content="281903015191988" /><link type="image/x-icon" href="http://www.cadena3.com/cadena3com.ico" rel="icon" /><link type="image/x-icon" href="http://www.cadena3.com/cadena3com.ico" rel="shortcut icon" /><title>Daniele, a Mestre: "En unos meses se va a borrar la sonrisa"</title><meta name="title" content="Daniele, a Mestre: En unos meses se va a borrar la sonrisa"><meta name="description" content="El titular del Suoem le dijo al intendente que va a pagar caro, esta infamia y canallada–por la publiación de sueldos–. Los municipales realizaron una ruidosa protesta en el Palacio 6 de Julio"><meta name="keywords" content="asamblea general,explanada,Municipalidad,difusión,sueldos"><meta name="DC.Title" content="Daniele, a Mestre: En unos meses se va a borrar la sonrisa | Cadena 3 Argentina " /><meta name="robots" content="index,follow,noodp" /><meta name="geography" content="Alvear 139, C&oacute;rdoba, Argentina" /><meta content="Daniele, a Mestre: En unos meses se va a borrar la sonrisa" about="http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp" property="dc:title" /><meta name="DC.description" content="El titular del Suoem le dijo al intendente que va a pagar caro, esta infamia y canallada–por la publiación de sueldos–. Los municipales realizaron una ruidosa protesta en el Palacio 6 de Julio" /><meta name="DC.keywords" content="asamblea general,explanada,Municipalidad,difusión,sueldos" /><link rel="canonical" href="http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp" /><meta name="news_keywords" content="asamblea general,explanada,Municipalidad,difusión,sueldos" /><meta name="origen" content="Cadena 3 Argentina - www.cadena3.com" /><meta name="author" content="Cadena 3 Argentina" /><meta name="copyright" content="Cadena 3 Argentina 2002-2017 - Todos los derechos reservados" /><meta name="doc-rights" content="Private" /><meta name="rating" content="General" /><meta name="distribution" content="global" /><meta name="geo.position" content="-31.41517,-64.180733" /><meta name="geo.country" content="AR-C&oacute;rdoba" /><meta name="geo.placename" content="C&oacute;rdoba, Argentina" /><meta name="geo.region" content="AR-T" /><meta name="ICBM" content="-31.41517,-64.180733" /><meta name="geography" content="Alvear 139, C&oacute;rdoba, Argentina" /><meta name="locality" content="C&oacute;rdoba, Argentina" /><link rel="image_src" href="../../../../admin/playerswf/fotos/ARCHI_366549.jpg"/><meta itemprop="image" property="og:image" content="http://www.cadena3.com/admin/playerswf/fotos/ARCHI_366549.jpg"/><meta property="og:url" content="http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp" /><meta property="og:site_name" content="Cadena 3 Argentina" /><meta property="og:description" content="El titular del Suoem le dijo al intendente que va a pagar caro, esta infamia y canallada–por la publiación de sueldos–. Los municipales realizaron una ruidosa protesta en el Palacio 6 de Julio" /><meta property="og:type" content="article" /><meta property="og:title" content="Daniele, a Mestre: En unos meses se va a borrar la sonrisa" /><meta property="og:locale" content="es_LA" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:site" content="@cadena3com" /><meta name="twitter:title" content="Daniele, a Mestre: En unos meses se va a borrar la sonrisa"/><meta name="twitter:description" content="Cadena 3 Argentina" /><meta name="twitter:image" content="http://www.cadena3.com/admin/playerswf/fotos/ARCHI_366549.jpg"/>
-<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
-<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
-<meta name="origen" content="Cadena 3 Argentina - www.cadena3.com">
-<meta name="author" content="Cadena 3 Argentina">
-<meta http-equiv="content-language" content="es">
-<meta property="fb:admins" content="100001052297375">
-<meta property="fb:app_id" content="281903015191988">
-<meta name="copyright" content="Cadena 3 Argentina 2002-2017 - Todos los derechos reservados">
-<meta name="doc-rights" content="Private">
-<meta name="rating" content="General">
-<meta name="distribution" content="global">
-<meta name="geo.position" content="-31.41517,-64.180733">
-<meta name="geo.country" content="AR-C&oacute;rdoba">
-<meta name="geo.placename" content="C&oacute;rdoba, Argentina">
-<meta name="geo.region" content="AR-T">
-<meta name="ICBM" content="-31.41517,-64.180733">
-<meta name="geography" content="Alvear 139, C&oacute;rdoba, Argentina">
-<meta name="locality" content="C&oacute;rdoba, Argentina">
-<meta content="index,follow,noodp" name="robots">
-<meta property="fb:admins" content="100001052297375">
-<meta property="fb:app_id" content="281903015191988">
-<meta property="fb:pages" content="117442378283735" />
-<link type="image/x-icon" href="../../../../imagenes/cadena3com.ico" rel="icon">
-<link type="image/x-icon" href="../../../../imagenes/cadena3com.ico" rel="shortcut icon">
-<style>
-@charset "utf-8";.cbp-af-header{position:fixed;top:0;left:11px;width:1000px;z-index:10000;height:0;overflow:hidden;-webkit-transition:height .3s;-moz-transition:height .3s;transition:height .3s}.cbp-af-header .cbp-af-inner{width:1000px}.cbp-af-header.cbp-af-header-shrink{height:45px;overflow:visible}#contenido_a_mostrar{display:none}#contenido_a_mostrar2{display:none}@font-face{src:url(../../../../imagenes/fonts/Roboto-Black.ttf);font-family:Roboto}@font-face{src:url(../../../../imagenes/fonts/Roboto-Regular.ttf);font-family:Roboto-Regular}*{margin:0;padding:0;text-rendering:optimizelegibility}
-body{font-family:gotham}header{position:relative}@font-face{src:url(../../../../imagenes/fonts/OpenSans-Regular.ttf);font-family:gotham}@font-face{src:url(../../../../imagenes/fonts/OpenSans-Regular.ttf);font-family:gotham-light}.color-deportes{color:#2e9f43!important}.color-espectaculos{color:#DA9851!important}.color-sociedad{color:#f2703d!important}.color-politica{color:#3b5daa!important}.color-tecnologia{color:#ffaa15!important}.color-agro{color:#34ad76!important}.color-mundo{color:#263F58!important}.color-default{color:#2c87e4!important}.color-blanco{color:#fff!important}.color-transmite{color:#CA1A1A!important}header a{color:#111}#header-top{background:#f5f5f5;width:100%;height:45px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #E2E2E2}#vivo-principal{float:left;overflow:hidden}/*#vivo-principal .floatleft:first-child p a{color:#fff;text-decoration:none;padding:10px;display:block}#vivo-principal .floatleft:first-child p{background:#DC2705;font:700 normal 20px roboto;color:#fff;cursor:default}*/#vivo-secundario{float:left;overflow:hidden;border-left:1px solid #E2E2E2;padding-left:10px}.flecha-separador-wrap{padding:17px 10px;float:left}.flecha-separador{width:0;height:0;border-top:5px solid transparent;border-left:7px solid #333;border-bottom:5px solid transparent}#vivo-principal .programa-conductor{margin:6px 10px;padding-right:10px;float:left}.programa-conductor{margin:6px 10px;padding-right:20px;float:left}.programa-conductor p{font-size:14px}.nombre-programa{font-family:gotham-light}.color4AD9FC{color:#4AD9FC}#radios li{float:left;margin:13px 3px;font-size:14px;padding-left:6px;border-left:1px solid #999;font-family:gotham;position:relative}#header-top a:hover{text-decoration:underline}.desplegable::after{content:"";border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #4C4C4C;display:inline;position:relative;left:3px;top:-2px;font-size:0;margin:10px 0 0 2px}nav{width:960px;margin:auto;position:relative}nav ul{overflow:hidden;float:left}nav li:hover .desplegable::after{border-top-color:#0191E3!important}nav li a{color:#666;text-transform:uppercase}li{list-style:none}.desplegable{font-family:gotham-light}nav .desplegable{text-transform:uppercase}#logo{float:left;width:412px;padding:20px 0 15px 20px}#widget-clima{position:absolute;right:40px;top:70px}#widget-clima span{color:#ccc;text-transform:uppercase}#widget-clima p{color:#999;font-family:gotham-light}#widget-clima .desplegable{font-family:gotham;color:#999}#widget-clima .contenedor-general-hidden{width:75px;margin:5px auto 0}#widget-clima .floatleft p{font-family:roboto;margin-left:5px}
-#contenedor-principal{width:1000px;margin-left:10px;border-left:1px solid #ddd;border-right:1px solid #ddd}.contenedor-general-hidden{overflow:hidden}.contenedor-margen-superior{float:left}#contenido{overflow:hidden;padding:0 20px;width:960px}.col300{width:300px;float:left;margin:0 30px 30px 0}.col300-nomargen{width:300px;float:right}.col300-nomargen .bloque300x295{margin-right:0}.col630{width:660px;float:left}.bloque300x295{width:300px;height:295px;float:left;margin:0 30px 30px 0}.bloque300x590{width:300px;height:620px;background:#f5f5f5;float:left;margin:0 30px 30px 0}.bloque630x620{width:630px;height:620px;float:left;margin:0 30px 30px 0}#menu-principal{position:relative;height:156px}#menu-principal-min{position:relative;height:44px}#en-vivo{float:left;width:320px;min-height:156px;background:#0858A8}#en-vivo-secciones{float:left;width:320px;min-height:44px}.cbp-af-header #en-vivo2{float:left;width:320px;background:#0858A8}#menu-titulo{float:left;width:680px}#menu-titulo-secciones{float:left;width:680px;height:44px}#en-vivo-principal{background:#0191E3;height:44px;overflow:hidden}#imagen-vivo{float:left}#en-vivo-secundario{background:#0191E3;height:44px;overflow:hidden;border-top:1px solid #ddd}#en-vivo-programacion .programacion-secundario{background:#fff;height:100px}#en-vivo-secundario .floatleft{margin-right:5px}#en-vivo-secundario a:hover{color:#333}#en-vivo-secundario .programa-conductor{margin-top:12px;float:left}.imagen-conductor{float:left}#en-vivo-principal .programa-conductor{float:left;margin-top:2px}#audio-en-vivo{float:right;padding:9px;width:80px}#audio-en-vivo p{font:700 normal 19px Roboto;color:#fff}#audio-en-vivo .contenedor-margen-superior{margin:3px 6px 0 0}#vivo-radios{overflow:hidden;padding:8px 14px;border-top:1px solid #ddd;border-bottom:1px solid #ddd}#temas-del-dia{background:#fff;overflow:hidden;padding:0 22px;width:956px;height:28px;border-top:1px solid #E2E2E2;border-bottom:1px solid #E2E2E2}#temas-del-dia ul{float:left}#temas-del-dia li{padding:4px!important;margin:0!important;float:left;font-size:14px}#temas-del-dia a{color:#A9A8A8}#temas-del-dia a:hover{color:#0858A8;text-decoration:underline}#temas-del-dia .titulo-tema{color:#0858A8;padding-right:10px!important}#lupa-buscar{float:right;padding:8px 0;cursor:pointer}#campo-buscar{position:absolute;top:44px;right:0;width:200px;height:61px;padding:15px;background:#3E3E3E;z-index:5;overflow:hidden}#campo-buscar .contenedor-buscador{width:200px}#campo-buscar .contenedor-general-hidden{padding:0 0 15px!important;margin:auto}.contenedor-buscador .floatleft{padding:10px}#campo-buscar .floatleft{border-right:1px solid #333;padding:0 14px}#campo-buscar .floatright{border-left:1px solid #666;padding:0 14px}#campo-buscar .bordes-izq{padding:6px 5px;width:143px}#campo-buscar .boton-buscar{width:39px}.input-buscar{padding:5px;width:130px}.boton-buscar{padding:5px!important;border:1px solid #A9A9A9;background:#ccc;float:right}.boton-buscar:hover{background:#bbb}#menu-principal li{float:left;padding:0 4px}#menu-principal-min li{float:left;margin-right:18px}#redes{position:absolute;top:48px;left:777px;}#redes .icono{float:left;margin:0 2px}#redes .icono a{padding:0}#redes .margen-icono{margin-top:0!important}#redes li:hover{background:none}#redes a{text-transform:none}#icono-facebook{float:left;margin-right:10px}#icono-twitter{float:left}#redes img{-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:url(svg-url#element-id);filter:grayscale(100%);filter:gray}#redes img:hover{-webkit-filter:grayscale(0%);-moz-filter:grayscale(0%);-ms-filter:grayscale(0%);-o-filter:grayscale(0%);filter:grayscale(0%)}nav li{font-family:gotham-light;font-size:13px;float:left;margin-top:5px}nav ul li:first-child{margin:0}nav li:hover a{color:#0191E3}nav li:hover{background:#eee}nav li:first-child:hover{background:none}nav a{padding:5px 8px;display:block}#cadena3play-menu{background:#E4E5E5;float:right;width:110px;height:26px;position:relative}#cadena3play-menu a{padding:5px 10px}#cadena3play-menu a:hover{color:#0858A8}#cadena3play-icono{position:absolute;top:-4px;right:8px;border-radius:50px;width:33px;height:33px;background:url(../../../../imagenes/cadena3playmenu.png);-webkit-box-shadow:2px 3px 2px rgba(0,0,0,0.3);-moz-box-shadow:2px 3px 2px rgba(0,0,0,0.3);box-shadow:2px 3px 2px rgba(0,0,0,0.3);z-index:4}#cadena3play-icono:hover .flecha-play{border-left-color:#0191E3}#menu-principal hr{border:none;height:1px;background:#fff}#menu-principal-min hr{border:none;height:1px;background:#fff}#menu-principal .contenedor-general-hidden{padding:8px 14px}#menu-principal li:hover .fondoeee a{color:#0191E3}#logo-clasificados{position:relative;margin:0}#logo-clasificados a{padding:10px 0}#logo-clasificados a:hover{background:none}#suscripciones-menu li{width:350px}#suscripciones-menu a:hover{background:none}#suscripciones-menu .floatleft{margin-right:10px}#suscripciones-menu .floatright{width:266px}#deportes{float:left;border-left:6px solid #689A35;margin:0 30px 30px 0}#deportes .bloque630x620{width:630px;height:670px}#deportes .bloque630x620{margin:0}#deportes .etiqueta{background:#689A35;float:left;padding:5px 10px 5px 5px}#deportes .etiqueta p{color:#fff;font-family:roboto}#deportes #nota-principal{background:#fff}#deportes .categoria-y-redes{padding:20px 15px 5px;width:600px!important;overflow:hidden}.sucede-ahora{height:22px;padding:0px 5px}.sucede-ahora .texto8{color:#fff !important}.categoria-nota{float:left}.categoria-nota a:hover{text-decoration:underline}#deportes .compartir-redes{float:right!important;position:static}#deportes .categoria-nota p{color:#689A35}#deportes .titulo-nota{margin:10px 15px!important}#deportes .bajada{margin:0 15px!important}#deportes .titulo-nota a{}#deportes .titulo-nota a:hover{color:#395A18}#deportes .bajada p{}#espectaculos{float:left;border-left:6px solid #DA9851;margin:0 30px 30px 0}#espectaculos .bloque630x620{margin:0}#espectaculos .etiqueta{background:#DA9851;float:left;padding:5px 10px 5px 5px}#espectaculos .etiqueta p{color:#fff;font-family:roboto}#espectaculos #nota-principal{background:#fff}#espectaculos .categoria-y-redes{padding:20px 15px 5px;width:600px!important;overflow:hidden}.categoria-nota{float:left}#espectaculos .compartir-redes{float:right!important;position:static}#espectaculos .categoria-nota p{color:#DA9851}#espectaculos .titulo-nota{margin:10px 15px!important}#espectaculos .bajada{margin:0 15px!important}#espectaculos .titulo-nota a{}#espectaculos .titulo-nota a:hover{color:#CA8E4D}#espectaculos .bajada p{}#menu-principal li:hover .desplegable::after{border-top-color:#0191E3}.flecha-play{border-top:10px solid transparent;border-left:12px solid #fff;border-bottom:10px solid transparent;display:block;position:absolute;right:16px;top:3px;z-index:5}#cadena3play-menu a:hover .flecha-play{border-left-color:#0858A8}.submenu{background:#F5F5F5;width:920px;height:0;position:absolute;z-index:4;overflow:hidden;left:-20px}.submenu .subtitle{margin-bottom:10px}.submenu ul{float:left;width:auto;height:auto;background:none;padding:0;margin-right:10px}.submenu ul:last-child{margin:0}.submenu a{text-transform:none}.submenu p{color:#888;cursor:default}.submenu .titulo-nota a{padding:5px 0!important}nav li:hover .submenu{height:auto;padding:15px 40px}.submenu li{clear:both;border-top:1px solid #fff;border-bottom:1px solid #ddd;width:222px;padding:0!important;margin:0}.submenu li:first-child{border-top:0}.submenu li:last-child{border-bottom:0}.submenu li a{padding:8px 0 8px 4px;display:block;color:#333!important}.submenu li a:hover{color:#0858A8!important}.submenu2 li{width:222px}.submenu3 li{width:232px;margin-right:5px}.submenu3 ul:last-child{margin-right:0}#emisoras li{font-size:14px;padding:8px 0!important}#emisoras li span{font-size:12px}#horas24{display:none;position:absolute;width:136px;height:auto;background:#fff;border-radius:1px;opacity:.98;padding:5px 0;z-index:1;z-index:200}#horas24 a{color:#333!important}#horas24 a:hover{color:#0858A8!important;text-decoration:none}#horas24 li{border:0;font-size:12px;padding:4px 20px;margin:0;font-family:roboto}.horas24:hover #horas24{display:block;left:-24px;width:195px;padding:15px}.medidahoras24{width:136px!important}#opciones-vivo{width:260px;overflow:hidden}#opciones-vivo .desplegable::after{content:"";border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #fff;display:inline;position:relative;left:3px;top:11px}#opciones-vivo li:hover a{color:#333}#opciones-vivo li:hover .desplegable::after{border-top:5px solid #333}#categoria-desplegada{background:#ddd;float:right;width:580px;height:auto;padding:10px}#categoria-desplegada .titulo-nota{height:47px}#categoria-desplegada .nota a{padding:0!important}#categoria-desplegada .floatleft{width:150px}#categoria-desplegada .floatright{width:400px}#categoria-desplegada .nota{background:#ddd;overflow:hidden;padding:10px;border-top:1px solid #eee;border-bottom:1px solid #bbb}#categoria-desplegada .nota:first-child{border-top:none}#categoria-desplegada .nota:last-child{border-bottom:none}#categoria-desplegada .nota a{color:#333}#categoria-desplegada .nota a:hover{color:#0191E3}#etiqueta-urgente{margin-bottom:10px;cursor:default}#etiqueta-urgente .contenedor-general{margin:10px 0 20px;overflow:hidden;position:relative;background:#cacaca}#etiqueta-urgente .floatleft{background:#b22222;padding:12px 22px;position:relative;box-shadow:6px 0 30px rgba(0,0,0,0.6)}#etiqueta-urgente .floatright{margin:10px 25px 10px 0;width:776px;height:24px;overflow:hidden}#etiqueta-urgente .floatleft::after{content:"";border-top:25px solid transparent;border-left:12px solid #b22222;border-bottom:25px solid transparent;display:block;position:absolute;left:130px;top:-3px}#etiqueta-urgente h1{font:20px roboto;}#etiqueta-urgente .texto9{color:#fff!important}#noticias-relacionadas{width:630px;max-height:500px;margin-bottom:30px;overflow:hidden}#noticias-relacionadas .contenedor-general{float:left}#noticias-relacionadas .titulo-bloque{background:#DC2703;padding:10px}#noticias-relacionadas .bloque-noticias-relacionadas{width:295px;padding:10px;overflow:hidden}#noticias-relacionadas .bloque-noticias-relacionadas .floatleft{width:170px}#noticias-relacionadas .bloque-noticias-relacionadas .floatright{width:119px}#noticias-relacionadas .floatright p{font:normal normal 14px Arial;color:#4B4B4B;margin:0}#noticias-relacionadas img{width:170px;height:107px}#noticias-relacionadas .texto7{color:#fff!important}.baners-medio-nota-ampliada{margin-bottom:30px;overflow:hidden}.baners-medio-nota-ampliada .baner300x250{float:left;margin:0 7px}#nota-3-columnas{width:960px;max-height:990px;margin-bottom:30px;border-bottom:1px solid #BCBCBC}//#nota-3-columnas .categoria-nota{position:absolute;top:10px;left:10px}//#nota-3-columnas .compartir-redes{position:absolute;top:10px;right:5px;z-index:2}#nota-3-columnas .titulo-nota{clear:both;padding:15px 0;text-align:center;min-height:118px;max-height:190px;overflow:hidden}#nota-3-columnas .imagen-nota{position:relative}#nota-3-columnas .bajada{padding:15px}#nota-3-columnas .multimedios{position:absolute;top:542px;left:0;width:940px;z-index:1;padding:10px 10px 5px;background:url(../../../../imagenes/fondo-transparente-negro.png)}#nota-3-columnas .slide-audios{position:absolute;top:34px;left:207px}#nota-ampliada{position:relative;width:630px;height:auto;border-right:1px solid #ddd;padding-right:15px}#nota-ampliada .titulo{padding:10px 0;overflow:hidden;max-height:157px;min-height:92px}.linea-abajo{border-bottom:1px solid #ccc}#nota-ampliada .bajada{padding:0 0 30px;min-height:40px;max-height:60px}#nota-ampliada .cuerpo{padding:20px 0 30px;font:normal normal 16px Arial}.cuerpo iframe{width:100% !important;max-width:100% !important;min-width:100% !important}.cuerpo img{width:100%;}#nota-ampliada .cuerpo p{margin-bottom:15px}#nota-ampliada .cuerpo a{color:#0858A8;text-decoration:none;font-weight:700}#nota-ampliada .imagen{width:630px;height:405px}#nota-ampliada .imagen img{width:630px;height:405px}#nota-ampliada .multimedios{width:610px;height:45px;padding:5px;position:static;background:#000}#nota-ampliada a{color:#000}#nota-ampliada a:hover{color:#0858A8}#nota-ampliada .copete{background:#333;padding:10px;width:610px;height:15px}#nota-ampliada .copete p{color:#fff;font-size:12px}#nota-ampliada p{font-size:16px}#acciones-nota-ampliada{width:585px;margin:0 auto 15px;overflow:hidden}#acciones-nota-ampliada .icono{float:left;margin-right:15px}#acciones-nota-ampliada .icono:last-child{margin:0}#acciones-nota-ampliada .floatright{margin:15px 0 0 8px}#acciones-nota-ampliada p{font-size:14px}#nota-principal h2{font:normal 42px Roboto;color:#000;line-height:45px}#nota-principal{position:relative}#nota-principal .categoria-y-redes{width:100%;height:22px;position:relative}#nota-principal .imagen-nota{width:630px;height:400px;position:relative}#nota-principal .titulo-nota{margin:10px 0;overflow:hidden;max-height:136px;min-height:91px}.categoria-nota p{font-weight:700;font-size:16px}#nota-principal .bajada{height:65px}#nota-principal .bajada p{font-size:18px!important}#nota-principal .categoria-nota{position:relative}#nota-principal .multimedios-video{position:absolute;top:340px;left:0;width:610px;height:50px;padding:5px 10px}#nota-principal a{color:#000}#nota-principal a:hover{color:#0858A8}.multimedios p{color:#fff}.bajada{overflow:hidden}.nota-secundaria{position:relative}.nota-secundaria .categoria-y-redes{float:left;height:22px}.nota-secundaria .imagen-nota{width:300px;height:190px;overflow:hidden;position:relative}.nota-secundaria .titulo-nota{width:280px;height:63px;margin:10px 0;overflow:hidden}.nota-secundaria .multimedia-reposo{width:285px}.compartir-redes{float:right}.compartir-redes img{-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:url(svg-url#element-id);filter:grayscale(100%);filter:gray}.compartir-redes img:hover{-webkit-filter:grayscale(0%);-moz-filter:grayscale(0%);-ms-filter:grayscale(0%);-o-filter:grayscale(0%);filter:grayscale(0%)}.nota-secundaria a{color:#000}.nota-secundaria a:hover{color:#0858A8}.nota-secundaria-sin-imagen{background:#F5F5F5;padding:10px;position:relative;width:280px;height:275px;float:left}.nota-secundaria-sin-imagen .categoria-nota{padding:0 10px}.nota-secundaria-sin-imagen .titulo-nota{padding:10px 10px 25px;overflow:hidden;height:50px;clear:both}.nota-secundaria-sin-imagen .bajada{margin:0 10px;height:108px}.nota-secundaria-sin-imagen .play{position:absolute;bottom:10px;left:10px}.nota-secundaria-sin-imagen .compartir-redes{float:right}.nota-secundaria-sin-imagen .bajada p{font-size:14px}.nota-secundaria-sin-imagen a{color:#000}.nota-secundaria-sin-imagen a:hover{color:#0858A8}.post-vertical{position:relative;background:#36CD68;margin:0 0 30px}.post-vertical .categoria-y-redes{width:100%;height:22px;background:#fff}.post-vertical .categoria-nota{position:absolute;top:-1px;left:5px}.post-vertical .imagen-nota{width:300px;height:450px;overflow:hidden}.post-vertical .titulo-nota{padding:10px 15px;overflow:hidden;height:42px}.post-vertical .bajada{margin:0 15px;height:83px}.post-vertical .play{position:absolute;bottom:140px;left:10px}.post-vertical .multimedios-activo{position:absolute;bottom:148px;left:0;width:280px;padding:5px 10px;z-index:1;background:url(../../../../imagenes/fondo-transparente-negro.png)}.post-vertical .multimedios-activo .floatright{width:190px}.post-vertical .slide-audios{overflow:hidden;position:absolute;bottom:8px;right:55px;z-index:2}.post-vertical .floatleft{margin-top:6px}#audios-destacados{width:1000px;clear:both;border-top:1px solid #BCBCBC;border-bottom:1px solid #BCBCBC;background:#fff;margin-bottom:25px}#audios-destacados .titulo-tema{background:#0858A8;margin:auto;text-align:center;width:114px;margin-top:6px;position:relative}#audios-destacados .titulo-tema a{color:#fff;font-weight:700;padding:5px 20px;display:block}#audios-destacados .contenedor-general-hidden{padding:10px 20px}#audios-destacados .titulo-bloque{padding:15px 20px 5px 30px}.bloque-audio-destacado{width:140px;height:231px;position:relative;float:left}#audios-destacados .texto{padding:8px 6px;background:#fff;height:125px}#audios-destacados .titulo{height:92px}#audios-destacados .play{position:absolute;top:48px;left:5px}.bloque-audio-notas{width:140px;height:180px;position:relative;float:left}#audios-notas .play{position:absolute;bottom:80px;left:5px}#divplayerarchivo{overflow:hidden;position:absolute;left:-400px;background:url(../../../../imagenes/fondo-transparente-negro.png);top:6px;width:320px;height:350px;text-align:center;z-index:900}#divplayerarchivo a:hover{color:#fff}#publicidad{width:300px;height:250px;background:#fff}#procesoajax{padding:5px 10px}#encuesta{background:#fff;position:relative;padding:10px;width:278px;height:275px;border:1px solid #BCBCBC}#encuesta .titulo-nota{padding:5px 10px;overflow:hidden;height:30px}#encuesta .texto6{color:#0858A8}#encuesta .bajada{margin:0 10px;height:70px}#encuesta #formulario-encuesta p{line-height:24px}#formulario-encuesta{width:260px;height:146px;border-bottom:1px solid #bbb;padding:0 10px}#resultado-encuesta{width:260px;height:146px;padding:0 10px;overflow:hidden;border-bottom:1px solid #bbb}#resultado-encuesta .floatright{width:136px}.porcentaje{float:left;width:35px}.grafico-porcentaje{background:#bbb;height:16px;float:left}.grafico-porcentaje-contenedor{width:60px;float:left;margin:0 2px 10px}.resultado{font-size:12px;font-weight:700;float:right}#mensaje-resultado{float:left}#mensaje-resultado p{font-size:12px;font-weight:700;line-height:15px!important;color:maroon}#total-encuesta{width:280px;overflow:hidden;padding-top:5px}#total-encuesta p{float:none;padding:0 10px}#opinion{width:300px;height:615px;float:left;border-bottom:5px solid #9B9B9B;margin-bottom:30px;}#opinion .titulo-bloque{background:#DC2703;padding:10px}#opinion .titulo{font:17px roboto;color:#000;margin:2px 0;min-height:66px}#opinion .texto9{color:#fff!important}.bloque-opinion{padding:7px;border-bottom:1px solid #E5E5E5;overflow:hidden}.bloque-opinion:last-child{border-bottom:none}#opinion .compartir-redes{margin-top:5px;float:right;position:inherit}#opinion .floatleft{width:110px}#opinion .floatright{width:176px}#post-destacados{border-top:1px solid #BCBCBC;border-bottom:1px solid #BCBCBC;background:#fff;min-height:338px;margin-bottom:30px;width:1000px}#post-destacados .titulo-bloque{padding:15px 35px}#post-destacados .bloque300x295{margin:0 16px}#en-tapa{background:#fff;height:660px;margin-top:0px;margin-bottom:0px}#en-tapa #contenido{padding-top:5px;}
-#en-tapa .titulo-bloque{padding:15px 35px}#lo-mas-visto-secciones{height:680px;margin-top:30px;margin-bottom:30px;border-bottom:1px solid #bcbcbc;border-top:1px solid #bcbcbc}#lo-mas-visto-secciones .titulo-bloque{padding:15px 35px}#lo-ultimo{background:#E5E5E5;margin-bottom:30px;border-bottom:5px solid #E5E5E5}#lo-ultimo .titulo-bloque{background:#E5E5E5;padding:15px 35px}#lo-ultimo .contenedor-general-hidden{padding:10px 30px 15px;height:177px}#lo-ultimo .bloque{width:170px;height:180px;position:relative;float:left;margin:0 9px}#lo-ultimo .contenedor-numero{position:absolute;bottom:60px;left:5px}#lo-ultimo .numero{position:absolute;bottom:14px}#lo-ultimo .numero a{padding:7px 14px}#lo-ultimo .texto{padding:12px 10px;background:#fff;height:45px}#en-estudios{position:relative}#en-estudios .titulo-bloque{background:#DC2703;padding:10px 20px;width:920px}#en-estudios .titulo-nota{background:url(../../../../imagenes/fondo-transparente-negro.png);position:absolute;bottom:0;padding:25px 20px;width:920px}#cadena3-play{width:1000px;height:345px;clear:both;margin-bottom:25px;border-top:1px solid #BCBCBC;border-bottom:1px solid #BCBCBC}#audios-destacados .contenedor-general-hidden{padding:10px 20px}#cadena3-play .titulo-bloque{padding:20px}#cadena3-play .contenedor-general-hidden{padding:10px 20px}#cadena3-play .bloque{width:170px;height:200px;position:relative;float:left;margin-right:10px}#cadena3-play .bloque:last-child{margin:0}#cadena3-play .play{position:absolute;bottom:90px;left:5px}#cadena3-play .texto{background:#fff;height:75px;padding:8px 6px}#cadena3-play .titulo{background:#fff;height:50px}#cadena3-play .titulo-bloque{padding:15px 20px 5px 30px}#cadena3-play .titulo-tema{background:#0858A8;margin:auto;text-align:center;width:114px;margin-top:6px;position:relative}#cadena3-play .titulo-tema a{color:#fff;font-weight:700;padding:5px 20px;display:block}#play-principal{position:absolute;bottom:226px;left:-15px}#clasificados-destacados{position:relative;width:960px;border-bottom:5px solid #E5E5E5;margin:12px 0 30px;background:#f5f5f5}#clasificados-destacados .titulo{padding:20px 20px 0 20px}#clasificados-destacados .titulo p{font-size:24px;color:#044e99}#clasificados-destacados .titulo-bloque{background:#FFBE43;padding:4px 60px;margin-left:10px}#clasificados-destacados .titulo-bloque p{font:36px roboto;color:#fff;text-transform:uppercase}#clasificados-destacados .logo-imagen{position:absolute;top:-12px;left:-10px}#clasificados-destacados .contenedor-general-hidden{padding:0 34px}#clasificados-destacados .bloque{margin-top:20px;padding:0 6px;float:left}#clasificados-destacados .texto{padding:10px;width:190px;height:50px;background:#fff}#clasificados-destacados .menu{overflow:hidden;padding:10px 0;width:644px;margin:auto}#clasificados-destacados li{float:left}#clasificados-destacados li a{padding:0 8px;display:block}#cartelera-cine{float:left;width:300px;height:370px;background:#000;position:relative;margin:30px 0}#cartelera-cine .titulo-bloque{background:#DA9851;padding:10px}#cartelera-cine .subtitulo-bloque{background:#CA8E4D;padding:5px 10px}#cartelera-cine .contenedor-general{padding:5px 0}#cartelera-cine .contenedor-general:last-child{padding:10px;background:#251E0F}#cartelera-cine .contenedor-general-hidden{padding:0 10px}#cartelera-cine .contenedor-general-hidden:last-child{padding:0 10px;width:230px;margin:auto}#cartelera-cine .contenedor-general-hidden:last-child p{font:700 normal 18px arial;color:#fff}#cartelera-cine .flecha-izquierda{position:absolute;top:40%}#cartelera-cine .flecha-derecha{position:absolute;top:40%;right:0}#cartelera-cine a{color:#0858A8}#cartelera-cine .padding{padding:12px 0 0 10px}#cartelera-cine .texto9{color:#fff!important}#titulo-pelicula{margin:4px;max-height:35px;overflow:hidden}#estrenos-peliculas{width:280px;height:271px;margin:auto;overflow:hidden}#estrenos-peliculas p{font:700 normal 15px arial;color:#fff}#estrenos-peliculas a{font:700 normal 15px arial}#rating-programas .titulo-bloque{padding:2px 0 3px}#rating-programas .contenedor-general-hidden p{font-size:12px}#rating-programas .contenedor-general-hidden{border-bottom:1px solid #ddd;padding:5px 0}#rating-programas .contenedor-general-hidden:last-child{border:0}.puntuacion{padding:6px}.logo-canal{padding:0 6px}#futbol{float:left;width:300px;height:670px;overflow:hidden;position:relative;border-bottom:5px solid #9B9B9B;margin-top:30px}#futbol .titulo-bloque{background:#689A35;padding:10px}#futbol .subtitulo-bloque{background:#9C6;padding:5px 10px}#futbol .texto9{color:#fff!important}#comentarios-fb{padding:10px;float:left}#comentarios-fb .contenedor-general-hidden{padding:10px}#comentarios-fb hr{border-top:1px solid #E7E7E7;border-bottom:1px solid #fff;border-left:0;margin:5px 0 40px}#f1bfd6f1ac{height:161px}.mayuscula{text-transform:uppercase}a{text-decoration:none;color:#0858A8}a:hover{color:#333}.enlace-nota{text-decoration:underline}.floatleft{float:left}.floatright{float:right}.margen-derecho{width:27px;height:1px;float:left}img{border:none}h1{font:normal 42px Roboto;color:#000;line-height:45px}h2{font:normal 20px Roboto;color:#000;line-height:21px}p{font:normal normal 14px Arial;color:#4B4B4B}.texto1{font:normal 62px Roboto;color:#000;line-height:55px}.texto2{font:normal 20px Roboto;color:#000;line-height:21px}.texto3{font:700 normal 14px Arial;color:#fff}.texto4{font:normal normal 12px Arial;color:#fff}.texto5{font:normal normal 14px Arial;color:#0858A8}.texto6{font:700 normal 16px Arial;color:#fff}.texto7{font:700 normal 22px Roboto;color:#0858A8}.texto8{font:normal 14px Arial;color:#0858A8;padding-top:2px}.texto9{font:700 normal 20px Roboto;color:#0858A8;line-height:21px}.texto10{font:700 normal 12px Arial;color:#000;line-height:16px}.texto11{font:700 normal 20px Arial;color:#000;line-height:22px}.texto12{font:700 normal 45px Roboto;color:#fff}.texto13{font:normal normal 25px Roboto;color:#fff;line-height:45px}.texto14{font:normal normal 30px Arial;color:#fff}.texto15{font:normal normal 12px Arial;color:#FF6B43}.texto16{font:700 normal 19px Arial;color:#fff}.texto17{font:700 normal 19px Roboto;color:#000}.texto18{font-size:10px}.compartir{color:#38AAEB!important;text-transform:uppercase}.title{font:normal 42px Roboto;color:#000;line-height:45px}.subtitle{font:normal 20px Roboto;color:#000;line-height:21px}.compartir{color:#0858A8!important;text-transform:uppercase}.compartir:hover{color:#0858A8}.sombra-bloques{-webkit-box-shadow:0 12px 10px -10px rgba(0,0,0,0.5),0 1px 4px rgba(0,0,0,0.3),0 0 40px rgba(0,0,0,0.1) inset;-moz-box-shadow:0 12px 10px -10px rgba(0,0,0,0.5),0 1px 4px rgba(0,0,0,0.3),0 0 40px rgba(0,0,0,0.1) inset;box-shadow:0 12px 10px -10px rgba(0,0,0,0.5),0 1px 4px rgba(0,0,0,0.3),0 0 40px rgba(0,0,0,0.1) inset}.color0858A8{color:#0858A8!important}.colorB2B2B2{color:#B2B2B2!important}.color000{color:#000!important}.colorfff{color:#fff!important}.colorCA1A1A{color:#CA1A1A!important}.color689A35{color:#689A35!important}.colorAF832B{color:#AF832B!important}.fondo0858A8{background:#0858A8!important}.fondoB2B2B2{background:#B2B2B2!important}.fondo000{background:#000!important}.fondofff{background:#fff!important}.fondo689A35{background:#689A35!important}.fondoAF832B{background:#AF832B!important}.fondoCA1A1A{background:#CA1A1A!important}.fondo-texto8-CA1A1A{width:160px}.fondo-whitesmoke{background:#f5f5f5}.fondo333:hover{background:#333}.fondo-transparente-negro{background:url(../../../../imagenes/fondo-transparente-negro.png)}.padding10px{padding:10px}.padding15px{padding:15px}.margin2top{margin-top:2px}.padding5top{padding-top:5px}.clear{clear:both}#baner-lateral{padding:10px;position:fixed;left:1012px;top:0}.baner960x250{width:960px;padding:0 0 30px;margin:auto;overflow:hidden;text-align:center}.baner960x50{width:960px;padding:10px 0;margin:auto;overflow:hidden;text-align:center}.baner630x250{width:630px;height:250px;padding:22.5px 0;overflow:hidden;background:#F1F1F1}.banner-336x280{margin:10px;width:336px;height:280px;text-align:center;overflow:hidden;background:#F1F1F1}.baner300x250{width:300px;height:250px;padding:22.5px 0}.baner-ads300x250{width:300px;height:272px;overflow:hidden;background:#fff}.pub{overflow:hidden;padding:6px 0;background:#fff}.pub p{font-size:10px;color:#A0A0A0;float:right}.bloque-secciones{float:left;width:610px;padding:20px 10px;overflow:hidden;border-top:1px solid #c3c3c3}.bloque-secciones .imagen{width:300px;float:left;position:relative}.bloque-secciones .texto{width:280px;height:190px;float:right;position:relative}.bloque-secciones .titulo{;margin-top: 20px;margin-bottom:20px}.bloque-secciones .bajada{max-height:117px}.bloque-secciones .multimedios-activo{background:url(../../../../imagenes/fondo-transparente-negro.png);padding:5px;position:absolute;bottom:0;left:0;width:290px}.bloque-secciones .multimedios-activo-video{padding:5px;position:absolute;bottom:0;left:0;width:290px}.bloque-secciones .floatleft{margin-top:5px}.bloque-secciones .floatright{width:243px;float:left;position:relative}.bloque-secciones .floatright p{font-size:14px}.bloque-secciones a{color:#000}.bloque-secciones a:hover{color:#0858A8}.bloque-secciones-sin-imagen{float:left;width:610px;height:210px;padding:10px;margin-bottom:30px;overflow:hidden;background:#f7f7f7;position:relative}.bloque-secciones-sin-imagen .titulo{margin-bottom:25px;max-height:42px}.bloque-secciones-sin-imagen .bajada{min-height:70px;max-height:70px;margin-bottom:9px}.bloque-secciones-sin-imagen .multimedios{width:610px;float:left;position:static;margin-top:5px}.bloque-secciones-sin-imagen .contenedor-general-hidden{background:url(../../../../imagenes/fondo-transparente-negro.png);padding:5px;width:600px}.bloque-secciones-sin-imagen .contenedor-general-hidden-video{padding:5px;position:absolute;bottom:0;width:600px}.bloque-secciones-sin-imagen .floatright{width:610px;float:left;position:relative}.bloque-secciones-sin-imagen .floatright p{font-size:14px}.bloque-secciones-sin-imagen .slide-audios{position:absolute;top:34px;left:88px}.bloque-secciones-sin-imagen a{color:#000}.bloque-secciones-sin-imagen a:hover{color:#0858A8}.bloque-secciones-sin-imagen .compartir-redes{top:185px;right:10px}.bloque-secciones-sin-imagen .titulo p{font:700 25px roboto;line-height:21px}.multimedia{background:url(../../../../imagenes/fondo-transparente-negro.png);padding:5px;position:absolute;left:0;bottom:0}.multimedia-solo-video{padding:5px;overflow:hidden;position:absolute;left:0;bottom:0}.multimedia p{color:#fff;font-size:12px!important;padding:0!important}.icono-multimedia{float:left;margin-top:8px}.icono-multimedia-video{float:right;margin-top:8px}.texto-audio{float:left;padding:0 5px}.slide-audios{float:left;position:relative}.contador-audios{position:absolute}.compartir-audio{overflow:hidden;float:left}.multimedia-reposo{position:absolute;left:5px;top:160px;z-index:1}#nota-principal .multimedia{width:620px}#nota-principal .slide-audios{width:507px}#nota-principal .texto-audio{padding-top:5px;width:365px}#nota-principal .contador-audios{top:28px;left:292px;font-size:14px}.contador-audios img{padding-top:3px}#nota-principal .icono-multimedia{margin:4px 3px 0 0}#nota-principal .icono-multimedia-video{margin:4px 3px 0 0}#nota-principal .icono-multimedia img{-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:url(svg-url#element-id);filter:grayscale(100%);filter:gray}#nota-principal .icono-multimedia img:hover{-webkit-filter:grayscale(0%);-moz-filter:grayscale(0%);-ms-filter:grayscale(0%);-o-filter:grayscale(0%);filter:grayscale(0%)}#nota-3-columnas .multimedia{width:950px}#nota-3-columnas .slide-audios{position:static}#nota-3-columnas .texto-audio{padding-top:5px}#nota-3-columnas .contador-audios{top:37px;left:49px;font-size: 14px}#nota-3-columnas .icono-multimedia{margin:4px 3px 0 0}#nota-3-columnas a{color:#000}#nota-3-columnas a:hover{color:#0858A8}#nota-ampliada .multimedia{width:620px;background:#000;position:relative}#nota-ampliada .texto-audio{padding-top:5px}#nota-ampliada .contador-audios{top:40px;left:60px}#nota-ampliada .icono-multimedia{margin:4px 3px 0 0}.autor{margin-bottom:20px;border-top:1px solid #ccc;border-bottom:1px solid #ccc}.nota-secundaria .multimedia{width:260px;padding:0 23px 8px 17px;background:none}.nota-secundaria .slide-audios{width:200px}.nota-secundaria .slide-audios-sin-videos{width:270px;float:left;position:relative}.nota-secundaria .texto-audio{width:148px}.nota-secundaria .texto-audio-sin-video{float:left;padding:0 5px;width:200px}.nota-secundaria .contador-audios{top:40px;left:120px;font-size:14px}.nota-secundaria .contador-audios img{padding-top:3px}.nota-secundaria .contador-audios-sin-video{position:absolute;top:40px;left:160px;font-size:14px}.nota-secundaria .contador-audios-sin-video img{padding-top:3px}.nota-secundaria .icono-multimedia{height:55px}.nota-secundaria-sin-imagen .icono-multimedia{height:55px}.nota-secundaria-sin-imagen .multimedia{width:290px;padding:5px}.nota-secundaria-sin-imagen .slide-audios{width:248px}.nota-secundaria-sin-imagen .slide-audios-sin-video{width:270px;float:left;position:relative}.nota-secundaria-sin-imagen .slide-audios-sin-video .icono-multimedia{width:50px}.nota-secundaria-sin-imagen .texto-audio{width:196px}.nota-secundaria-sin-imagen .texto-audio-sin-video{float:left;padding:0 5px;width:200px}.nota-secundaria-sin-imagen .contador-audios{top:45px;left:120px;font-size:14px}.nota-secundaria-sin-imagen .contador-audios img{padding-top:3px}.nota-secundaria-sin-imagen .contador-audios-sin-video{position:absolute;top:40px;left:160px;font-size:14px}.nota-secundaria-sin-imagen .contador-audios-sin-video img{padding-top:3px}.bloque-secciones .slide-audios-sin-videos{width:270px;float:left;position:relative}.bloque-secciones .slide-audios{width:248px}.bloque-secciones .texto-audio{width:196px}.bloque-secciones .texto-audio-sin-video{float:left;padding:0 5px;width:200px}.bloque-secciones .contador-audios{top:45px;left:120px}.bloque-secciones .contador-audios-sin-video{position:absolute;top:40px;left:160px}.bloque-secciones .icono-multimedia{height:55px}.bloque-secciones .multimedia{width:290px;padding:5px}#contenedor-audios{padding:10px 20px;width:590px;background:#f5f5f5}.bloque-audio{border-bottom:1px solid #eee;padding:10px;overflow:hidden;margin:10px 0;width:570px}.bloque-audio-unico{border-bottom:0;padding:10px;margin:10px 0;width:570px;height:100px;position:relative}.bloque-audio:last-child{border-bottom:0}.bloque-audio .icono-multimedia{margin-top:15px}.bloque-audio-unico .floatright{width:335px;padding:5px}.bloque-audio-unico .icono-multimedia{padding:25px 15px;background:#ddd;margin:0;width:40px;height:40px}.bloque-audio .floatright{width:520px}#contenedor-audios .titulo-bloque{padding:10px 0}#contenedor-videos{width:660px}.bloque-video{border-bottom:1px solid #eee;padding:10px;overflow:hidden;margin:10px 0;width:570px}.bloque-video-unico{border-bottom:0;padding:10px;overflow:hidden;margin:10px 0;width:570px}.bloque-video:last-child{border-bottom:0}.bloque-video .icono-multimedia{margin-top:0}.bloque-video-unico .floatright{width:380px}.bloque-video-unico .icono-multimedia{margin-top:0}.bloque-video .floatright{width:380px}#contenedor-videos .titulo-bloque{padding-top:10px;padding-bottom:20px}.bloque-busqueda-audio{background:#f5f5f5;padding:10px 20px}.bloque-busqueda-audio input,select{margin-bottom:15px}.input{padding:5px 10px;width:190px}.input2{width:166px;height:16px;padding:5px 10px}.bloque-busqueda-audio .titulo-bloque{padding:10px 0 20px}#buscador-menu{float:left;width:426px}#buscador-menu .campo-buscar{padding:10px;width:324px;height:24px;font-size:20px;border:1px solid #ccc}#buscador-menu .boton-buscar{padding:10px;width:79px;height:46px;font-size:20px;border:0}#buscador-menu ul{margin:0;width:426px}#buscador-menu li{margin:0;width:426px}#buscador-menu li:last-child{margin-bottom:15px!important}.bordes-izq{border-radius:4px 0 0 4px;border:0}.bordes-der{border-radius:0 4px 4px 0;border:0}#registracion{float:left;width:630px;height:auto;background:#f5f5f5}#registracion .titulo{padding:15px 10px}#registracion .titulo-bloque{padding:10px;background:#0858A8;color:#fff}#registracion .texto2{font:normal 20px Arial}#registracion .titulo-bloque p{font:normal 20px Arial;color:#fff}#registracion .contenedor-general{padding:10px}#registracion .contenedor-general-hidden{padding:20px 10px}#registracion .floatleft{width:170px}.campos-registracion{float:left;width:420px}.campos-registracion .input{margin-bottom:10px;width:290px}.campos-registracion .input-small{padding: 5px 10px;margin-bottom:10px;width:80px}.campos-registracion .input-aceptar{margin-bottom:10px;width:310px;height:40px}#registracion form{overflow:hidden}#tel{width:70px}#registracion .floatleft p{padding:4px 0 17px}.campos-registracion p{padding:5px 0 10px}#sexo{padding:11px 0 1px}#sexo p{font-weight:700}radio{margin:4px}.separador-campo-registro{margin:2px 0 3px}.titulares{margin-top:10px;padding:1px}.titulares p{padding:0 0 15px 5px}#aviso-registracion{float:left;margin-top:10px}#aviso-registracion a{color:#333;font-weight:700}#aviso-registracion a:hover{text-decoration:underline}#usuarios-registrados{background:#f5f5f5}#usuarios-registrados .contenedor-general{padding:10px}#usuarios-registrados .contenedor-general-hidden{padding:20px 10px}#usuarios-registrados .input{margin-bottom:10px;width:initial}#usuarios-registrados .floatleft p{padding:4px 0 17px}#usuarios-registrados .floatright{width:185px}#registracion .color-rojo{color:red}#registracion .fondo-rojo{background:red!important}#registracion .captcha{width:310px}#menu-secciones{background:#333;padding:5px 19px;color:#fff;margin-bottom:10px}#menu-secciones a{font:normal normal 16px roboto;color:#fff}#menu-secciones a:hover{color:#ccc}#usuario-registrado-puede{margin-top:15px}#usuario-registrado-puede li{list-style:inside;font-size:16px;margin:6px 0}.boton-play-video{position:absolute;z-index:1;top:40px;left:95px}.titulo-bloque{padding:10px 0}#rss{width:630px}#rss hr{border-top:1px solid #ddd;border-bottom:0;border-left:0;border-right:0;margin:20px 0}#rss .floatleft{width:315px}#rss .floatright{width:300px}#rss .img{float:left;width:25px;margin-top:17px}#rss .txt{float:left;width:260px}#rss .contenedor-general{margin-bottom:40px}#rss .contenedor-general-hidden{margin:5px 0}.enlace-borde{border:1px solid #ccc;padding:2px 5px;font-size:12px}#cartelera-cine-teatro{width:630px}#cartelera-cine-teatro .floatleft:last-child{margin:0}#cartelera-cine-teatro .titulo-bloque-activo{border-radius:5px 5px 0 0;background:#888}#cartelera-cine-teatro .titulo-bloque-pasivo{background:#444;border-radius:0 5px 0 0;margin-top:6px}#cartelera-cine-teatro .titulo-bloque-pasivo p{font-size:20px!important}#cartelera-cine-teatro .titulo-bloque-activo a{padding:8px;display:block}#cartelera-cine-teatro .titulo-bloque-pasivo a{padding:6px 6px 4px;display:block}#cartelera-cine-teatro a:hover{color:#fff}#cartelera-cine-teatro #acciones-nota-ampliada{margin-top:10px}#estrenos-obras{background:#888;padding:10px 10px 0;margin-bottom:20px}#estrenos-obras .titulo-bloque{padding:10px;width:590px;text-align:center;background:#444;border-radius:5px}#estrenos-obras .titulo-bloque-activo{background:#ddd}#contenido-sitio-radios{width:1000px}.fm1005-site .seccion-principal .head{background:url(http://www.cadena3.com/images/images-2012/header-1005.jpg) no-repeat top}.popular923-site .seccion-principal .head{background:url(imagenes/header-923.jpg) no-repeat top;background-color:#fff}.seccion-principal .head{height:231px;position:relative}.seccion-principal{background:#000;margin-bottom:20px}.novedad-musical{width:157px;height:314px;float:left;margin-right:5px}.novedad-musical:last-child{margin:0}.margin5right{margin-right:5px}#programa{position:absolute;top:51px;left:350px;width:404px}#social-media{position:absolute;top:86px;left:755px}#social-media .floatleft{margin-right:10px}#social-media .floatleft:first-child{margin-top:4px}#social-media .floatleft:last-child{margin:0}#novedades-musicales{background:#000;width:967px;height:339px;margin:auto;overflow:hidden;padding:12px 0}#novedades-musicales .bloque-wrap{width:155px;height:314px;float:left}#tema{background:#FFF;height:97px;padding:30px 10px}#artista{padding:10px}#artista p{font-size:15px;color:#FFF}#tema-ranking{overflow:hidden;float:left;margin:0 15px 15px 0}#ranking-semana-wrap{padding:35px 10px 3px;overflow:hidden}.posicion{float:left;padding:5px 10px;margin:44px 1px 44px 0;width:22px;text-align:center}.posicion p{font-size:20px;color:#fff}.fm1005-site .posicion{background:#0858A8}.popular923-site .posicion{background:#C50001}#ranking-contenedor{margin-top:20px}#tema-ranking .img{float:left}#tema-ranking .floatleft{width:120px;margin:0 5px}#el-espectaculo .img{float:left;border:5px solid #04C0EF;width:205px;height:130px}#el-espectaculo .txt{float:left;margin-left:5px;width:410px;height:116px}#el-espectaculo .txt2{float:left;width:410px;margin-left:5px}#el-espectaculo .sep-margin-15{background:#DDD}#twitter-timeline{width:220px;margin-right:20px}#los-bailes{overflow:hidden;margin:20px 0;border-top:1px solid #ddd;border-bottom:1px solid #ddd}#los-bailes .titulo-bloque{padding:20px 0}.baile{width:330px;overflow:hidden;margin-bottom:30px}.baile .img{float:left}.baile .txt{float:left;margin-left:5px;width:194px}.baile .txt p{font:12px trebuchet ms;line-height:18px}#programacion-100{padding:10px 0}#programacion-100 .bloque-wrap{border-bottom:1px solid #DDD;overflow:hidden}#programacion-100 .head{background:#000;padding:5px 10px}#programacion100-hora{float:left;padding:13px 10px}.fm1005-site #programacion{background:#04C0EF;padding:5px;font:700 14px Arial;color:#FFF}.popular923-site #programacion{background:#C50001;padding:5px;font:700 14px Arial;color:#FFF}.fm1005-site #titulo p{color:#0858A8}.popular923-site #titulo p{color:#C50001}#conductor100{float:left}#programacion-100 p{font-size:11px}#programacion-100 .bloque{width:236px;height:72px;float:right}#radio-en-vivo-wrap{overflow:hidden;width:750px;padding:5px}#radio-en-vivo-wrap .floatright .ads{width:414px;height:408px;background:gray}#radio-en-vivo-wrap .ads-bottom{width:764px;height:90px;background:gray;float:left;margin-top:5px}#radio-en-vivo-wrap .floatleft{width:330px}#radio-en-vivo-wrap .floatright{width:414px}#radio-en-vivo-wrap .floatleft .ads{width:320px;height:50px;background:gray;float:left;margin:5px}#radio-en-vivo-wrap p{font-size:12px;margin:5px 0;text-align:center}#radio-en-vivo{width:330px}#radio-en-vivo .titulo-bloque{text-transform:uppercase;float:left;padding:0}#radio-en-vivo .titulo-bloque:last-child{margin:4px 0 0 81px}#radio-en-vivo a{color:#fff}#radio-en-vivo a:hover{color:#333}#radio-en-vivo .contenedor-general{padding:10px;background:#0191E3;text-align:center}#radio-en-vivo .contenedor-general:last-child{background:#333}.ultimas-24-horas{padding:10px;background:#000}#radio-en-vivo select{margin:0;background:#444;color:#fff;font-size:12px}#ringtones{width:100%}#ringtones a{color:#000}#ringtones a:hover{color:#0858A8}#ringtones hr{border-top:1px solid #ccc;border-bottom:1px solid #eee;border-left:0;border-right:0;margin:10px 0}#ringtones audio{width:250px}.contenedor-ringtone{background:#ddd;width:90%;padding:10px;margin:10px 0;border-radius:6px;overflow:hidden}.contenedor-ringtone h1{margin:5px 0 4px}.contenedor-ringtone p{margin:16px 0;font:normal normal 14px arial}.contenedor-ringtone .contenedor-general-hidden:last-child .floatleft{margin:2px 11px}div.jp-audio,div.jp-audio-stream,div.jp-video{font-size:1.25em;font-family:Verdana,Arial,sans-serif;line-height:1.6;color:#666;border:0 solid #333;background-color:#333}div.jp-audio{width:300px}div.jp-audio-stream{width:310px}div.jp-video-270p{width:480px}div.jp-video-360p{width:640px}div.jp-video-full{width:480px;height:270px;position:static!important;position:relative}div.jp-video-full div div{z-index:1000}div.jp-video-full div.jp-jplayer{top:0;left:0;position:fixed!important;position:relative;overflow:hidden}div.jp-video-full div.jp-gui{position:fixed!important;position:static;top:0;left:0;width:100%;height:100%;z-index:1001}div.jp-video-full div.jp-interface{position:absolute!important;position:relative;bottom:0;left:0}div.jp-interface{position:relative;background-color:#333;width:100%}div.jp-audio div.jp-type-single div.jp-interface{height:80px}div.jp-audio div.jp-type-playlist div.jp-interface{height:80px}div.jp-audio-stream div.jp-type-single div.jp-interface{height:80px}div.jp-video div.jp-interface{border-top:1px solid #333}div.jp-controls-holder{clear:both;width:440px;margin:0 auto;position:relative;overflow:hidden;top:-8px}div.jp-interface ul.jp-controls{list-style-type:none;margin:0;padding:0;overflow:hidden}div.jp-audio ul.jp-controls{width:280px;padding:20px 20px 0}div.jp-audio-stream ul.jp-controls{width:142px;padding:20px 20px 0}div.jp-video div.jp-type-single ul.jp-controls{width:78px;margin-left:200px}div.jp-video div.jp-type-playlist ul.jp-controls{width:134px;margin-left:172px}div.jp-video ul.jp-controls,div.jp-interface ul.jp-controls li{display:inline;float:left}div.jp-interface ul.jp-controls a{display:block;overflow:hidden;text-indent:-9999px}a.jp-play,a.jp-pause{width:40px;height:40px}a.jp-play{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) 0 0 no-repeat}a.jp-play:hover{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -41px 0 no-repeat}a.jp-pause{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) 0 -42px no-repeat;display:none}a.jp-pause:hover{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -41px -42px no-repeat}a.jp-stop,a.jp-previous,a.jp-next{width:28px;height:28px;margin-top:6px}a.jp-stop{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) 0 -83px no-repeat;margin-left:10px}a.jp-stop:hover{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -29px -83px no-repeat}a.jp-previous{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) 0 -112px no-repeat}a.jp-previous:hover{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -29px -112px no-repeat}a.jp-next{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) 0 -141px no-repeat}a.jp-next:hover{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -29px -141px no-repeat}div.jp-progress{overflow:hidden;background-color:#ddd}div.jp-audio div.jp-progress{position:absolute;top:32px;height:15px}div.jp-audio div.jp-type-single div.jp-progress{left:110px;width:186px}div.jp-audio div.jp-type-playlist div.jp-progress{left:166px;width:130px}div.jp-video div.jp-progress{top:0;left:0;width:100%;height:10px}div.jp-seek-bar{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) 0 -202px repeat-x;width:0;height:100%;cursor:pointer}div.jp-play-bar{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) 0 -218px repeat-x;width:0;height:100%}div.jp-seeking-bg{background:url(jplayer.blue.monday.seeking.gif)}a.jp-mute,a.jp-unmute,a.jp-volume-max{width:18px;height:15px;margin-top:12px}div.jp-audio div.jp-type-single a.jp-mute,div.jp-audio div.jp-type-single a.jp-unmute{margin-left:210px}div.jp-audio div.jp-type-playlist a.jp-mute,div.jp-audio div.jp-type-playlist a.jp-unmute{margin-left:154px}div.jp-audio-stream div.jp-type-single a.jp-mute,div.jp-audio-stream div.jp-type-single a.jp-unmute{margin-left:10px}div.jp-audio a.jp-volume-max,div.jp-audio-stream a.jp-volume-max{margin-left:56px}div.jp-video a.jp-mute,div.jp-video a.jp-unmute,div.jp-video a.jp-volume-max{position:absolute;top:12px;margin-top:0}div.jp-video a.jp-mute,div.jp-video a.jp-unmute{left:50px}div.jp-video a.jp-volume-max{left:134px}a.jp-mute{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) 0 -170px no-repeat}a.jp-mute:hover{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -19px -170px no-repeat}a.jp-unmute{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -60px -170px no-repeat;display:none}a.jp-unmute:hover{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -79px -170px no-repeat}a.jp-volume-max{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) 0 -186px no-repeat}a.jp-volume-max:hover{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -19px -186px no-repeat}div.jp-volume-bar{position:absolute;overflow:hidden;background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) 0 -250px repeat-x;width:46px;height:5px;cursor:pointer}div.jp-audio div.jp-volume-bar{top:37px;left:330px}div.jp-audio-stream div.jp-volume-bar{top:37px;left:92px}div.jp-video div.jp-volume-bar{top:17px;left:72px}div.jp-volume-bar-value{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) 0 -256px repeat-x;width:0;height:5px}div.jp-audio div.jp-time-holder{position:absolute;top:50px}div.jp-audio div.jp-type-single div.jp-time-holder{left:110px;width:186px}div.jp-audio div.jp-type-playlist div.jp-time-holder{left:166px;width:130px}div.jp-current-time,div.jp-duration{width:60px;font-size:.64em;font-style:oblique}div.jp-current-time{float:left;display:inline}div.jp-duration{float:right;display:inline;text-align:right}div.jp-video div.jp-current-time{margin-left:20px}div.jp-video div.jp-duration{margin-right:20px}div.jp-details{font-weight:700;text-align:center}div.jp-details,div.jp-playlist{width:100%;background-color:#ccc;border-top:1px solid #333}div.jp-type-single div.jp-details,div.jp-type-playlist div.jp-details,div.jp-type-single div.jp-playlist{border-top:none}div.jp-details ul,div.jp-playlist ul{list-style-type:none;margin:0;padding:0 20px;font-size:.72em}div.jp-details li{padding:5px 0;font-weight:700}div.jp-playlist li{padding:5px 0 4px 20px;border-bottom:1px solid #333}div.jp-playlist li div{display:inline}div.jp-type-playlist div.jp-playlist li:last-child{padding:5px 0 5px 20px;border-bottom:none}div.jp-type-playlist div.jp-playlist li.jp-playlist-current{list-style-type:square;list-style-position:inside;padding-left:7px}div.jp-type-playlist div.jp-playlist a{color:#333;text-decoration:none}div.jp-type-playlist div.jp-playlist a:hover{color:#0d88c1}div.jp-type-playlist div.jp-playlist a.jp-playlist-current{color:#0d88c1}div.jp-type-playlist div.jp-playlist a.jp-playlist-item-remove{float:right;display:inline;text-align:right;margin-right:10px;font-weight:700;color:#666}div.jp-type-playlist div.jp-playlist a.jp-playlist-item-remove:hover{color:#0d88c1}div.jp-type-playlist div.jp-playlist span.jp-free-media{float:right;display:inline;text-align:right;margin-right:10px}div.jp-type-playlist div.jp-playlist span.jp-free-media a{color:#666}div.jp-type-playlist div.jp-playlist span.jp-free-media a:hover{color:#0d88c1}span.jp-artist{font-size:.8em;color:#666}div.jp-video-play{width:100%;overflow:hidden;cursor:pointer;background-color:rgba(0,0,0,0)}div.jp-video-270p div.jp-video-play{margin-top:-270px;height:270px}div.jp-video-360p div.jp-video-play{margin-top:-360px;height:360px}div.jp-video-full div.jp-video-play{height:100%}a.jp-video-play-icon{position:relative;display:block;width:112px;height:100px;margin-left:-56px;margin-top:-50px;left:50%;top:50%;background:url(jplayer.blue.monday.video.play.png) 0 0 no-repeat;text-indent:-9999px}div.jp-video-play:hover a.jp-video-play-icon{background:url(jplayer.blue.monday.video.play.png) 0 -100px no-repeat}div.jp-jplayer audio,div.jp-jplayer{width:0;height:0}div.jp-jplayer{background-color:#000}ul.jp-toggles{list-style-type:none;padding:0;margin:0 auto;overflow:hidden}div.jp-audio .jp-type-single ul.jp-toggles{width:25px}div.jp-audio .jp-type-playlist ul.jp-toggles{width:55px;margin:0;position:absolute;left:325px;top:50px}div.jp-video ul.jp-toggles{margin-top:10px;width:100px}ul.jp-toggles li{display:block;float:right}ul.jp-toggles li a{display:block;width:25px;height:18px;text-indent:-9999px;line-height:100%}a.jp-full-screen{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) 0 -310px no-repeat;margin-left:20px}a.jp-full-screen:hover{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -30px -310px no-repeat}a.jp-restore-screen{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -60px -310px no-repeat;margin-left:20px}a.jp-restore-screen:hover{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -90px -310px no-repeat}a.jp-repeat{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) 0 -290px no-repeat}a.jp-repeat:hover{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -30px -290px no-repeat}a.jp-repeat-off{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -60px -290px no-repeat}a.jp-repeat-off:hover{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -90px -290px no-repeat}a.jp-shuffle{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) 0 -270px no-repeat;margin-left:5px}a.jp-shuffle:hover{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -30px -270px no-repeat}a.jp-shuffle-off{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -60px -270px no-repeat;margin-left:5px}a.jp-shuffle-off:hover{background:url(http://cadena3.com/js/jQuery/skin/cadena3/jplayer.blue.monday.jpg) -90px -270px no-repeat}.jp-no-solution{padding:5px;font-size:.8em;background-color:#0092E6;border:2px solid #333;color:#000;display:none}.jp-no-solution a{color:#000}.jp-no-solution span{font-size:1em;display:block;text-align:center;font-weight:700}.jw-skin-bekle .jw-slider-horizontal{margin-top:12px}.jw-controlbar{padding:0!important;margin-bottom:10px}.jw-icon-playback{background:#0092e5!important;border-radius:.3em 0 0 .3em}#audios-destacados .owl-carousel .owl-item{width:140px!important;margin:0 10px}#post-destacados .owl-carousel .owl-item{height:279px;width:333px!important}#cadena3-play .owl-carousel .owl-item{width:170px!important;margin:0 11px}#otras-notas{margin-bottom:15px}.otra-nota{padding:7px 10px;overflow:hidden;border-bottom:1px solid #F0F1F2}.otra-nota .media{width:70%}.otra-nota:last-child{border:0;padding-bottom:0}.otra-nota-sin-imagen{padding:20px 10px;border-bottom:1px solid #F0F1F2}.otra-nota-sin-imagen .bajada p{margin-top:5px;color:#666;font-size:1em}#otras-notas .floatleft{width:40%}#otras-notas .floatright{width:55%}#otras-notas .floatleft img{width:100%}#otras-notas .categoria-nota p{font-size:1.1em}#otras-notas .boton-plus{background:#2c87e4;text-align:center;padding:5px 10px;width:100px;margin:auto}#otras-notas .boton-plus p{font-size:1.2em;text-transform:uppercase}#otras-notas .boton-plus a{color:#fff}#otras-notas .notas-plus{border-bottom:0;background:#EBEBEB;border-bottom:1px solid #F0F1F2}#otras-notas a{font-size:14px;font-weight:400;color:#000}.color-deportes p{color:#2e9f43!important}.color-espectaculos p{color:#DA9851!important}.color-sociedad p{color:#f2703d!important}.color-politica p{color:#3b5daa!important}.color-tecnologia p{color:#ffaa15!important}.color-agro p{color:#34ad76!important}.color-mundo p{color:#263F58!important}.color-default p{color:#2c87e4!important}.color-blanco{color:#fff!important}.media{position:absolute;bottom:10px;left:10px;overflow:hidden;width:46%}.media>div{float:left;width:40%;margin-right:2%}.media>div:last-child{margin:0}.img{position:relative}#imagen-nota{position:relative}#ampliar-imagen{position:absolute;top:15px;right:15px;width:42px;height:42px;background:url(../../../../imagenes/icono-lupa.png)}#ampliar-imagen a{display:block;width:42px;height:42px}#lightbox{position:absolute;left:0;width:100%;z-index:11000;text-align:center;line-height:0}#lightbox img{width:auto;height:auto}#lightbox a img{border:none}#outerImageContainer{position:relative;background-color:#fff;width:250px;height:250px;margin:0 auto}#imageContainer{padding:10px}#loading{position:absolute;top:40%;left:0;height:25%;width:100%;text-align:center;line-height:0}#hoverNav{position:absolute;top:0;left:0;height:100%;width:100%;z-index:10}#imageContainer>#hoverNav{left:0}#hoverNav a{outline:none}#prevLink,#nextLink{width:49%;height:100%;background-image:url(data:image/gif;base64,AAAA);display:block}#prevLink{left:0;float:left}#nextLink{right:0;float:right}#prevLink:hover,#prevLink:visited:hover{background:url(../../../../imagenes/flecha-izquierda-grande.png) 5% 55% no-repeat}#nextLink:hover,#nextLink:visited:hover{background:url(../../../../imagenes/flecha-derecha-grande.png) 95% 55% no-repeat}#imageDataContainer{font:12px Arial,Helvetica,sans-serif;background-color:#fff;margin:0 auto;line-height:1.4em;overflow:auto;width:100%}#imageData{padding:0 10px;color:#666}#imageData #imageDetails{width:70%;float:left;text-align:left}#imageData #caption{font-weight:700}#imageData #numberDisplay{display:block;clear:left;padding-bottom:1em}#imageData #bottomNavClose{width:66px;float:right;padding-bottom:.7em;outline:none}#overlay{position:absolute;top:0;left:0;z-index:10100;width:100%;height:500px;background-color:#000}footer{width:1000px;overflow:hidden;border-top:1px solid #BCBCBC}footer .contenedor-general{width:220px;padding:10px 10px 0;float:left}footer .floatright{width:797px}footer .titulo-bloque{font:22px roboto;text-transform:uppercase;padding:5px 0}footer li{list-style:none}footer li:last-child{border-bottom:0}footer li a{padding:2px 0;display:block;color:#A09E9E}footer a:hover{color:#38AAEB}#data-fiscal{float:left}#aviso-legal{float:left;width:800px;margin-left:10px}#aviso-legal p{font-size:12px}#logos-footer{overflow:hidden;margin-bottom:5px}#aviso-legal p{color:#999}#logos-footer .floatleft{width:110px}#logos-footer .floatright{width:370px}.aviso-legal p{font:14px arial}.aviso-legal{list-style:inside;background:linear-gradient(whitesmoke,white,whitesmoke);margin:10px}footer .contenedor-general-hidden{padding:15px 20px}footer .social{background:#fff;border-top:1px solid #BCBCBC}footer .social .contenedor-general-hidden{width:616px;margin:auto;background:#fff!important;text-align:center;overflow:visible;height:100px}footer .social .contenedor-general-hidden>div{float:left;margin-right:20px;position:relative}footer .social img{-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:url(svg-url#element-id);filter:grayscale(100%);filter:gray}footer .social p{font:700 14px arial;color:#686868;text-transform:uppercase}footer .social .contenedor-general-hidden>div:hover img{-webkit-filter:grayscale(0%);-moz-filter:grayscale(0%);-ms-filter:grayscale(0%);-o-filter:grayscale(0%);filter:grayscale(0%)}footer .social .contenedor-general-hidden>div:hover p{color:#0584CC}footer .contenedor-general-hidden>div:last-child{margin:0}footer .contenedor-general-hidden:last-child{background:#111}footer .msj{display:none;position:absolute;top:-226px;left:-20px;background:#38AAEB;padding:20px;border-radius:12px;width:200px;height:150px;z-index:1;opacity:.98}footer .msj a{color:#fff}footer .msj a:hover{text-decoration:underline}footer .msj:before{}footer .msj:after{content:"";position:absolute;border-style:solid;display:block;width:0;left:50px;bottom:-37px;border-width:0 0 37px 34px;border-color:transparent #38AAEB}footer .msj h4{font:normal normal 12px arial;text-align:left;text-transform:none;line-height:20px;font-weight:700;color:#000!important}footer .msj p{font:normal normal 12px arial;color:#000!important;text-align:left;text-transform:none;line-height:20px}footer .contenedor-general-hidden>div:hover .msj{display:block}.owl-carousel .owl-wrapper:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel{display:none;position:relative;width:100%;-ms-touch-action:pan-y}.owl-carousel .owl-wrapper{display:none;position:relative;-webkit-transform:translate3d(0px,0px,0px)}.owl-carousel .owl-wrapper-outer{overflow:hidden;position:relative;width:100%}.owl-carousel .owl-wrapper-outer.autoHeight{-webkit-transition:height 500ms ease-in-out;-moz-transition:height 500ms ease-in-out;-ms-transition:height 500ms ease-in-out;-o-transition:height 500ms ease-in-out;transition:height 500ms ease-in-out}.owl-carousel .owl-item{float:left}.owl-controls .owl-page,.owl-controls .owl-buttons div{cursor:pointer}.owl-controls{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.grabbing{cursor:url(grabbing.png) 8 8,move}.owl-carousel .owl-wrapper,.owl-carousel .owl-item{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-theme .owl-controls{padding:10px 0;text-align:center}.owl-theme .owl-controls .owl-buttons div{color:#FFF;display:inline-block;zoom:1;*display:inline;margin:5px;padding:3px 10px;font-size:12px;-webkit-border-radius:30px;-moz-border-radius:30px;border-radius:30px;background:#869791;filter:Alpha(Opacity=50);opacity:.5}.owl-theme .owl-controls.clickable .owl-buttons div:hover{filter:Alpha(Opacity=100);opacity:1;text-decoration:none}.owl-theme .owl-controls .owl-page{display:inline-block;zoom:1;*display:inline}.owl-theme .owl-controls .owl-page span{display:block;width:12px;height:12px;margin:5px 7px;filter:Alpha(Opacity=50);opacity:.5;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;background:#869791}.owl-theme .owl-controls .owl-page.active span,.owl-theme .owl-controls.clickable .owl-page:hover span{filter:Alpha(Opacity=100);opacity:1}.owl-theme .owl-controls .owl-page span.owl-numbers{height:auto;width:auto;color:#FFF;padding:2px 10px;font-size:12px;-webkit-border-radius:30px;-moz-border-radius:30px;border-radius:30px}.owl-item.loading{min-height:150px;background:url(AjaxLoader.gif) no-repeat center center}
-#transmisiones-en-vivo{overflow:hidden;position:relative;height:44px}
-#transmisiones-en-vivo .icono-play{float:left}
-#transmisiones-en-vivo .icono-play img{width:31px;padding:6px}
-#transmisiones-en-vivo .img{float:left}
-#transmisiones-en-vivo .txt{float:left;margin:6px 0}
-#header-top .floatleft{width:680px}
-#transmisiones-en-vivo .owl-item{width:280px !important}
-#transmisiones-en-vivo .fade{position:absolute;width:127px;height:44px;right:0;z-index:1;
-background:linear-gradient(to right,rgba(245,245,245,1),rgba(245,245,245,.9),transparent);
-background:-webkit-linear-gradient(right,rgba(245,245,245,1),rgba(245,245,245,.9),transparent);
-background:-o-linear-gradient(right,rgba(245,245,245,1),rgba(245,245,245,.9),transparent);
-background:-moz-linear-gradient(right,rgba(245,245,245,1),rgba(245,245,245,.9),transparent)}
-#transmisiones-en-vivo .owl-controls{padding:4px 0;position:absolute;top:0;right:20px;z-index:1}
-#transmisiones-en-vivo .owl-buttons div{opacity:1;padding:5px 10px;background:#c85233;font-weight:700}
-#transmisiones-en-vivo .owl-buttons .owl-prev{display:none}
-#header-top .floatright{width:306px}
-#transmisiones-en-vivo .texto-conductor{font-size:12px}
-#transmisiones-en-vivo .texto-programa{font-size:14px;font-weight:700}
-.bloque300x520{width:300px;height:460px}
-.bloque300x520 .multimedia-reposo {top:370px}
-.bloque300x520 .titulo-nota {height: 150px}
-.bloque300x520 .titulo-nota h2 {font: normal 29px Roboto;color: #000;line-height: 35px}
-#dos-notas-especiales .bloque{width:300px;overflow:hidden;margin-bottom:18.5px}
-#dos-notas-especiales .bloque:last-child{margin:0}
-#dos-notas-especiales .floatleft{width:150px}
-#dos-notas-especiales .anchototal{width:300px !important;border-top: 1px solid #F0F1F2;border-bottom: 1px solid #F0F1F2;padding:5px}
-#dos-notas-especiales .floatright{width:140px}
-#dos-notas-especiales img{width:150px;height:auto}
-#dos-notas-especiales .categoria-nota p{font-size:14px}
-#dos-notas-especiales .texto8{padding:0}
-#dos-notas-especiales h2{font: normal 15px Roboto;color: #000;line-height: 19px}
-#dos-notas-especiales a {color: #000}
-#dos-notas-especiales a:hover {color: #0858A8}
-.secciones-titulo-principal{font:700 normal 22px Roboto;color:#0858A8;font-size: 20px;padding: 10px;margin-right: 30px}
-.texto2-solo-titulo {font: normal 27px Roboto;color: #000;line-height: 28px}
-.invertida {float:left !important}
-.margen-invertida {margin: 0 0 30px 30px;}
-.margin0{margin:0}
-#aire{border-left:4px solid #aa391d;margin:0 0 30px 30px;width: 630px;height:660px}
-#aire .etiqueta{background: #aa391d;float: left;padding: 5px 10px 5px 5px;}
-#aire .etiqueta p {color: #fff;font-family: roboto;}
-#aire .categoria-y-redes {padding: 20px 15px 5px;width: 600px!important;overflow: hidden;}
-#aire .titulo-nota {margin: 10px 15px!important;}
-#aire .bajada {margin: 0 15px!important;}
-#aire .bloque630x620{background:#f4f0e7}
-#aire #nota-principal a{color:#aa391d}
-.aire {background:#f4f0e7;margin:0 !important;padding:10px}
-.aire a{color:#aa391d}
-.color-aire{color:#aa391d !important}
-#aire #nota-principal .imagen-nota{height:auto;}
-#aire .imagen-nota{height:auto;}
-#aire .bloque630x620{height:630px;margin:0;}
-.secciones .bloque630x620{height:610px;margin:0;}
-#logo-dakar-2017{
- position:absolute;
- right:20px;
- top:69px;
- height:59px;
-}
-#logo-dakar-2017 img{
- height:100%;
-}
-</style>
-<script>
-var bodyClasses="",pagetypeCssData=[{test:"",files:["MaskNote/css/style_common.css","MaskNote/css/style1.css","CircularContentCarousel/css/style.css","CircularContentCarousel/css/jquery.jscrollpane.css"]}
-
-];function stringHasText(c,a){return 0<=c.indexOf(a)?!0:!1}
-
-
-var cb=function(){function c(a){setTimeout(function(){a.media="all"}
-
-)}
-
-for(var a in pagetypeCssData)if(stringHasText(bodyClasses,pagetypeCssData[a].test))for(var d=0,f=pagetypeCssData[a].files.length;d<f;d++){var b=document.createElement("link");b.rel="stylesheet";b.href="../../../../estilos/"+pagetypeCssData[a].files[d];b.media="only x";var e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(b,e);c(b)}
-
-}
-
-,raf=requestAnimationFrame||mozRequestAnimationFrame||webkitRequestAnimationFrame||
-msRequestAnimationFrame;raf?raf(cb):window.addEventListener("load",cb);
-</script><script id="navegg" type="text/javascript" src="//tag.navdmp.com/tm42718.js" ></script>
-<script type="text/javascript">
- function loadFileplayerarchivo(id) {
- document.getElementById("divplayerarchivo").style.height="350px";
- jwplayer().load({file: id});
- jwplayer().stop();
- jwplayer().play();
- document.getElementById("divplayerarchivo").style.left = "200px";
- document.getElementById("divplayerarchivo").style.top = "30px";};
- function loadFileplayerarchivoAudio(id) {
- document.getElementById("divplayerarchivo").style.height="350px";
- jwplayer().load({file: id});
- jwplayer().stop();
- jwplayer().play();
- document.getElementById("divplayerarchivo").style.left = "5px";
- document.getElementById("divplayerarchivo").style.top = "110px";};
-</script>
-
-<script type="text/javascript" src="../../../../js/ajax.js"></script>
-
-
-
-<script type='text/javascript'>
- var googletag = googletag || {};
- googletag.cmd = googletag.cmd || [];
- (function() {
- var gads = document.createElement('script');
- gads.async = true;
- gads.type = 'text/javascript';
- var useSSL = 'https:' == document.location.protocol;
- gads.src = (useSSL ? 'https:' : 'http:') +
- '//www.googletagservices.com/tag/js/gpt.js';
- var node = document.getElementsByTagName('script')[0];
- node.parentNode.insertBefore(gads, node);
- })();
-</script>
-
-<script type='text/javascript'>
- googletag.cmd.push(function() {
- googletag.defineSlot('/416478284/Cadena-3/General/Skin', [[120, 600], [160, 600], [300, 600]], 'div-gpt-ad-1460643366541-8').addService(googletag.pubads());
- googletag.defineSlot('/416478284/Cadena-3/General/T1', [[960, 80], [728, 90], [970, 90]], 'div-gpt-ad-1460643366541-9').addService(googletag.pubads());
- googletag.defineSlot('/416478284/Cadena-3/General/T3', [[960, 80], [728, 90], [970, 90]], 'div-gpt-ad-1460643366541-10').addService(googletag.pubads());
- googletag.defineSlot('/416478284/Cadena-3/General/A1', [630, 250], 'div-gpt-ad-1460643366541-0').addService(googletag.pubads());
- googletag.defineSlot('/416478284/Cadena-3/General/A2', [[960, 80], [728, 90], [960, 250], [970, 90]], 'div-gpt-ad-1460643366541-1').addService(googletag.pubads());
- googletag.defineSlot('/416478284/Cadena-3/General/A3', [300, 600], 'div-gpt-ad-1473345042979-0').addService(googletag.pubads());
- googletag.defineSlot('/416478284/Cadena-3/General/B1', [300, 250], 'div-gpt-ad-1460643366541-2').addService(googletag.pubads());
-
- googletag.defineSlot('/416478284/Cadena-3/General/InRead', [1, 1], 'div-gpt-ad-1467226916317-0').addService(googletag.pubads());
-
- googletag.defineSlot('/416478284/Cadena-3/General/B2', [300, 250], 'div-gpt-ad-1460643366541-3').addService(googletag.pubads());
- googletag.defineSlot('/416478284/Cadena-3/General/B3', [300, 250], 'div-gpt-ad-1460643366541-4').addService(googletag.pubads());
- googletag.defineSlot('/416478284/Cadena-3/General/B4', [300, 250], 'div-gpt-ad-1460643366541-5').addService(googletag.pubads());
- googletag.defineSlot('/416478284/Cadena-3/General/B5', [300, 250], 'div-gpt-ad-1460643366541-6').addService(googletag.pubads());
- googletag.defineSlot('/416478284/Cadena-3/General/F1', [[960, 80], [728, 90], [960, 250], [970, 90]], 'div-gpt-ad-1460643366541-7').addService(googletag.pubads());
- googletag.pubads().enableSingleRequest();
-
- googletag.enableServices();
- });
-</script>
-
-</head><body> <script id="navegg" type="text/javascript" src="//tag.navdmp.com/tm42718.js" ></script>
-<script type="application/ld+json">
-{
- "@context" : "http://schema.org",
- "@type" : "Organization",
- "name" : "Cadena 3 Argentina",
- "url" : "http://www.cadena3.com",
- "logo" : "http://www.cadena3.com/imagenes/logo.png",
- "sameAs" : [
- "https://twitter.com/cadena3com",
- "https://www.facebook.com/Cadena3Argentina/",
- "https://www.instagram.com/cadena3com/?hl=es",
- "https://www.linkedin.com/company/cadena-3",
- "https://www.youtube.com/user/cadena3arg",
- "https://www.youtube.com/channel/UCc9VBcY4VONSmny55EAWMZQ"
- ]
-}
-</script>
-
-
-
-<script language="JavaScript" type="text/javascript"><!--
-var eplDoc = document; var eplLL = false;
-var eS1 = 'us.img.e-planning.net';var eplArgs = { iIF:1,sV:"http://ads.e-planning.net/",vV:"4",sI:"5289",sec:"Sectores",eIs:["Anuncio_Previo"] };
-function eplCheckStart() {
- if (document.epl) {
- var e = document.epl;
- if (e.eplReady()) {
- return true;
- } else {
- e.eplInit(eplArgs);
- if (eplArgs.custom) {
- for (var s in eplArgs.custom) {
- document.epl.setCustomAdShow(s, eplArgs.custom[s]);
- }
- }
- return e.eplReady();
- }
- } else {
- if (eplLL) return false;
- if (!document.body) return false; var eS2; var dc = document.cookie; var ci = dc.indexOf("EPLSERVER=");
- if (ci != -1) {
- ci += 10; var ce = dc.indexOf(';', ci);
- if (ce == -1) ce = dc.length;
- eS2 = dc.substring(ci, ce);
- }
-
- var eIF = document.createElement('IFRAME');
- eIF.src = 'about:blank'; eIF.id = 'epl4iframe'; eIF.name = 'epl4iframe';
- eIF.width=0; eIF.height=0; eIF.style.width='0px'; eIF.style.height='0px';
- eIF.style.display='none'; document.body.appendChild(eIF);
-
- var eIFD = eIF.contentDocument ? eIF.contentDocument : eIF.document;
- eIFD.open();eIFD.write('<html><head><title>e-planning</title></head><bo'+'dy></bo'+'dy></html>');eIFD.close();
- var s = eIFD.createElement('SCRIPT'); s.src = 'http://' + (eS2?eS2:eS1) +'/layers/epl-41.js';
- eIFD.body.appendChild(s);
- if (!eS2) {
- var ss = eIFD.createElement('SCRIPT');
- ss.src = 'http://ads.e-planning.net/egc/4/5280';
- eIFD.body.appendChild(ss);
- }
- eplLL = true;
- return false;
- }
-}
-eplCheckStart();
-function eplSetAdM(eID,custF) {
- if (eplCheckStart()) {
- if (custF) { document.epl.setCustomAdShow(eID,eplArgs.custom[eID]); }
- document.epl.showSpace(eID);
- } else {
- var efu = 'eplSetAdM("'+eID+'", '+ (custF?'true':'false') +');';
- setTimeout(efu, 250);
- }
-}
-
-function eplAD4M(eID,custF) {
- document.write('<div id="eplAdDiv'+eID+'"></div>');
- if (custF) {
- if (!eplArgs.custom) { eplArgs.custom = {}; }
- eplArgs.custom[eID] = custF;
- }
- eplSetAdM(eID, custF?true:false);
-}
-function eplSetAd(eID) {
- if (eplCheckStart()) {
- var opts = (eplArgs.sOpts && eplArgs.sOpts[eID]) ? eplArgs.sOpts[eID] : {};
- if (opts.custF) { document.epl.setCustomAdShow(eID,opts.custF); }
- document.epl.setSpace(eID, opts);
- } else {
- setTimeout('eplSetAd("'+eID+'");', 250);
- }
-}
-function eplAD4(eID, opts) {
- document.write('<div id="eplAdDiv'+eID+'"></div>');
- if (!opts) opts = {t:1};
- if (!eplArgs.sOpts) { eplArgs.sOpts = {}; }
- eplArgs.sOpts[eID] = opts;
- eplSetAd(eID);
-}
-//--></script>
-
- <div id="fb-root"></div>
- <script>
- window.fbAsyncInit = function() {
- FB.init({
- appId : '281903015191988',
- xfbml : true,
- version : 'v2.2'
- });
- };
-
- (function(d, s, id){
- var js, fjs = d.getElementsByTagName(s)[0];
- if (d.getElementById(id)) {return;}
- js = d.createElement(s); js.id = id;
- js.src = "//connect.facebook.net/es_LA/sdk.js";
- fjs.parentNode.insertBefore(js, fjs);
- }(document, 'script', 'facebook-jssdk'));
- </script>
-
-<script type="text/javascript">eplAD4M("Anuncio_Previo");</script>
-
-<!-- /416478284/Cadena-3/General/InRead -->
-<div id='div-gpt-ad-1467226916317-0' style='height:1px; width:1px;'>
-<script type='text/javascript'>
-googletag.cmd.push(function() { googletag.display('div-gpt-ad-1467226916317-0'); });
-</script>
-</div>
- <div id="contenedor-principal">
-<div class="cbp-af-header">
- <div class="cbp-af-inner">
- <header>
- <div id="header-top">
- <div class="floatleft">
- <div id="vivo-principal">
- <div class="floatleft">
- <div id="transmisiones-en-vivo">
- <div class="fade">
- </div>
- <div class="contenido-destacados">
- <div id="owl-transmisiones" class="owl-carousel-transmisiones">
-
- <a href="../../../../radio-en-vivo.asp?programacion=CADENA 3" target="_blank" title="En vivo">
- <div class="item">
- <div class="icono-play">
- <img src="../../../../cadena3-2016/img/play-transmision-vivo.png" alt="Reproducir" />
- </div>
- <div class="img" style="">
- <img src="../../../../admin/imagenes/sectorprograma/4fotoVIVO.png" alt="Mario Pereyra" alt="" />
- </div>
- <div class="txt" style="">
- <p class="texto-programa">Juntos</p>
- <p class="texto-conductor">Mario Pereyra</p>
- </div>
- <div class="sep">
- </div>
- </div>
- </a>
-
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="floatright">
- <div id="radios">
- <ul>
- <li><a href="../../../../fmcordoba.asp">FM Córdoba</a></li>
- <li><a href="../../../../radiopopular.asp">La Popu</a></li>
-
- <li class="horas24"><a class="desplegable" href="#">Últimas 24 horas</a>
- <ul id="horas24" class="texto10 sombra-bloques medidahoras24">
- <li><a href="javascript:popup24horas('00');">De 00:00 a 01:00</a></li>
- <li><a href="javascript:popup24horas('01');">De 01:00 a 02:00</a></li>
- <li><a href="javascript:popup24horas('02');">De 02:00 a 03:00</a></li>
- <li><a href="javascript:popup24horas('03');">De 03:00 a 04:00</a></li>
- <li><a href="javascript:popup24horas('04');">De 04:00 a 05:00</a></li>
- <li><a href="javascript:popup24horas('05');">De 05:00 a 06:00</a></li>
- <li><a href="javascript:popup24horas('06');">De 06:00 a 07:00</a></li>
- <li><a href="javascript:popup24horas('07');">De 07:00 a 08:00</a></li>
- <li><a href="javascript:popup24horas('08');">De 08:00 a 09:00</a></li>
- <li><a href="javascript:popup24horas('09');">De 09:00 a 10:00</a></li>
- <li><a href="javascript:popup24horas('10');">De 10:00 a 11:00</a></li>
- <li><a href="javascript:popup24horas('11');">De 11:00 a 12:00</a></li>
- <li><a href="javascript:popup24horas('12');">De 12:00 a 13:00</a></li>
- <li><a href="javascript:popup24horas('13');">De 13:00 a 14:00</a></li>
- <li><a href="javascript:popup24horas('14');">De 14:00 a 15:00</a></li>
- <li><a href="javascript:popup24horas('15');">De 15:00 a 16:00</a></li>
- <li><a href="javascript:popup24horas('16');">De 16:00 a 17:00</a></li>
- <li><a href="javascript:popup24horas('17');">De 17:00 a 18:00</a></li>
- <li><a href="javascript:popup24horas('18');">De 18:00 a 19:00</a></li>
- <li><a href="javascript:popup24horas('19');">De 19:00 a 20:00</a></li>
- <li><a href="javascript:popup24horas('20');">De 20:00 a 21:00</a></li>
- <li><a href="javascript:popup24horas('21');">De 21:00 a 22:00</a></li>
- <li><a href="javascript:popup24horas('22');">De 22:00 a 23:00</a></li>
- <li><a href="javascript:popup24horas('23');">De 23:00 a 24:00</a></li>
- </ul>
- </li>
-
- </ul>
- </div>
- </div>
- </div>
- </header>
- </div>
-</div>
-
-
- <div class="baner960x50">
- <!-- /416478284/Cadena-3/General/T1 -->
- <div id='div-gpt-ad-1460643366541-9'>
- <script type='text/javascript'>
- googletag.cmd.push(function() { googletag.display('div-gpt-ad-1460643366541-9'); });
- </script>
- </div>
- </div>
-
-
-<header>
- <div id="header-top">
- <div class="floatleft">
- <div id="vivo-principal">
- <div class="floatleft">
- <div id="transmisiones-en-vivo">
- <div class="fade">
- </div>
- <div class="contenido-destacados">
- <div id="owl-transmisiones2" class="owl-carousel-transmisiones">
-
- <a href="../../../../radio-en-vivo.asp?programacion=CADENA 3" target="_blank" title="En vivo">
- <div class="item">
- <div class="icono-play">
- <img src="../../../../cadena3-2016/img/play-transmision-vivo.png" alt="Reproducir" />
- </div>
- <div class="img" style="">
- <img src="../../../../admin/imagenes/sectorprograma/4fotoVIVO.png" alt="Mario Pereyra" alt="" />
- </div>
- <div class="txt" style="">
- <p class="texto-programa">Juntos</p>
- <p class="texto-conductor">Mario Pereyra</p>
- </div>
- <div class="sep">
- </div>
- </div>
- </a>
-
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="floatright">
- <div id="radios">
- <ul>
- <li><a target="_blank" href="http://www.fmcordoba.com/">FM Córdoba</a></li>
- <li><a href="../../../../radiopopular.asp">La Popu</a></li>
-
- <li class="horas24"><a class="desplegable" href="#">Últimas 24 horas</a>
- <ul id="horas24" class="texto10 sombra-bloques medidahoras24">
- <li><a href="javascript:popup24horas('00');">De 00:00 a 01:00</a></li>
- <li><a href="javascript:popup24horas('01');">De 01:00 a 02:00</a></li>
- <li><a href="javascript:popup24horas('02');">De 02:00 a 03:00</a></li>
- <li><a href="javascript:popup24horas('03');">De 03:00 a 04:00</a></li>
- <li><a href="javascript:popup24horas('04');">De 04:00 a 05:00</a></li>
- <li><a href="javascript:popup24horas('05');">De 05:00 a 06:00</a></li>
- <li><a href="javascript:popup24horas('06');">De 06:00 a 07:00</a></li>
- <li><a href="javascript:popup24horas('07');">De 07:00 a 08:00</a></li>
- <li><a href="javascript:popup24horas('08');">De 08:00 a 09:00</a></li>
- <li><a href="javascript:popup24horas('09');">De 09:00 a 10:00</a></li>
- <li><a href="javascript:popup24horas('10');">De 10:00 a 11:00</a></li>
- <li><a href="javascript:popup24horas('11');">De 11:00 a 12:00</a></li>
- <li><a href="javascript:popup24horas('12');">De 12:00 a 13:00</a></li>
- <li><a href="javascript:popup24horas('13');">De 13:00 a 14:00</a></li>
- <li><a href="javascript:popup24horas('14');">De 14:00 a 15:00</a></li>
- <li><a href="javascript:popup24horas('15');">De 15:00 a 16:00</a></li>
- <li><a href="javascript:popup24horas('16');">De 16:00 a 17:00</a></li>
- <li><a href="javascript:popup24horas('17');">De 17:00 a 18:00</a></li>
- <li><a href="javascript:popup24horas('18');">De 18:00 a 19:00</a></li>
- <li><a href="javascript:popup24horas('19');">De 19:00 a 20:00</a></li>
- <li><a href="javascript:popup24horas('20');">De 20:00 a 21:00</a></li>
- <li><a href="javascript:popup24horas('21');">De 21:00 a 22:00</a></li>
- <li><a href="javascript:popup24horas('22');">De 22:00 a 23:00</a></li>
- <li><a href="javascript:popup24horas('23');">De 23:00 a 24:00</a></li>
- </ul>
- </li>
-
- </ul>
- </div>
- </div>
- </div>
-
-
-
- <div id="logo">
- <a href="../../../../index.asp"><img src="../../../../imagenes/logo.png" title="Cadena 3 Argentina" alt="Cadena 3 Argentina" /></a>
- </div>
- <div id="widget-clima">
- <p>30.<span>may</span>.2017</p>
- </div>
-
- <nav>
- <ul>
- <li><a href="../../../../index.asp"><img src="../../../../imagenes/home.jpg" title="Inicio" alt="Inicio" /></a></li>
- <li><a class="desplegable" href="#">Noticias</a>
- <div class="submenu sombra-bloques">
- <ul>
- <li><p class="subtitle">Secciones</p></li>
- <li><a href="../../../../secciones.asp?comunidad=10">Política y Economía</a></li>
- <li><a href="../../../../secciones.asp?comunidad=6">Sociedad</a></li>
- <li><a href="../../../../secciones.asp?comunidad=15">Internacionales</a></li>
- <li><a href="../../../../secciones.asp?comunidad=9">Espectáculos</a></li>
- <li><a href="../../../../secciones.asp?comunidad=12">Deportes</a></li>
- <li><a href="../../../../secciones.asp?comunidad=11">Tecnología</a></li>
- </ul>
- <ul id="suscripciones-menu">
- <li><p class="subtitle">Suscribite gratis</p></li>
- <li>
- <div class="contenedor-general-hidden">
- <div class="floatleft">
- <a href="../../../../rss.asp" title="Rss"><img src="../../../../imagenes/rss.png" alt="rss"></a>
- </div>
- <div class="floatleft">
- <a href="../../../../podcast.asp" title="Podcast"><img src="../../../../imagenes/podcast.png" alt="Podcast"></a>
- </div>
- <div class="floatleft">
- <a href="../../../../registracion.asp" title="¡Anticipate! Recibí los Titulares de Cadena3.com en tu mail"><img src="../../../../imagenes/send.png" alt="Titulares por email"></a>
- </div>
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li><a class="desplegable" href="#">La radio</a>
- <div class="submenu sombra-bloques">
- <ul>
- <li><p class="subtitle">Programación</p></li>
- <li><a href="http://cadena3comercial.com.ar/cadena-3#programacion-cadena-3" target="_blank">Cadena 3</a></li>
- <li><a href="http://cadena3comercial.com.ar/fm-cordoba#programacion-fm-cordoba" target="_blank">FM Córdoba</a></li>
- <li><a href="http://cadena3comercial.com.ar/radio-popular#programacion-radio-popular" target="_blank">La Popu</a></li>
- </ul>
- <ul>
- <li><p class="subtitle">En vivo</p></li>
- <li><a target="_blank" href="../../../../radio-en-vivo.asp?programacion=CADENA%203">Cadena 3 Argentina</a></li>
- <li><a target="_blank" href="../../../../radio-en-vivo.asp?programacion=100.5%20FM%20CORDOBA">FM Córdoba</a></li>
- <li><a target="_blank" href="../../../../radio-en-vivo.asp?programacion=RADIO%20POPULAR%2092.3">La Popu</a></li>
- </ul>
- <ul>
- <li><p class="subtitle">Sitios</p></li>
- <li><a href="../../../../index.asp">Cadena 3 Argentina</a></li>
- <li><a target="_blank" href="http://www.fmcordoba.com/">FM Córdoba</a></li>
- <li><a href="../../../../radiopopular.asp">La Popu</a></li>
- </ul>
- <ul>
- <li><p class="subtitle">Más</p></li>
- <li><a href="http://cadena3comercial.com.ar/" target="_blank">Cadena 3 Comercial</a></li>
- <li><a href="javascript:contacto('contacto.asp');">Contacto</a></li>
- <li><a href="http://cadena3comercial.com.ar/emisoras-integradas/">Nuestras Emisoras</a></li>
- <li><a href="../../../../audios.asp">Audios</a></li>
- <li><a href="../../../../podcast.asp">Podcast</a></li>
- </ul>
- </div>
- </li>
- <li><a class="desplegable" href="#">Emisoras</a>
- <div id="emisoras" class="submenu sombra-bloques">
- <ul>
- <li><p class="subtitle">Emisoras Integrantes</p></li>
- <li><b>CORDOBA Capital y GRAN CORDOBA</b>
- <br><span>LV3 Radio Córdoba (AM 70) 106.9 FM "Radio 3"</span></li>
- <li><b>Ciudad de BUENOS AIRES</b>
- <br><span>99.1 FM Cadena 3 Buenos Aires</span></li>
- <li><b>Ciudad de RIO CUARTO</b>
- <br><span>90.7 FM Cadena 3 Río Cuarto&#8243;</span></li>
- <li><b>Ciudad de SAN JUAN</b>
- <br><span>88.5 FM Cadena 3 San Juan</span></li>
- <li><b>Ciudad de RIO GALLEGOS</b>
- <br><span>103.1 FM Cadena 3 Río Gallegos</span></li>
- <li><b>Ciudad de BARILOCHE</b>
- <br><span>99.3 FM Cadena 3 Bariloche</span></li>
- <li><b>Ciudad de MAR DEL PLATA</b>
- <br><span>96.1 FM Cadena 3 Mar del Plata</span></li>
- </ul>
- <ul>
- <li><b>Ciudad de VILLA DOLORES</b>
- <br><span>107.1 FM Cadena 3 Villa Dolores</span></li>
- <li><b>Ciudad de CATAMARCA</b>
- <br><span>101.9 FM Cadena 3 Catamarca</span></li>
- <li><b>Ciudad de VILLA MARIA</b>
- <br><span>104.5 FM Cadena 3 Villa María</span></li>
- <li><b>Ciudad de BELL VILLE</b>
- <br><span>102.9 FM Cadena 3 Bell Ville</span></li>
- <li><b>Ciudad de SAN FRANCISCO</b>
- <br><span>88.7 FM Cadena 3 San Francisco</span></li>
- <li><b>Ciudad de MARCOS JUAREZ</b>
- <br><span>105.9 FM Cadena 3 Marcos Juárez</span></li>
- <li><b>Ciudad de ARMSTRONG</b>
- <br><span>91.3 FM Cadena 3 Armstrong</span></li>
- <li><b>Ciudad de JESÚS MARÍA</b>
- <br><span>89.1 FM Cadena 3 Jesús María</span></li>
- </ul>
- <ul>
- <li><b>Ciudad de TUCUMAN</b>
- <br><span>107.5 FM Cadena 3 Tucumán</span></li>
- <li><b>Prov. de CORDOBA (interior)</b>
- <br><span>Centro y Sur Prov. SANTA FE
- LV3 Radio Córdoba (AM 70)</span></li>
- <li><b>Ciudad de MENDOZA</b>
- <br><span>105.1 FM Cadena 3 Mendoza</span></li>
- <li><b>Ciudad de SANTA FE</b>
- <br><span>101.7 FM Cadena 3 Santa Fe</span></li>
- <li><b>Ciudad de NEUQUEN</b>
- <br><span>100.1 FM Cadena 3 Neuquén</span></li>
- <li><b>Ciudad de USHUAIA</b>
- <br><span>106.1 FM Cadena 3 Ushuaia</span></li>
- <li><b>Ciudad de SAN LUIS</b>
- <br><span>102.3 FM Cadena 3 San Luis</span></li>
- <li><b>Ciudad de VILLA MERCEDES</b>
- <br><span>101.1 FM Cadena 3 Villa Mercedes</span></li>
- </ul>
- <ul>
- <li><b>Ciudad de LA RIOJA</b>
- <br><span>89.1 FM Cadena 3 La Rioja</span></li>
- <li><b>Ciudad de MINA CLAVERO</b>
- <br><span>106.5 FM Cadena 3 Mina Clavero</span></li>
- <li><b>Ciudad de RAFAELA</b>
- <br><span>98.3 FM Cadena 3 Rafaela</span></li>
- <li><b>Ciudad de VENADO TUERTO</b>
- <br><span>88.9 FM Cadena 3 Venado Tuerto</span></li>
- <li><b>Ciudad de SANTIAGO DEL ESTERO</b>
- <br><span>100.5 FM Cadena 3 Sgo. del Estero</span></li>
- <li><b>Ciudad de SAN RAFAEL</b>
- <br><span>92.5 FM Cadena 3 San Rafael</span></li>
- <li><b>Ciudad de SALTA</b>
- <br><span>104.1 Fm Cadena 3 Salta</span></li>
- <li><b>Ciudad de ROSARIO</b>
- <br><span>106.7 Fm Cadena 3 Rosario</span></li>
- <li><b>Ciudad de CAÑADA DE GOMEZ</b>
- <br><span>94.3 FM Cadena 3 Cañada de Gomez</span></li>
- </ul>
- </div>
- </li>
- <li><a class="desplegable" href="#">Clasificados</a>
- <div class="submenu sombra-bloques">
- <ul>
- <li><p class="subtitle">Usuarios</p></li>
- <li><a href="http://clasificados.cadena3.com/usuarios.asp" target="_blank">Registrate</a></li>
- <li><a href="http://clasificados.cadena3.com/mis-avisos.asp" target="_blank">Mis Avisos</a></li>
- <li><a href="http://clasificados.cadena3.com/publicar.asp" target="_blank">¡Publicá Gratis!</a></li>
- <li id="logo-clasificados"><a href="http://clasificados.cadena3.com/" target="_blank"><img src="../../../../imagenes/clasificados-logo.png" alt="Clasificados"></a></li>
- </ul>
- <ul>
- <li><p class="subtitle">Rubros</p></li>
- <li><a href="http://clasificados.cadena3.com/rubro.asp?categoria=Inmuebles" target="_blank">Inmuebles</a></li>
- <li><a href="http://clasificados.cadena3.com/rubro.asp?categoria=Veh%EDculos" target="_blank">Vehículos</a></li>
- <li><a href="http://clasificados.cadena3.com/rubro.asp?categoria=Empleos" target="_blank">Empleos</a></li>
- <li><a href="http://clasificados.cadena3.com/rubro.asp?categoria=Art%EDculos%20del%20Hogar" target="_blank">Hogar</a></li>
- <li><a href="http://clasificados.cadena3.com/rubro.asp?categoria=Turismo" target="_blank">Turismo</a></li>
- <li><a href="http://clasificados.cadena3.com/rubro.asp?categoria=Tecnolog%EDa" target="_blank">Tecnología</a></li>
- <li><a href="http://clasificados.cadena3.com/rubro.asp?categoria=Otros%20Rubros" target="_blank">Otros Rubros</a></li>
- </ul>
- <div id="buscador-menu">
- <ul>
- <li class="buscador-menu"><p class="subtitle">Buscador</p></li>
- <li class="buscador-menu"></li>
- </ul>
- <form target="_blank" name="frmFormHeader" method="post" action="http://clasificados.cadena3.com/avisos.asp">
- <div class="floatleft">
- <input name="texto" class="campo-buscar bordes-izq" type="text" placeholder="Ingresá tu consulta...">
- </div>
- <div class="floatleft">
- <input class="boton-buscar bordes-der" type="submit" value="Buscar">
- </div>
- </form>
- </div>
- </div>
- </li>
- <li><a class="desplegable" href="#">Servicios</a>
- <div class="submenu sombra-bloques">
- <ul>
- <li><a href="../../../../servicios/inicio.asp">Servicios en Cadena</a></li>
- <li><a href="../../../../secciones.asp?sector=132&categoria=212">Bases y Condiciones</a></li> <li><a href="../../../../contenido/2017/01/23/Asi-es-el-nuevo-calendario-de-feriados-en-la-Argentina-175453.asp">Calendario de Feriados 2017</a></li> <li><a href="../../../../secciones.asp?sector=42&categoria=139">Pedidos Judiciales</a></li> <li><a href="../../../../contenido/2013/09/24/Todas-las-domesticas-deben-estar-en-relacion-de-dependencia-119357.asp">Empleadas domésticas</a></li>
- </ul>
- <ul id="suscripciones-menu">
- <li><p class="subtitle">Especiales</p></li>
- <li>
- <div class="contenedor-general-hidden">
- <div class="floatleft">
- <a href="futbol.asp" title="Fútbol"><img src="../../../../imagenes/deportes.png" alt="Deportes"></a>
- </div>
- <div class="floatleft">
- <a href="cine.asp" title="Cine"><img src="../../../../imagenes/cine.png" alt="Cine"></a>
- </div>
- <div class="floatleft">
- <a href="teatro.asp" title="Teatro"><img src="../../../../imagenes/teatro.png" alt="Teatro"></a>
- </div>
- </div>
- </li>
- </ul>
- </div>
- </li>
- <li><a class="mayuscula desplegable" href="../../../../audios.asp">Audios</a>
- <div class="submenu submenu3 sombra-bloques">
- <ul>
- <li><a href="../../../../audios.asp">Todos los audios</a></li>
- <li><a href="../../../../audios.asp?texto=Último Boletín Informativo#Resultado">Último Boletín Informativo</a></li>
- <li><a href="../../../../audios.asp?texto=Desayuno de Juntos#Resultado">Desayuno de Juntos</a></li>
- <li><a href="../../../../audios.asp?texto=La Mesa de Café#Resultado">La Mesa de Café</a></li>
- <li><a href="../../../../audios.asp?texto=Entrevista&amp;#Resultado">Entrevistas</a></li>
- <li><a href="../../../../audios.asp?texto=Agro#Resultado">Agro</a></li>
- <li><a href="../../../../audios.asp?texto=Gol#Resultado">Todos los Goles</a></li>
- <li><a href="../../../../audios.asp?texto=Homilía Dominical&amp;#Resultado">Homilía Dominical</a></li>
- </ul>
- </div>
- </li>
- <li><a href="../../../../videos.asp">Videos</a></li>
- <li><a href="../../../../secciones.asp?sector=81">Opinión</a></li>
- </ul>
- <div id="redes">
- <div class="icono"><a href="../../../../clima.asp"><img src="../../../../imagenes/icono-clima.png" alt="Clima" title="Clima"></a></div>
- <div class="icono">
- <li class="horas24 margen-icono"><a href="#"><img src="../../../../imagenes/icono-hashtag.png" alt="HashTags" title="HashTags"></a>
- <ul id="horas24" class="texto10 sombra-bloques">
- <li><a href="../../../../buscador.asp?q=Cadena3TuClásico">#Cadena3TuClásico</a></li> <li><a href="../../../../buscador.asp?q=Cadena3Dakar">#Cadena3Dakar</a></li> <li><a href="../../../../buscador.asp?q=Cadena3Verano">#Cadena3Verano</a></li> <li><a href="../../../../buscador.asp?q=Cadena3Festivales">#Cadena3Festivales</a></li>
- </ul>
- </li>
- </div>
- <div class="icono"><a href="../../../../registracion.asp"><img src="../../../../imagenes/icono-usuario.png" alt="Iniciar sesión" title="Iniciar sesión"></a></div>
- <div class="icono"><a href="http://www.facebook.com/cadena3argentina" target="_blank"><img src="../../../../imagenes/icono-facebook-notas.png" alt="Facebook" title="Facebook"></a></div>
- <div class="icono"><a href="http://www.twitter.com/cadena3com" target="_blank"><img src="../../../../imagenes/icono-twitter-notas.png" alt="Twitter" title="Twitter"></a></div>
- <div class="icono">
- <li class="horas24 margen-icono"><a href="#"><img src="../../../../imagenes/icono-buscar.png" alt="Buscador" title="Buscador"></a>
- <ul id="horas24" class="texto10 sombra-bloques">
- <div class="contenedor-buscador">
- <form id="csesearchbox" name="csesearchbox" action="../../../../buscador.asp" method="post">
- <div class="">
- <div class="floatleft">
- <p class="texto5"><input type="radio" checked="" value="c3" id="radiobusqueda" name="radiobusqueda"> Cadena 3</p>
- </div>
- <div class="floatleft">
- <p class="texto5"><input type="radio" value="google" id="radiobusqueda" name="radiobusqueda"> Google</p>
- </div>
- </div>
- <input type="hidden" name="cx" value="partner-pub-0023303789007753:sk0wnro33sk">
- <input type="hidden" name="cof" value="FORID:10">
- <input type="hidden" name="ie" value="ISO-8859-1">
- <input class="bordes-izq input-buscar" name="q" size="6" placeholder="Ingrese su consulta...">
- <a class="boton-buscar bordes-der colorfff" href="javascript:doSubmitfrmFormBusqueda('search');">Buscar</a>
- </form>
- </div>
- </ul>
- </li>
- </div>
- </div>
- </nav>
- <div id="temas-del-dia">
- <ul>
- <li class="titulo-tema">Temas del día</li>
- <li><a href="../../../../buscador.asp?q=Incendio">Incendio</a></li> <li><a href="../../../../buscador.asp?q=ShowMatch">ShowMatch</a></li> <li><a href="../../../../buscador.asp?q=Ruggeri">Ruggeri</a></li> <li><a href="../../../../buscador.asp?q=Magalí Mora">Magalí Mora</a></li>
- </ul>
- </div>
-
-</header>
-
- <div id="contenido">
- <div class="baner960x50">
- <!-- /416478284/Cadena-3/General/T3 -->
- <div id='div-gpt-ad-1460643366541-10'>
- <script type='text/javascript'>
- googletag.cmd.push(function() { googletag.display('div-gpt-ad-1460643366541-10'); });
- </script>
- </div>
- </div>
- <div id="etiqueta-urgente"> </div> <div class="col630"> <div id="nota-ampliada"> <div class="titulo"> <p class="texto7 color-sociedad">Difusión de datos </p> <h1>Daniele, a Mestre: "En unos meses se va a borrar la sonrisa"</h1> </div> <div class="bajada "> <p><strong>30/05/2017 | 11:57 |</strong> El titular del Suoem le dijo al intendente que "va a pagar caro, esta infamia y canallada"–por la publiación de sueldos–. Los municipales realizaron una ruidosa protesta en el Palacio 6 de Julio</p> </div><a name="audios"></a>
- <div id="acciones-nota-ampliada">
-
- <div class="icono">
- <div class="floatleft">
- <a href="#comentarios"><img src="../../../../imagenes/icono-nota-comentar.png" title="Comentar" alt="Comentar" /></a>
- </div>
- <div class="floatright">
- <p><a href="#comentarios">Comentar</a></p>
- </div>
- </div>
-
- <div class="icono">
- <div class="floatleft">
- <a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp&t=Daniele, a Mestre: En unos meses se va a borrar la sonrisa"><img src="../../../../imagenes/icono-nota-fb.png" title="Compartir en Facebook" alt="Compartir en Facebook" /></a>
- </div>
- <div class="floatright">
- <p><a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp&t=Daniele, a Mestre: En unos meses se va a borrar la sonrisa">Facebook</a></p>
- </div>
- </div>
- <div class="icono">
- <div class="floatleft">
- <a target="_blank" href="http://twitter.com/share?url=http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp&text=Daniele, a Mestre: En unos meses se va a borrar la sonrisa&via=Cadena3com"><img src="../../../../imagenes/icono-nota-tw.png" title="Compartir en Twitter" alt="Compartir en Twitter" /></a>
- </div>
- <div class="floatright">
- <p><a target="_blank" href="http://twitter.com/share?url=http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp&text=Daniele, a Mestre: En unos meses se va a borrar la sonrisa&via=Cadena3com">Twitter</a></p>
- </div>
- </div>
- <div class="icono">
- <div class="floatleft">
- <a target="_blank" href="https://plus.google.com/share?url=http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp"><img src="../../../../imagenes/icono-nota-google.png" title="Compartir en Google+" alt="Compartir en Google+" /></a>
- </div>
- <div class="floatright">
- <p><a target="_blank" href="https://plus.google.com/share?url=http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp">Google+</a></p>
- </div>
- </div>
-
- <div class="icono">
- <div class="floatleft">
- <a href="javascript:popupavanzada('imprimir','post',184697,493,517,100,100)"><img src="../../../../imagenes/icono-nota-imprimir.png" title="Imprimir" alt="Imprimir" /></a>
- </div>
- <div class="floatright">
- <p><a href="javascript:popupavanzada('imprimir','post',184697,493,517,100,100)">Imprimir</a></p>
- </div>
- </div>
-
- </div> <div id="ca-container-nota-ampliada" class="ca-container"> <div class="ca-nav"> <span class="ca-nav-prev">Previous</span><span class="ca-nav-next">Next</span> </div> <div class="ca-wrapper"> <div class="ca-item ca-item-5"> <div class="imagen"> <div id="imagen-nota"><img src="../../../../admin/playerswf/fotos/ARCHI_366549.jpg" width="630"></div> </div> <div class="copete"><p>Daniele habló en la asamblea general del Suoem.</p></div> </div> <div class="ca-item ca-item-6"> <div class="imagen"> <div id="imagen-nota"><img src="../../../../admin/playerswf/fotos/ARCHI_366539.jpg" width="630"></div> </div> <div class="copete"><p>Caos vehicular en inmediaciones de la Municipalidad por la protesta.</p></div> </div> <div class="ca-item ca-item-7"> <div class="imagen"> <div id="imagen-nota"><img src="../../../../admin/playerswf/fotos/ARCHI_366548.jpg" width="630"></div> </div> <div class="copete"><p>Daniele habló en la asamblea general del Suoem.</p></div> </div> <div class="ca-item ca-item-8"> <div class="imagen"> <div id="imagen-nota"><div id="ampliar-imagen"><a title="Caos vehicular en inmediaciones de la Municipalidad por la protesta." alt="Ampliar Imagen" href="../../../../admin/playerswf/fotos/ARCHI_3665401200x771.jpg" rel="lightbox[IMAGE]"></a></div><img src="../../../../admin/playerswf/fotos/ARCHI_366540.jpg" width="630"></div> </div> <div class="copete"><p>Caos vehicular en inmediaciones de la Municipalidad por la protesta.</p></div> </div> </div> </div> <div class="multimedia">
-<script src="../../../../js/jwplayer-7.1.0/jwplayer.js" ></script>
-<script>jwplayer.key="EOnwcdQQP75ZvnGs50sEiH6+hqheJp9TACVGBw==";</script>
-<div id="divplayerarchivo" class="mayuscula texto10">
- <div id="mediaplayer"></div>
- <script type="text/javascript">
- var playerInstance = jwplayer("mediaplayer");
- playerInstance.setup({
- file: "http://www.cadena3.com/imagenes/seg.mp3",
- width: "100%",
- height: "40",
- skin: {
- name: "bekle"
- },
- advertising: {
- client: 'vast',
- //tag: 'http://ads.e-planning.net/eb/4/5289/Audio_en_Vivo/PreRoll_1?o=v&ma=1&vv=2'
- tag: 'https://pubads.g.doubleclick.net/gampad/ads?sz=400x300&iu=/416478284/Cadena-3/Radio-En-Vivo/PreRoll-Audios&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&url=http://www.cadena3.com&correlator=20170530124736'
- },
- events: {
- onAdTime: function (adEvent) {
- document.getElementsByClassName("jw-text-alt")[1].innerHTML="El Anuncio terminar� en "+ (Math.round(adEvent.duration)-Math.round(adEvent.position))+ " segundos";
- hasStarted=false;
- }
- }
- });
- </script>
- <div>
- <a class="colorfff" href="javascript:jwplayer().stop();HideAudio('divplayerarchivo');">Cerrar audio</a>
- </div>
- <div id="procesoajax">
- <!--DIV de prueba, borrar-->
- <div id="publicidad"></div>
- <!--DIV de prueba, borrar-->
- </div>
- <div>
- <a class="colorfff" href="javascript:HidePublicidad('divplayerarchivo');">Cerrar publicidad</a>
- </div>
-</div>
- <div class="slide-audios-sin-video"> <div id="Item_66184697_0" class="contenedor-general-hidden"> <div class="icono-multimedia"> <a href="javascript:loadFileplayerarchivo('../../../../admin/playerswf/audios/ARCHI_366565.mp3');llamarasincrono('http://www.cadena3.com/ajax_proceso.asp?tipo=contadoraudio&id=366565', 'procesoajax');"><span id="botonplay366565_0"><img class="play" src="http://www.cadena3.com/imagenes/play-principal.png" alt="Daniele cruzó en duros términos al intendente (Informe de Juan Pablo Viola)." title="Daniele cruzó en duros términos al intendente (Informe de Juan Pablo Viola)." /></span></a> </div> <div class="texto-audio"> <p>Daniele cruzó en duros términos al intendente (Informe de Juan Pablo Viola).</p> <div class="compartir-audio"> <p class="padding5top"><a class="compartir" href="../../../../audio.asp?id=366565&titulo=Daniele-cruzo-en-duros-terminos-al-intendente-Informe-de-Juan-Pablo-Viola">Compartir</a></p> </div> </div> </div> <div id="Item_66184697_1" class="contenedor-general-hidden" style="display:none;"> <div class="icono-multimedia"> <a href="javascript:loadFileplayerarchivo('../../../../admin/playerswf/audios/ARCHI_366485.mp3');llamarasincrono('http://www.cadena3.com/ajax_proceso.asp?tipo=contadoraudio&id=366485', 'procesoajax');"><span id="botonplay366485_1"><img class="play" src="http://www.cadena3.com/imagenes/play-principal.png" alt="La medida resiente la atención en la Municipalidad (Informe de Juan Pablo Viola)." title="La medida resiente la atención en la Municipalidad (Informe de Juan Pablo Viola)." /></span></a> </div> <div class="texto-audio"> <p>La medida resiente la atención en la Municipalidad (Informe de Juan Pablo Viola).</p> <div class="compartir-audio"> <p class="padding5top"><a class="compartir" href="../../../../audio.asp?id=366485&titulo=La-medida-resiente-la-atencion-en-la-Municipalidad-Informe-de-Juan-Pablo-Viola">Compartir</a></p> </div> </div> </div> <div class="contador-audios"> <div class="floatleft"> <a href="JavaScript:ChangeItemBloque(66184697,1,'anterior')"><img src="http://www.cadena3.com/imagenes/flecha-audio-anterior.gif" width="17" height="13" alt="flecha" /></a> </div> <div class="floatleft colorfff"> <span id="Count_Item_66184697">1</span> de 2 </div> <div class="floatleft"> <a href="JavaScript:ChangeItemBloque(66184697,1,'siguiente')"><img src="http://www.cadena3.com/imagenes/flecha-audio-siguiente.gif" width="17" height="13" alt="flecha" /></a> </div> </div> <script> if( typeof(bloquedin) == "undefined" ) {var bloquedin = new Object();} bloquedin[66184697]=0; </script> </div> </div> <div class="cuerpo"><p>Los municipales de la ciudad de Córdoba realizan este martes una ruidosa asamblea general en el Palacio 6 de Julio y todas las reparticiones como medida de presión en contra de la difusión de las lista de los empleados y los sueldos que perciben.<br>
-<br>
-"Esta infamia, esta canallada, este intento por pisotear nuestra dignidad este ataque a nuestra seguridad y la de nuestras familias le prometo que lo va a pagar caro; vamos a responder con toda la fuerza", disparó al hablar ante la multitud el titular del Suoem, Rubén Daniele.<br>
-<br>
-"En estos días señor intendente lo he visto suelto de cuerpo, diría que casi con una sonrisa burlona. Le prometo y lo juro acá: en unos meses se va a borrar la sonrisa y se va a cagar como se cagó otras veces, pidiendo que vayamos a solucionar los problemas de la ciudad", agregó.<br>
-<br>
-Si bien la medida de fuerza arrancó a las 11 en la explanada de la Municipalidad, la atención en el municipio, los CPC y otras dependencias se vio resentida durante toda la jornada.<br>
-<br>
-<blockquote class="twitter-tweet" data-lang="es"><p lang="und" dir="ltr"><a href="https://twitter.com/hashtag/Asamblea?src=hash">#Asamblea</a> <a href="https://twitter.com/hashtag/municipales?src=hash">#municipales</a> <a href="https://t.co/PgA1xekg5Q">pic.twitter.com/PgA1xekg5Q</a></p>— SUOEM CÓRDOBA (@suoemcordoba) <a href="https://twitter.com/suoemcordoba/status/869480306906103808">30 de mayo de 2017</a></blockquote><br>
-<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script><br>
-<br>
-Además, las asambleas afectan el normal funcionamiento en las escuelas municipales y jardines maternales.<br>
-<br>
-Ayer, Damián Bizzi, vocero del Sindicato Unión Obreros y Empleados Municipales (Suoem) manifestó a <b>Cadena 3</b> que las asambleas “son la única forma de hacernos escuchar”: “Lo esencial sería que no hubiéramos tenido este problema. No hay otra forma que las autoridades municipales nos escuchen". <br>
-<br>
-"Estamos en una situación de conflicto y ésta es la única forma de hacernos escuchar. Es una gestión que no escucha mucho”, dijo. </p> </div>
- <div id="acciones-nota-ampliada">
-
- <div class="icono">
- <div class="floatleft">
- <a href="#comentarios"><img src="../../../../imagenes/icono-nota-comentar.png" title="Comentar" alt="Comentar" /></a>
- </div>
- <div class="floatright">
- <p><a href="#comentarios">Comentar</a></p>
- </div>
- </div>
-
- <div class="icono">
- <div class="floatleft">
- <a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp&t=Daniele, a Mestre: En unos meses se va a borrar la sonrisa"><img src="../../../../imagenes/icono-nota-fb.png" title="Compartir en Facebook" alt="Compartir en Facebook" /></a>
- </div>
- <div class="floatright">
- <p><a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp&t=Daniele, a Mestre: En unos meses se va a borrar la sonrisa">Facebook</a></p>
- </div>
- </div>
- <div class="icono">
- <div class="floatleft">
- <a target="_blank" href="http://twitter.com/share?url=http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp&text=Daniele, a Mestre: En unos meses se va a borrar la sonrisa&via=Cadena3com"><img src="../../../../imagenes/icono-nota-tw.png" title="Compartir en Twitter" alt="Compartir en Twitter" /></a>
- </div>
- <div class="floatright">
- <p><a target="_blank" href="http://twitter.com/share?url=http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp&text=Daniele, a Mestre: En unos meses se va a borrar la sonrisa&via=Cadena3com">Twitter</a></p>
- </div>
- </div>
- <div class="icono">
- <div class="floatleft">
- <a target="_blank" href="https://plus.google.com/share?url=http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp"><img src="../../../../imagenes/icono-nota-google.png" title="Compartir en Google+" alt="Compartir en Google+" /></a>
- </div>
- <div class="floatright">
- <p><a target="_blank" href="https://plus.google.com/share?url=http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp">Google+</a></p>
- </div>
- </div>
-
- <div class="icono">
- <div class="floatleft">
- <a href="javascript:popupavanzada('imprimir','post',184697,493,517,100,100)"><img src="../../../../imagenes/icono-nota-imprimir.png" title="Imprimir" alt="Imprimir" /></a>
- </div>
- <div class="floatright">
- <p><a href="javascript:popupavanzada('imprimir','post',184697,493,517,100,100)">Imprimir</a></p>
- </div>
- </div>
-
- </div> <div class="padding15px"></div><div class="contenedor-general-hidden">
- <div class="baners-medio-nota-ampliada">
- <div class="baner300x250">
-
- <!-- /416478284/Cadena-3/General/B4 -->
- <div id='div-gpt-ad-1460643366541-5' style='height:250px; width:300px;'>
- <script type='text/javascript'>
- googletag.cmd.push(function() { googletag.display('div-gpt-ad-1460643366541-5'); });
- </script>
- </div>
- </div>
- <div class="baner300x250">
- <!-- /416478284/Cadena-3/General/B5 -->
- <div id='div-gpt-ad-1460643366541-6' style='height:250px; width:300px;'>
- <script type='text/javascript'>
- googletag.cmd.push(function() { googletag.display('div-gpt-ad-1460643366541-6'); });
- </script>
- </div>
- </div>
- </div>
- <div id="noticias-relacionadas"> <div class="titulo-bloque"> <p class="texto7 mayuscula"> Te puede interesar </p> </div> <div class="contenedor-general"> <div class="bloque-noticias-relacionadas"> <div class="floatleft"> <a href="http://www.cadena3.com/contenido/2017/05/30/Creen-que-el-incendio-en-la-planta-de-Crese-fue-intencional-184713.asp"><img tittle="La-medida-resiente-la-atencion-en-la-Municipalidad-Informe-de-Juan-Pablo-Viola" border="0" src="../../../../admin/playerswf/fotos/ARCHI_366525200x113.jpg"></a> </div> <div class="floatright"> <p><strong>30/05/2017 | 09:53</strong></p> <p><a class="color000" href="http://www.cadena3.com/contenido/2017/05/30/Creen-que-el-incendio-en-la-planta-de-Crese-fue-intencional-184713.asp">Creen que el incendio en la planta de Crese fue intencional</a></p> </div> </div> </div> <div class="contenedor-general"> <div class="bloque-noticias-relacionadas"> <div class="floatleft"> <a href="http://www.cadena3.com/contenido/2017/05/25/Como-son-los-servicios-en-Cordoba-por-el-25-de-Mayo-184338.asp"><img tittle="La-medida-resiente-la-atencion-en-la-Municipalidad-Informe-de-Juan-Pablo-Viola" border="0" src="../../../../admin/playerswf/fotos/ARCHI_365592200x113.jpg"></a> </div> <div class="floatright"> <p><strong>25/05/2017 | 06:10</strong></p> <p><a class="color000" href="http://www.cadena3.com/contenido/2017/05/25/Como-son-los-servicios-en-Cordoba-por-el-25-de-Mayo-184338.asp">Cómo son los servicios en Córdoba por el 25 de Mayo</a></p> </div> </div> </div> <div class="contenedor-general"> <div class="bloque-noticias-relacionadas"> <div class="floatleft"> <a href="http://www.cadena3.com/contenido/2017/05/26/Taxistas-rechazan-la-suba-del-24-en-la-tarifa-No-alcanza-184420.asp"><img tittle="La-medida-resiente-la-atencion-en-la-Municipalidad-Informe-de-Juan-Pablo-Viola" border="0" src="../../../../admin/playerswf/fotos/ARCHI_330908200x113.jpg"></a> </div> <div class="floatright"> <p><strong>26/05/2017 | 07:07</strong></p> <p><a class="color000" href="http://www.cadena3.com/contenido/2017/05/26/Taxistas-rechazan-la-suba-del-24-en-la-tarifa-No-alcanza-184420.asp">Taxistas rechazan la suba del 24% en la tarifa: "No alcanza"</a></p> </div> </div> </div> </div>
- <a name="comentarios"></a>
- <div id="comentarios-fb">
- <div class="contenedor-general-hidden">
- <div class="floatleft">
- <p class="texto9">Comentá</p>
- </div>
- <div class="floatright">
- <p class="texto8 color000"><fb:comments-count href="http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp"></fb:comments-count> comentarios</p>
- </div>
- </div>
- <div class="fb-comments" data-href="http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp" data-width="610" data-numposts="5" data-colorscheme="light">
- </div>
- </div>
- </div>
- </div> </div> <div class="col300-nomargen">
-
-<div class="ads-wrap">
- <div class="ads300-50">
- <!-- /416478284/Cadena-3/General/A3 -->
- <div id='div-gpt-ad-1473345042979-0' style='height:600px; width:300px;'>
- <script>
- googletag.cmd.push(function() { googletag.display('div-gpt-ad-1473345042979-0'); });
- </script>
- </div>
- </div>
-</div>
-
-<div class="bloque300x295">
- <div class="baner300x250">
- <!-- /416478284/Cadena-3/General/B1 -->
- <div id='div-gpt-ad-1460643366541-2' style='height:250px; width:300px;'>
- <script type='text/javascript'>
- googletag.cmd.push(function() { googletag.display('div-gpt-ad-1460643366541-2'); });
- </script>
- </div>
- </div>
-</div>
-
-<div class="bloque300x295">
- <div class="baner300x250">
- <!-- /416478284/Cadena-3/General/B2 -->
- <div id='div-gpt-ad-1460643366541-3' style='height:250px; width:300px;'>
- <script type='text/javascript'>
- googletag.cmd.push(function() { googletag.display('div-gpt-ad-1460643366541-3'); });
- </script>
- </div>
- </div>
-</div>
-
-<div class="bloque300x295">
- <div class="baner300x250">
- <!-- /416478284/Cadena-3/General/B3 -->
- <div id='div-gpt-ad-1460643366541-4' style='height:250px; width:300px;'>
- <script type='text/javascript'>
- googletag.cmd.push(function() { googletag.display('div-gpt-ad-1460643366541-4'); });
- </script>
- </div>
- </div>
-</div>
-
- </div> </div>
- <div id="lo-mas-visto-secciones">
- <div class="titulo-bloque">
- <p class="texto9 mayuscula">Lo más visto</p>
- </div>
- <div id="contenido">
- <div class="contenedor-general">
- <div class="col630"> <div class="bloque300x295 nota-secundaria"> <div class="categoria-y-redes"> <div class="categoria-nota"> <p class="texto8">Sociedad</p> </div> </div> <div class="compartir-redes"> <a href="#" title="Compartir en Facebook"><img src="../../../../imagenes/icono-facebook-notas.png" alt="Compartir en Facebook" /></a><a href="#" title="Compartir en Twitter"><img src="../../../../imagenes/icono-twitter-notas.png" alt="Compartir en Twitter" /></a> </div> <div class="multimedia-reposo"> <div class="icono-multimedia"><img src="../../../../imagenes/play-secundario.png"/></div> </div> <div class="imagen-nota view view-first"> <img src="http://www.cadena3.com/admin/playerswf/fotos/ARCHI_366155400x285.jpg" alt="El edificio del empresario está sobre Santa Fe, frente a la Policía." title="El edificio del empresario está sobre Santa Fe, frente a la Policía." width="300"/> <div class="mask"> <a href="../../../../contenido/2017/05/29/Investigan-a-familiares-del-empresario-por-millonario-robo-184562.asp"><p><strong>10:25 |</strong> Habría sido víctima de una delación. Le llevaron US$ 500 mil y elementos de valor en su casa frente a la jefatura de Policía de Córdoba. Osvaldo Elías Absi contó a <i>Cadena 3</i> detalles del hecho. </p></a> <div class="multimedia"> <div class="slide-audios-sin-video"> <div id="Item_6184562_0" class="contenedor-general-hidden"> <div class="icono-multimedia"> <p> <a href="../../../../contenido/2017/05/29/Investigan-a-familiares-del-empresario-por-millonario-robo-184562.asp?audio=366343#audios"><span id="botonplay366343_0"><img class="play" src="../../../../imagenes/play-secundario.png" alt="Sospechan que el círculo íntimo instigó el robo (Informe de Carlos Castro Torres)" title="Sospechan que el círculo íntimo instigó el robo (Informe de Carlos Castro Torres)" /></span></a> </p> </div> <div class="texto-audio-sin-video"> <p>Sospechan que el círculo íntimo instigó el robo (Informe de Carlos Castro Torres)</p> <div class="compartir-audio"> <p class="margin2top"><a class="compartir" href="http://www.cadena3.com/audio.asp?id=366343&titulo=Sospechan-que-el-circulo-intimo-instigo-el-robo-Informe-de-Carlos-Castro-Torres">Compartir</a></p> </div> </div> </div> <div id="Item_6184562_1" class="contenedor-general-hidden" style="display:none;"> <div class="icono-multimedia"> <p> <a href="../../../../contenido/2017/05/29/Investigan-a-familiares-del-empresario-por-millonario-robo-184562.asp?audio=366164#audios"><span id="botonplay366164_1"><img class="play" src="../../../../imagenes/play-secundario.png" alt="El empresario dijo que le pegaron por todos lados (Informe de Carlos Castro Torres)." title="El empresario dijo que le pegaron por todos lados (Informe de Carlos Castro Torres)." /></span></a> </p> </div> <div class="texto-audio-sin-video"> <p>El empresario dijo que le pegaron por todos lados (Informe de Carlos Castro Torres).</p> <div class="compartir-audio"> <p class="margin2top"><a class="compartir" href="http://www.cadena3.com/audio.asp?id=366164&titulo=El-empresario-dijo-que-le-pegaron-por-todos-lados-Informe-de-Carlos-Castro-Torres">Compartir</a></p> </div> </div> </div> <div class="contador-audios-sin-video"> <div class="floatleft"> <a href="JavaScript:ChangeItemBloque(6184562,1,'anterior')"><img src="../../../../imagenes/flecha-audio-anterior.gif" width="17" height="13" alt="flecha" /></a> </div> <div class="floatleft colorfff"> <span id="Count_Item_6184562">1</span> de 2 </div> <div class="floatleft"> <a href="JavaScript:ChangeItemBloque(6184562,1,'siguiente')"><img src="../../../../imagenes/flecha-audio-siguiente.gif" width="17" height="13" alt="flecha" /></a> </div> </div> <script> if( typeof(bloquedin) == "undefined" ) {var bloquedin = new Object();} bloquedin[6184562]=0; </script> </div> </div></div> </div> <div class="titulo-nota"> <a href="../../../../contenido/2017/05/29/Investigan-a-familiares-del-empresario-por-millonario-robo-184562.asp"><h2>Investigan a familiares del empresario por millonario robo</h2></a> </div> </div> <div class="bloque300x295 nota-secundaria"> <div class="categoria-y-redes"> <div class="categoria-nota"> <p class="texto8">Sociedad</p> </div> </div> <div class="compartir-redes"> <a href="#" title="Compartir en Facebook"><img src="../../../../imagenes/icono-facebook-notas.png" alt="Compartir en Facebook" /></a><a href="#" title="Compartir en Twitter"><img src="../../../../imagenes/icono-twitter-notas.png" alt="Compartir en Twitter" /></a> </div> <div class="multimedia-reposo"> <div class="icono-multimedia"><img src="../../../../imagenes/play-secundario-video.png"/></div> </div> <div class="imagen-nota view view-first"> <img src="http://www.cadena3.com/admin/playerswf/fotos/ARCHI_366153400x285.jpg" alt="El bombero es sorprendido de atrás por los ladrones." title="El bombero es sorprendido de atrás por los ladrones." width="300"/> <div class="mask"> <a href="../../../../contenido/2017/05/29/Balearon-a-bombero-y-se-salvo-al-pegar-la-bala-en-el-celular-184561.asp"><p><strong>06:50 |</strong> Había bajado de su moto para comprar un alfajor en un kiosco de Villa Lugano cuando delincuentes los sorprendieron. Recibió seis tiros. <b>Las imágenes pueden herir la sensibilidad del lector</b>.</p></a> <div class="multimedia"> <div class="icono-multimedia"><a href="../../../../contenido/2017/05/29/Balearon-a-bombero-y-se-salvo-al-pegar-la-bala-en-el-celular-184561.asp"><img src="../../../../imagenes/play-secundario-video.png" title="Ataque a balazos a bombero de Policía Federal en Villa Lugano." alt="Ataque a balazos a bombero de Policía Federal en Villa Lugano."/></a></div> </div></div> </div> <div class="titulo-nota"> <a href="../../../../contenido/2017/05/29/Balearon-a-bombero-y-se-salvo-al-pegar-la-bala-en-el-celular-184561.asp"><h2>Balearon a bombero y se salvó al pegar la bala en el celular</h2></a> </div> </div> <div class="bloque300x295 nota-secundaria"> <div class="categoria-y-redes"> <div class="categoria-nota"> <p class="texto8">Sociedad</p> </div> </div> <div class="compartir-redes"> <a href="#" title="Compartir en Facebook"><img src="../../../../imagenes/icono-facebook-notas.png" alt="Compartir en Facebook" /></a><a href="#" title="Compartir en Twitter"><img src="../../../../imagenes/icono-twitter-notas.png" alt="Compartir en Twitter" /></a> </div> <div class="multimedia-reposo"> </div> <div class="imagen-nota view view-first"> <img src="http://www.cadena3.com/admin/playerswf/fotos/ARCHI_366380400x285.jpg" alt="The Emerald Plunge es una de las principales atracciones en el parque." title="The Emerald Plunge es una de las principales atracciones en el parque." width="300"/> <div class="mask"> <a href="../../../../contenido/2017/05/29/Salio-disparado-en-un-tobogan-acuatico-recien-inaugurado-184651.asp"><p><strong>13:17 |</strong> Fue en el parque The Wave, en Dublin, California, apenas una hora y media después de que fuera inaugurado. El menor apenas sufrió unos raspones en su espalda. <b>Mirá el impactante momento.</b></p></a> <div class="multimedia"> </div></div> </div> <div class="titulo-nota"> <a href="../../../../contenido/2017/05/29/Salio-disparado-en-un-tobogan-acuatico-recien-inaugurado-184651.asp"><h2>Salió disparado en un tobogán acuático recién inaugurado</h2></a> </div> </div> <div class="bloque300x295 nota-secundaria"> <div class="categoria-y-redes"> <div class="categoria-nota"> <p class="texto8">Sociedad</p> </div> </div> <div class="compartir-redes"> <a href="#" title="Compartir en Facebook"><img src="../../../../imagenes/icono-facebook-notas.png" alt="Compartir en Facebook" /></a><a href="#" title="Compartir en Twitter"><img src="../../../../imagenes/icono-twitter-notas.png" alt="Compartir en Twitter" /></a> </div> <div class="multimedia-reposo"> <div class="icono-multimedia"><img src="../../../../imagenes/play-secundario.png"/></div> </div> <div class="imagen-nota view view-first"> <img src="http://www.cadena3.com/admin/playerswf/fotos/ARCHI_366451400x285.jpg" alt="Familiares de Sapito y Balbo se enfrentaron en Tribunales (Foto: @roxicanal12)" title="Familiares de Sapito y Balbo se enfrentaron en Tribunales (Foto: @roxicanal12)" width="300"/> <div class="mask"> <a href="../../../../contenido/2017/05/30/Video-asi-fue-la-pelea-entre-familiares-de-Balbo-y-Sapito-184682.asp"><p><strong>10:01 |</strong> Los incidentes se produjeron a la salida de la audiencia en la Cámara 4ª del Crimen. El abogado de "Sapito", Carlos Hairabedian, dijo a <b>Cadena 3</b> que fue un "ataque brutal".</p></a> <div class="multimedia"> <div class="slide-audios-sin-video"> <div id="Item_6184682_0" class="contenedor-general-hidden"> <div class="icono-multimedia"> <p> <a href="../../../../contenido/2017/05/30/Video-asi-fue-la-pelea-entre-familiares-de-Balbo-y-Sapito-184682.asp?audio=366521#audios"><span id="botonplay366521_0"><img class="play" src="../../../../imagenes/play-secundario.png" alt="Fuerte crítica a la Justicia de Córdoba de Mario Pereyra." title="Fuerte crítica a la Justicia de Córdoba de Mario Pereyra." /></span></a> </p> </div> <div class="texto-audio-sin-video"> <p>Fuerte crítica a la Justicia de Córdoba de Mario Pereyra.</p> <div class="compartir-audio"> <p class="margin2top"><a class="compartir" href="http://www.cadena3.com/audio.asp?id=366521&titulo=Fuerte-critica-a-la-Justicia-de-Cordoba-de-Mario-Pereyra">Compartir</a></p> </div> </div> </div> <div id="Item_6184682_1" class="contenedor-general-hidden" style="display:none;"> <div class="icono-multimedia"> <p> <a href="../../../../contenido/2017/05/30/Video-asi-fue-la-pelea-entre-familiares-de-Balbo-y-Sapito-184682.asp?audio=366538#audios"><span id="botonplay366538_1"><img class="play" src="../../../../imagenes/play-secundario.png" alt="El juez pidió reforzar la seguridad para la próxima audiencia (Informe de F.Centeno)" title="El juez pidió reforzar la seguridad para la próxima audiencia (Informe de F.Centeno)" /></span></a> </p> </div> <div class="texto-audio-sin-video"> <p>El juez pidió reforzar la seguridad para la próxima audiencia (Informe de F.Centeno)</p> <div class="compartir-audio"> <p class="margin2top"><a class="compartir" href="http://www.cadena3.com/audio.asp?id=366538&titulo=El-juez-pidio-reforzar-la-seguridad-para-la-proxima-audiencia-Informe-de-FCenteno">Compartir</a></p> </div> </div> </div> <div id="Item_6184682_2" class="contenedor-general-hidden" style="display:none;"> <div class="icono-multimedia"> <p> <a href="../../../../contenido/2017/05/30/Video-asi-fue-la-pelea-entre-familiares-de-Balbo-y-Sapito-184682.asp?audio=366453#audios"><span id="botonplay366453_2"><img class="play" src="../../../../imagenes/play-secundario.png" alt=""La situación fue tan violenta como injusta", dijo Hairabedian (Federico Albarenque)" title=""La situación fue tan violenta como injusta", dijo Hairabedian (Federico Albarenque)" /></span></a> </p> </div> <div class="texto-audio-sin-video"> <p>"La situación fue tan violenta como injusta", dijo Hairabedian (Federico Albarenque)</p> <div class="compartir-audio"> <p class="margin2top"><a class="compartir" href="http://www.cadena3.com/audio.asp?id=366453&titulo=La-situacion-fue-tan-violenta-como-injusta-dijo-Hairabedian-Federico-Albarenque">Compartir</a></p> </div> </div> </div> <div class="contador-audios-sin-video"> <div class="floatleft"> <a href="JavaScript:ChangeItemBloque(6184682,2,'anterior')"><img src="../../../../imagenes/flecha-audio-anterior.gif" width="17" height="13" alt="flecha" /></a> </div> <div class="floatleft colorfff"> <span id="Count_Item_6184682">1</span> de 3 </div> <div class="floatleft"> <a href="JavaScript:ChangeItemBloque(6184682,2,'siguiente')"><img src="../../../../imagenes/flecha-audio-siguiente.gif" width="17" height="13" alt="flecha" /></a> </div> </div> <script> if( typeof(bloquedin) == "undefined" ) {var bloquedin = new Object();} bloquedin[6184682]=0; </script> </div> </div></div> </div> <div class="titulo-nota"> <a href="../../../../contenido/2017/05/30/Video-asi-fue-la-pelea-entre-familiares-de-Balbo-y-Sapito-184682.asp"><h2>Video: así fue la pelea entre familiares de Balbo y "Sapito"</h2></a> </div> </div> </div> <div class="col300-nomargen"> <div class="bloque300x295 nota-secundaria"> <div class="categoria-y-redes"> <div class="categoria-nota"> <p class="texto8">Sociedad</p> </div> </div> <div class="compartir-redes"> <a href="#" title="Compartir en Facebook"><img src="../../../../imagenes/icono-facebook-notas.png" alt="Compartir en Facebook" /></a><a href="#" title="Compartir en Twitter"><img src="../../../../imagenes/icono-twitter-notas.png" alt="Compartir en Twitter" /></a> </div> <div class="multimedia-reposo"> </div> <div class="imagen-nota view view-first"> <img src="http://www.cadena3.com/admin/playerswf/fotos/ARCHI_366240400x285.jpg" alt="Macri volvió encantado con el trabajo en equipo en escuelas japonesas." title="Macri volvió encantado con el trabajo en equipo en escuelas japonesas." width="300"/> <div class="mask"> <a href="../../../../contenido/2017/05/29/Macri-mostro-como-trabajan-los-ninos-en-escuelas-de-Japon-184601.asp"><p><strong>12:15 |</strong> Tras su recorrida por Asia, el Presidente mostró en su cuenta de Facebook un video donde se observa a pequeños alumnos realizando tareas de limpieza. <b>Entrá y mirá</b></p></a> <div class="multimedia"> </div></div> </div> <div class="titulo-nota"> <a href="../../../../contenido/2017/05/29/Macri-mostro-como-trabajan-los-ninos-en-escuelas-de-Japon-184601.asp"><h2>Macri mostró cómo trabajan los niños en escuelas de Japón</h2></a> </div> </div> <div class="bloque300x295 nota-secundaria"> <div class="categoria-y-redes"> <div class="categoria-nota"> <p class="texto8">Sociedad</p> </div> </div> <div class="compartir-redes"> <a href="#" title="Compartir en Facebook"><img src="../../../../imagenes/icono-facebook-notas.png" alt="Compartir en Facebook" /></a><a href="#" title="Compartir en Twitter"><img src="../../../../imagenes/icono-twitter-notas.png" alt="Compartir en Twitter" /></a> </div> <div class="multimedia-reposo"> </div> <div class="imagen-nota view view-first"> <img src="http://www.cadena3.com/admin/playerswf/fotos/ARCHI_366484400x285.jpg" alt="El padre Gabriel canta y baila." title="El padre Gabriel canta y baila." width="300"/> <div class="mask"> <a href="../../../../contenido/2017/05/30/El-boom-Despacito-un-cura-canta-y-baila-en-plena-misa-184698.asp"><p><strong>07:53 |</strong> En una parroquia en San Francisco, el padre Gabriel reversiona en cada celebración el hit de Luis Fonsi y además lo acompaña con una coreo. <b>Mirá el video</b>.
-</p></a> <div class="multimedia"> </div></div> </div> <div class="titulo-nota"> <a href="../../../../contenido/2017/05/30/El-boom-Despacito-un-cura-canta-y-baila-en-plena-misa-184698.asp"><h2>El boom "Despacito": un cura canta y baila en plena misa</h2></a> </div> </div> </div>
- </div>
- </div>
- </div>
-
- <div class="baner960x250">
- <!-- /416478284/Cadena-3/General/A2 -->
- <div id='div-gpt-ad-1460643366541-1'>
- <script type='text/javascript'>
- googletag.cmd.push(function() { googletag.display('div-gpt-ad-1460643366541-1'); });
- </script>
- </div>
-
- </div>
-
- <div id="en-tapa">
- <div class="titulo-bloque">
- <p class="texto9 mayuscula">Ahora</p>
- </div>
- <div id="contenido">
- <div class="col630">
- <div class="bloque630x620" id="nota-principal"> <div class="categoria-y-redes"> <div class="categoria-nota "> <p class="texto8 color-sociedad"><a class="color-sociedad" href="buscador.asp?q=Difusión de datos">Difusión de datos</a></p> </div> <div class="compartir-redes"> <a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp&t=Daniele, a Mestre: &quot;En unos meses se va a borrar la sonrisa&quot;"><img src="../../../../imagenes/icono-facebook-notas.png" alt="Compartir en Facebook" title="Compartir en Facebook"/></a><a target="_blank" href="http://twitter.com/share?url=http://www.cadena3.com/contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp&text=Daniele, a Mestre: &quot;En unos meses se va a borrar la sonrisa&quot;"><img src="../../../../imagenes/icono-twitter-notas.png" title="Compartir en Twitter" alt="Compartir en Twitter" /></a> </div></div> <div class="imagen-nota"> <a href="../../../../contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp"><img src="../../../../admin/playerswf/fotos/ARCHI_366549.jpg" alt="Daniele habló en la asamblea general del Suoem." title="Daniele habló en la asamblea general del Suoem." width="630" height="400"/></a> <div class="multimedia"> <div class="slide-audios"> <div id="Item_6184697_0" class="contenedor-general-hidden"> <div class="icono-multimedia"> <a href="../../../../contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp?audio=366565#audios"><span id="botonplay366565_0"><img class="play" src="../../../../imagenes/play-secundario.png" alt="Daniele cruzó en duros términos al intendente (Informe de Juan Pablo Viola)." title="Daniele cruzó en duros términos al intendente (Informe de Juan Pablo Viola)." /></span></a> </div> <div class="texto-audio"> <p>Daniele cruzó en duros términos al intendente (Informe de Juan Pablo Viola).</p> <div class="compartir-audio"> <p class="padding5top"><a class="compartir" href="../../../../audio.asp?id=366565&titulo=Daniele-cruzo-en-duros-terminos-al-intendente-Informe-de-Juan-Pablo-Viola">Compartir</a></p> </div> </div> </div> <div id="Item_6184697_1" class="contenedor-general-hidden" style="display:none;"> <div class="icono-multimedia"> <a href="../../../../contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp?audio=366485#audios"><span id="botonplay366485_1"><img class="play" src="../../../../imagenes/play-secundario.png" alt="La medida resiente la atención en la Municipalidad (Informe de Juan Pablo Viola)." title="La medida resiente la atención en la Municipalidad (Informe de Juan Pablo Viola)." /></span></a> </div> <div class="texto-audio"> <p>La medida resiente la atención en la Municipalidad (Informe de Juan Pablo Viola).</p> <div class="compartir-audio"> <p class="padding5top"><a class="compartir" href="../../../../audio.asp?id=366485&titulo=La-medida-resiente-la-atencion-en-la-Municipalidad-Informe-de-Juan-Pablo-Viola">Compartir</a></p> </div> </div> </div> <div class="contador-audios"> <div class="floatleft"> <a href="JavaScript:ChangeItemBloque(6184697,1,'anterior')"><img src="../../../../imagenes/flecha-audio-anterior.gif" width="17" height="13" alt="flecha" /></a> </div> <div class="floatleft colorfff"> <span id="Count_Item_6184697">1</span> de 2 </div> <div class="floatleft"> <a href="JavaScript:ChangeItemBloque(6184697,1,'siguiente')"><img src="../../../../imagenes/flecha-audio-siguiente.gif" width="17" height="13" alt="flecha" /></a> </div> </div> <script> if( typeof(bloquedin) == "undefined" ) {var bloquedin = new Object();} bloquedin[6184697]=0; </script> </div> </div> </div> <div class="titulo-nota"> <h2><a href="../../../../contenido/2017/05/30/Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa-184697.asp">Daniele, a Mestre: "En unos meses se va a borrar la sonrisa"</a></h2> </div> <div class="bajada"> <p><strong>11:57 |</strong> El titular del Suoem le dijo al intendente que "va a pagar caro, esta infamia y canallada"–por la publiación de sueldos–. Los municipales realizaron una ruidosa protesta en el Palacio 6 de Julio</p> </div> </div>
- </div>
- <div class="col300-nomargen">
- <div class="bloque300x295 nota-secundaria"> <div class="categoria-y-redes"> <div class="categoria-nota "> <p class="texto8 color-politica"><a class="color-politica" href="buscador.asp?q=Causa Hotesur">Causa Hotesur</a></p> </div> </div> <div class="compartir-redes"> <a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http://www.cadena3.com/contenido/2017/05/30/Piden-indagatoria-de-Cristina--sus-hijos-y-Baez-por-lavado-184723.asp&t=Piden indagatoria de Cristina, sus hijos y B&#225;ez por lavado"><img src="../../../../imagenes/icono-facebook-notas.png" alt="Compartir en Facebook" title="Compartir en Facebook"/></a><a target="_blank" href="http://twitter.com/share?url=http://www.cadena3.com/contenido/2017/05/30/Piden-indagatoria-de-Cristina--sus-hijos-y-Baez-por-lavado-184723.asp&text=Piden indagatoria de Cristina, sus hijos y B&#225;ez por lavado"><img src="../../../../imagenes/icono-twitter-notas.png" title="Compartir en Twitter" alt="Compartir en Twitter" /></a> </div> <div class="multimedia-reposo"> </div> <div class="imagen-nota view view-first"> <img src="../../../../admin/playerswf/fotos/ARCHI_362059400x285.jpg" alt="Cristina en Comodoro Py." title="Cristina en Comodoro Py."/> <div class="mask"> <a href="../../../../contenido/2017/05/30/Piden-indagatoria-de-Cristina--sus-hijos-y-Baez-por-lavado-184723.asp"><p><strong>11:01 |</strong> Lo solicitan los fiscales Pollicita y Mahiques ante el juez Ercolini. En esta causa aún no hay detenidos. Es el primer perido que recae sobre la ex jefa de Estado en esta denuncia.</p></a> <div class="multimedia"> </div></div> </div> <div class="titulo-nota "> <h2><a href="../../../../contenido/2017/05/30/Piden-indagatoria-de-Cristina--sus-hijos-y-Baez-por-lavado-184723.asp">Piden indagatoria de Cristina, sus hijos y Báez por lavado</a></h2> </div> </div> <div class="bloque300x295 nota-secundaria"> <div class="categoria-y-redes"> <div class="categoria-nota "> <p class="texto8 color-sociedad"><a class="color-sociedad" href="buscador.asp?q=Conmoción en Rosario">Conmoción en Rosario</a></p> </div> </div> <div class="compartir-redes"> <a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=http://www.cadena3.com/contenido/2017/05/30/Aberrante-violo-a-su-madre-delante-de-su-hermano-menor-184714.asp&t=Aberrante: viol&#243; a su madre delante de su hermano menor"><img src="../../../../imagenes/icono-facebook-notas.png" alt="Compartir en Facebook" title="Compartir en Facebook"/></a><a target="_blank" href="http://twitter.com/share?url=http://www.cadena3.com/contenido/2017/05/30/Aberrante-violo-a-su-madre-delante-de-su-hermano-menor-184714.asp&text=Aberrante: viol&#243; a su madre delante de su hermano menor"><img src="../../../../imagenes/icono-twitter-notas.png" title="Compartir en Twitter" alt="Compartir en Twitter" /></a> </div> <div class="multimedia-reposo"> <div class="icono-multimedia"><img src="../../../../imagenes/play-secundario.png"/></div> </div> <div class="imagen-nota view view-first"> <img src="../../../../admin/playerswf/fotos/ARCHI_336880400x285.jpg" alt="La mujer denunció a su hijo y ahora está preso (Foto ilustrativa)" title="La mujer denunció a su hijo y ahora está preso (Foto ilustrativa)"/> <div class="mask"> <a href="../../../../contenido/2017/05/30/Aberrante-violo-a-su-madre-delante-de-su-hermano-menor-184714.asp"><p><strong>09:54 |</strong> El hecho habría ocurrido en la ciudad de Rosario. La mujer denunció que la violó en su vivienda, en presencia de otro de sus hijos. El hombre está detenido.</p></a> <div class="multimedia"> <div class="slide-audios-sin-video"> <div id="Item_6184714_0" class="contenedor-general-hidden"> <div class="icono-multimedia"> <p> <a href="../../../../contenido/2017/05/30/Aberrante-violo-a-su-madre-delante-de-su-hermano-menor-184714.asp?audio=366528#audios"><span id="botonplay366528_0"><img class="play" src="../../../../imagenes/play-secundario.png" alt="Detuvieron a un joven acusado de violar a su madre (Informe de Verónica Maslup)." title="Detuvieron a un joven acusado de violar a su madre (Informe de Verónica Maslup)." /></span></a> </p> </div> <div class="texto-audio-sin-video"> <p>Detuvieron a un joven acusado de violar a su madre (Informe de Verónica Maslup).</p> <div class="compartir-audio"> <p class="margin2top"><a class="compartir" href="../../../../audio.asp?id=366528&titulo=Detuvieron-a-un-joven-acusado-de-violar-a-su-madre-Informe-de-Veronica-Maslup">Compartir</a></p> </div> </div> </div> </div> </div></div> </div> <div class="titulo-nota "> <h2><a href="../../../../contenido/2017/05/30/Aberrante-violo-a-su-madre-delante-de-su-hermano-menor-184714.asp">Aberrante: violó a su madre delante de su hermano menor</a></h2> </div> </div>
- </div>
- </div>
- </div>
-
-
-<div id="contenido">
- <div class="baner960x50">
- <!-- /416478284/Cadena-3/General/F1 -->
- <div id='div-gpt-ad-1460643366541-7'>
- <script type='text/javascript'>
- googletag.cmd.push(function() { googletag.display('div-gpt-ad-1460643366541-7'); });
- </script>
- </div>
- </div>
-</div>
- <div id="contenido">
- <div class="">
- <div id="clasificados-destacados">
- <div class="logo">
- <div class="logo-imagen">
- <img src="../../../../imagenes/logo-clasificados.png" alt="Clasificados"/>
- </div>
- <div class="titulo-bloque">
- <p>Clasificados destacados</p>
- </div>
- </div>
- <div class="contenedor-general">
- <div class="titulo">
- <p>Inmuebles</p>
- </div>
- <div class="contenedor-general-hidden">
- <div class="bloque"> <div class="imagen"> <a target="_parent" href="http://inmuebles.cadena3.com/aviso-descripcion.asp?codigo=1197964&categoria=Inmuebles"><img src="http://cadena3.com/clasificados-2013/uploadify/userfiles/402833124201718852390-1.jpg" alt="Clasificados Destacados" width="210" height="144"/></a> </div> <div class="texto"> <p class="texto6 colorB2B2B2"><a target="_parent" href="http://inmuebles.cadena3.com/aviso-descripcion.asp?codigo=1197964&categoria=Inmuebles">Zona Tribunales-Planta Ba...</a></p> <p class="texto3 color000">$4000</p> </div> </div> <div class="bloque"> <div class="imagen"> <a target="_parent" href="http://inmuebles.cadena3.com/aviso-descripcion.asp?codigo=1249531&categoria=Inmuebles"><img src="http://cadena3.com/clasificados-2013/uploadify/userfiles/4036631752017121910390-1.jpg" alt="Clasificados Destacados" width="210" height="144"/></a> </div> <div class="texto"> <p class="texto6 colorB2B2B2"><a target="_parent" href="http://inmuebles.cadena3.com/aviso-descripcion.asp?codigo=1249531&categoria=Inmuebles">ALQUILO EXCELENTE GALPÓN ...</a></p> <p class="texto3 color000">$15000</p> </div> </div> <div class="bloque"> <div class="imagen"> <a target="_parent" href="http://inmuebles.cadena3.com/aviso-descripcion.asp?codigo=1201186&categoria=Inmuebles"><img src="http://cadena3.com/clasificados-2013/uploadify/userfiles/251259552017173954390-1.jpg" alt="Clasificados Destacados" width="210" height="144"/></a> </div> <div class="texto"> <p class="texto6 colorB2B2B2"><a target="_parent" href="http://inmuebles.cadena3.com/aviso-descripcion.asp?codigo=1201186&categoria=Inmuebles">dpto en yofre ...</a></p> <p class="texto3 color000">A consultar</p> </div> </div> <div class="bloque"> <div class="imagen"> <a target="_parent" href="http://inmuebles.cadena3.com/aviso-descripcion.asp?codigo=1195844&categoria=Inmuebles"><img src="http://cadena3.com/clasificados-2013/uploadify/userfiles/387484273201720918390-1.jpg" alt="Clasificados Destacados" width="210" height="144"/></a> </div> <div class="texto"> <p class="texto6 colorB2B2B2"><a target="_parent" href="http://inmuebles.cadena3.com/aviso-descripcion.asp?codigo=1195844&categoria=Inmuebles">OPORTUNIDAD!! CASA EN SAN...</a></p> <p class="texto3 color000">$800000</p> </div> </div>
- </div>
- <div class="titulo">
- <p>Vehículos</p>
- </div>
- <div class="contenedor-general-hidden">
- <div class="bloque"> <div class="imagen"> <a target="_parent" href="http://vehiculos.cadena3.com/aviso-descripcion.asp?codigo=1196648&categoria=Vehículos"><img src="http://cadena3.com/clasificados-2013/uploadify/userfiles/402569242017145032390-1.jpg" alt="Clasificados Destacados" width="210" height="144"/></a> </div> <div class="texto"> <p class="texto6 colorB2B2B2"><a target="_parent" href="http://vehiculos.cadena3.com/aviso-descripcion.asp?codigo=1196648&categoria=Vehículos">Vendo Siambretta 125...</a></p> <p class="texto3 color000">$10000</p> </div> </div> <div class="bloque"> <div class="imagen"> <a target="_parent" href="http://vehiculos.cadena3.com/aviso-descripcion.asp?codigo=1199728&categoria=Vehículos"><img src="http://cadena3.com/clasificados-2013/uploadify/userfiles/39710125420171373390-1.jpg" alt="Clasificados Destacados" width="210" height="144"/></a> </div> <div class="texto"> <p class="texto6 colorB2B2B2"><a target="_parent" href="http://vehiculos.cadena3.com/aviso-descripcion.asp?codigo=1199728&categoria=Vehículos">FORD ECOSPORT XLS 1....</a></p> <p class="texto3 color000">A consultar</p> </div> </div> <div class="bloque"> <div class="imagen"> <a target="_parent" href="http://vehiculos.cadena3.com/aviso-descripcion.asp?codigo=1200044&categoria=Vehículos"><img src="http://cadena3.com/clasificados-2013/uploadify/userfiles/150882742017112532390-1.jpg" alt="Clasificados Destacados" width="210" height="144"/></a> </div> <div class="texto"> <p class="texto6 colorB2B2B2"><a target="_parent" href="http://vehiculos.cadena3.com/aviso-descripcion.asp?codigo=1200044&categoria=Vehículos">VW VENTO 2.5 LUXURI...</a></p> <p class="texto3 color000">A consultar</p> </div> </div> <div class="bloque"> <div class="imagen"> <a target="_parent" href="http://vehiculos.cadena3.com/aviso-descripcion.asp?codigo=1168197&categoria=Vehículos"><img src="http://cadena3.com/clasificados-2013/uploadify/userfiles/3098321311201691244390-1.jpg" alt="Clasificados Destacados" width="210" height="144"/></a> </div> <div class="texto"> <p class="texto6 colorB2B2B2"><a target="_parent" href="http://vehiculos.cadena3.com/aviso-descripcion.asp?codigo=1168197&categoria=Vehículos">Honda Civic LXS AT 2013 -...</a></p> <p class="texto3 color000">$290000</p> </div> </div>
- </div>
- </div>
- <div class="menu">
- <ul class="color38AAEB texto10">
- <li><a href="http://vehiculos.cadena3.com/">Vehículos</a></li>
- <li><a href="http://inmuebles.cadena3.com/">Inmuebles</a></li>
- <li><a href="http://empleos.cadena3.com/">Empleos</a></li>
- <li><a href="http://clasificados.cadena3.com/rubro.asp?categoria=Artículos del Hogar">Hogar</a></li>
- <li><a href="http://clasificados.cadena3.com/rubro.asp?categoria=Turismo">Turismo</a></li>
- <li><a href="http://clasificados.cadena3.com/rubro.asp?categoria=Tecnología">Tecnología</a></li>
- <li><a href="http://clasificados.cadena3.com/rubro.asp?categoria=Empleos">Oferta de Servicios</a></li>
- <li><a href="http://clasificados.cadena3.com/rubro.asp?categoria=Otros Rubros">Otros Rubros</a></li>
- </ul>
- </div>
- </div>
- </div>
- </div>
-
-<footer>
- <div class="contenedor-general-hidden">
- <div class="contenedor-general">
- <p class="titulo-bloque">
- Cadena 3
- </p>
- <ul>
- <li><a href="javascript:popupcadena3();">En Vivo</a></li>
- <li><a href="../../../../audios.asp">Audios</a></li>
- <li><a href="../../../../videos.asp">Videos</a></li>
- <li><a href="../../../../secciones.asp?sector=81">Opiniones</a></li>
- <li><a href="http://cadena3comercial.com.ar/">Cadena 3 Comercial</a></li>
- <li><a href="javascript:contacto('contacto.asp');">Contacto</a></li>
- <li><a href="../../../../1005fmcordoba.asp">FM Córdoba</a></li>
- <li><a href="../../../../923radiopopular.asp">La Popu</a></li>
- <li><a href="../../../../afsca-resolucion173-10.asp" target=_blank>Carpeta de Acceso Público</a></li>
- <li><a href="http://cadena3comercial.com.ar/trabaja-con-nosotros/" target=_blank>Trabajá con nosotros</a></li>
- </ul>
- </div>
- <div class="contenedor-general">
- <p class="titulo-bloque">
- Noticias
- </p>
- <ul>
- <li><a href= "../../../../secciones.asp?comunidad=10">Política y Economía</a></li>
- <li><a href= "../../../../secciones.asp?comunidad=6">Sociedad</a></li>
- <li><a href= "../../../../secciones.asp?comunidad=15">Internacionales</a></li>
- <li><a href= "../../../../secciones.asp?comunidad=14">Agro</a></li>
- <li><a href= "../../../../secciones.asp?comunidad=9">Espectáculos</a></li>
- <li><a href= "../../../../secciones.asp?sector=45">Deportes</a></li>
- <li><a href= "../../../../secciones.asp?comunidad=11">Tecnología</a></li>
- <li><a href= "../../../../secciones.asp?sector=207">Corresponsal Espontáneo</a></li>
- <li><a href= "../../../../comunidad.asp">Comunidad</a></li>
- </ul>
- </div>
- <div class="contenedor-general">
- <p class="titulo-bloque">
- Servicios
- </p>
- <ul>
- <li><a href= "../../../../rss.asp">Rss</a></li>
- <li><a href= "../../../../podcast.asp">Podcast</a></li>
- <li><a href= "../../../../mobile.asp">Mobile</a></li>
- <li><a href= "../../../../registracion.asp">Usuarios</a></li>
- <li><a href= "../../../../clima.asp">El Clima</a></li>
- <li><a href= "../../../../cine.asp">Cine</a></li>
- <li><a href= "../../../../teatro.asp">Teatro</a></li>
- <li><a href= "../../../../futbol.asp">Fútbol</a></li>
- </ul>
- </div>
- <div class="contenedor-general">
- <p class="titulo-bloque">
- Clasificados
- </p>
- <ul>
- <li><a href= "http://clasificados.cadena3.com/usuarios.asp">Registrate y Publicá</a></li>
- <li><a href= "http://vehiculos.cadena3.com/">Vehículos</a></li>
- <li><a href= "http://inmuebles.cadena3.com/">Inmuebles</a></li>
- <li><a href= "http://empleos.cadena3.com/">Empleos</a></li>
- <li><a href= "http://clasificados.cadena3.com/rubro.asp?categoria=Artículos del Hogar">Artículos del Hogar</a></li>
- <li><a href= "http://clasificados.cadena3.com/rubro.asp?categoria=Turismo">Turismo</a></li>
- <li><a href= "http://clasificados.cadena3.com/rubro.asp?categoria=Tecnología">Tecnología</a></li>
- <li><a href= "http://clasificados.cadena3.com/rubro.asp?categoria=Empleos">Oferta de Servicios</a></li>
- <li><a href= "http://clasificados.cadena3.com/rubro.asp?categoria=Otros Rubros">Otros Rubros</a></li>
- </ul>
- </div>
- </div>
- <div class="social">
- <div class="contenedor-general-hidden">
- <div>
- <a href="#" target="_blank">
- <img src="../../../../imagenes/tel-footer.png" alt="" />
- <p>Teléfono</p>
- </a>
- <div id="msj-tel" class="msj">
- <h4>Cadena 3</h4>
- <p>Desde Argentina: 0810-810-4444</p>
- <p>Desde el exterior: +54 351 5260597</p>
- <h4>FM Córdoba</h4>
- <p>Conmutador: +54 351 5260599</p>
- <h4>La Popu</h4>
- <p>Conmutador: +54 351 5262021</p>
- </div>
- </div>
- <div>
- <a href="#" target="_blank">
- <img src="../../../../imagenes/sms-footer.png" alt="" />
- <p>SMS</p>
- </a>
- <div id="msj-tel" class="msj">
- <h4>Cadena 3</h4>
- <p>Envíanos tu SMS 44443</p>
- <h4>FM Córdoba</h4>
- <p>Mensajes: +54 351 5267020</p>
- <h4>La Popu</h4>
- <p>Mensajes: +54 351 5267030</p>
- </div>
- </div>
- <div>
- <a href="#" target="_blank">
- <img src="../../../../imagenes/mensajero-footer.png" alt="" />
- <p>Mensajero</p>
- </a>
- <div id="msj-tel" class="msj">
- <h4>Mensajero</h4>
- <p><a href= "../../../../mobile.asp?radio=Cadena 3">Cadena 3</a></p>
- <p><a href= "../../../../mobile.asp?radio=FM Córdoba">FM Córdoba</a></p>
- <p><a href= "../../../../mobile.asp?radio=Radio Popular">La Popu</a></p>
- <p>¡Descargá aquí la App de tu Radio favorita y mensajeate!</p>
- </div>
- </div>
- <div>
- <a href="#" target="_blank">
- <img src="../../../../imagenes/mobile-footer.png" alt="" />
- <p>Apps</p>
- </a>
- <div id="msj-tel" class="msj">
- <h4>Apps</h4>
- <p><a href= "../../../../mobile.asp?radio=Cadena 3">Cadena 3</a></p>
- <p><a href= "../../../../mobile.asp?radio=FM Córdoba">FM Córdoba</a></p>
- <p><a href= "../../../../mobile.asp?radio=Radio Popular">La Popu</a></p>
- <p>Radio en vivo, noticias al instante, cine, teatro, fútbol, sorteos y mucho más.</p>
- </div>
- </div>
- <div>
- <a href="#" target="_blank">
- <img src="../../../../imagenes/facebook-footer.png" alt="" />
- <p>Facebook</p>
- </a>
- <div id="msj-tel" class="msj">
- <h4>Facebook</h4>
- <p><a target="_blank" href="http://www.facebook.com/cadena3argentina">Cadena 3</a></p>
- <p><a target="_blank" href="https://www.facebook.com/FmCordoba">FM Córdoba</a></p>
- <p><a target="_blank" href="https://www.facebook.com/RadioPopular923">La Popu</a></p>
- <p>¡Hacete fan, participá y compartí todos nuestros contenidos!</p>
- </div>
- </div>
- <div>
- <a href="#" target="_blank">
- <img src="../../../../imagenes/twitter-footer.png" alt="" />
- <p>Twitter</p>
- </a>
- <div id="msj-tel" class="msj">
- <h4>Twitter</h4>
- <p><a target="_blank" href="http://www.facebook.com/cadena3argentina">Cadena 3</a></p>
- <p><a target="_blank" href="https://www.facebook.com/FmCordoba">FM Córdoba</a></p>
- <p><a target="_blank" href="https://www.facebook.com/RadioPopular923">La Popu</a></p>
- <p>¡Seguínos en Twitter y participá de sorteos y entrevistas en vivo!</p>
- </div>
- </div>
- <div>
- <a href="#" target="_blank">
- <img src="../../../../imagenes/youtube-footer.png" alt="" />
- <p>Youtube</p>
- </a>
- <div id="msj-tel" class="msj">
- <h4>YouTube</h4>
- <p><a target="_blank" href="https://www.youtube.com/channel/UCc9VBcY4VONSmny55EAWMZQ">Cadena 3</a></p>
- <p>¡Disfrutá de nuestro canal de YouTube! Encontrá los audios más relevantes y compartilos.</p>
- </div>
- </div>
- </div>
- </div>
- <div class="contenedor-general-hidden">
- <div id="data-fiscal">
- <a target="_blank" href= "https://servicios1.afip.gov.ar/clavefiscal/qr/mobilePublicInfo.aspx?req=e1ttZXRob2Q9Z2V0UHVibGljSW5mb11bcGVyc29uYT0zMDY0MjAxMDk0NF1bdGlwb2RvbWljaWxpbz0wXVtzZWN1ZW5jaWE9MF1bdXJsPWh0dHA6Ly93d3cuY2FkZW5hMy5jb20vXX0=" target="_blank"><img src="../../../../imagenes/data-fiscal.png" alt="" /></a>
- </div>
- <div id="aviso-legal">
- <div id="logos-footer">
- <div class="floatleft">
- <a target="_blank" href= "http://www.jus.gov.ar/datospersonales/"><img src="../../../../imagenes/logopdp.png" alt="Pdp" /></a>
- </div>
- <div class="floatleft">
- <a target="_blank" href= "http://www.iabargentina.com.ar/"><img src="../../../../imagenes/logoiab.png" alt="Iab" /></a>
- </div>
- </div>
- <div class="floatright">
- <p><a target="_blank" href= "javascript:popupfooter('avisolegal','cadena3',0,500,800,100,100)">Aviso Legal</a> Copyright ©2017, Cadena 3 Argentina</p>
- </div>
- </div>
- </div>
-</footer> </div>
-<script type="text/javascript">
-if (screen.width > 1350)
- {
- document.write('<div id="baner-lateral">');
- document.write('<!-- /416478284/Cadena-3/General/Skin -->');
- document.write('<div id="div-gpt-ad-1460643366541-8">');
- googletag.cmd.push(function() { googletag.display('div-gpt-ad-1460643366541-8'); });
- document.write('</div>');
- document.write('</div>')
- };
-</script>
-<script async language="JavaScript">
-function muestra_oculta(id){if (document.getElementById){var el = document.getElementById(id);el.style.display = (el.style.display == 'none') ? 'block' : 'none';}}function muestra_oculta2(id){if (document.getElementById){var el = document.getElementById(id);el.style.display = (el.style.display == 'none') ? 'block' : 'none';}}
-//window.onload = function(){muestra_oculta('contenido_a_mostrar');muestra_oculta2('contenido_a_mostrar2');}
-</script>
-<!--[if IE]>
-<script async src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
-<![endif]-->
-<script async type="text/javascript" src="../../../../js/funciones.js"></script>
-<script type="text/javascript">
-
- function doSubmitfrmFormBusqueda(btn)
- {
- if (btn == "search" )
- {
- if (document.csesearchbox.radiobusqueda[0].checked==true)
- {
- document.csesearchbox.action="../../../../buscador.asp?busqueda=ok#Resultado";
- }
- else
- {
- document.csesearchbox.method="Get"
- document.csesearchbox.action="../../../../buscadorgoogle.asp";
- }
- }
- document.csesearchbox.submit();
- return true;
- }
-
- function doSubmitfrmFormBusqueda_aux(btn)
- {
- if (btn == "search" )
- {
- if (document.csesearchbox_aux.radiobusqueda[0].checked==true)
- {
- document.csesearchbox_aux.action="../../../../buscador.asp?busqueda=ok#Resultado";
- }
- else
- {
- document.csesearchbox_aux.method="Get"
- document.csesearchbox_aux.action="../../../../buscadorgoogle.asp";
- }
- }
- document.csesearchbox_aux.submit();
- return true;
- }
-
- function HideAudio(id) {
- document.getElementById(id).style.left = "-400px";
- };
- function HidePublicidad(id) {
- document.getElementById("divplayerarchivo").style.height="60px";
- };
-
- function popupfooter(pagina,variable,id,alto,ancho,izq,sup){
- var direcc;
- direcc = '../../../../' + pagina + '.asp?'+variable+'='+ id;
- window.open(direcc,'','scrollbars=yes,height='+alto+',width='+ancho+',left='+izq+',top='+sup+',resizable=no');
- }
- function ShowHideBusquedaAvanzada(id) {
- if (document.getElementById(id).style["display"] == ""){document.getElementById(id).style["display"] = "none";}else{document.getElementById(id).style["display"] = "";};
- }
- function contactoprograma(programacionvar,sectorvar,emailvar){
- var direcc;
- direcc = '../../../../contacto_programa.asp?programacion=' + programacionvar + '&sector=' + sectorvar+ '&email=' + emailvar;
- window.open(direcc,'','scrollbars=no,height=280,width=370,left=100,top=100,resizable=no');
- }
-
- function popupcadena3(){
- var direcc;
- direcc = '../../../../multimedia.asp?programacion=CADENA 3';
- window.open(direcc,'','scrollbars=no,height=630,width=780,left=100,top=20,resizable=no');
- }
- function popup1005(){
- var direcc;
- direcc = '../../../../multimedia.asp?programacion=100.5 FM CORDOBA';
- window.open(direcc,'','scrollbars=no,height=630,width=780,left=100,top=20,resizable=no');
- }
- function popup923(){
- var direcc;
- direcc = '../../../../multimedia.asp?programacion=RADIO POPULAR 92.3';
- window.open(direcc,'','scrollbars=no,height=630,width=780,left=100,top=20,resizable=no');
- }
- function popuplv3(){
- var direcc;
- direcc = '../../../../multimedia.asp?programacion=LV3 � AM 70';
- window.open(direcc,'','scrollbars=no,height=630,width=780,left=100,top=20,resizable=no');
- }
- function popup24horas(hora){
- direcc = '../../../../multimedia.asp?hora=' + hora + '.mp3&programacion=CADENA 3';
- window.open(direcc,'','scrollbars=no,height=630,width=780,left=100,top=20,resizable=no');
- }
-
- function popupavanzada(pagina,variable,id,alto,ancho,izq,sup){
- var direcc;
- direcc = '../../../../' + pagina + '.asp?'+variable+'='+ id;
- window.open(direcc,'','scrollbars=yes,height='+alto+',width='+ancho+',left='+izq+',top='+sup+',resizable=no');
- }
-
- function popupampliado(pagina,variable,id,alto,ancho,izq,sup){
- var direcc;
- direcc = '../../../../' + pagina + '.asp?'+variable+'='+ id;
- window.open(direcc,'','scrollbars=yes,height='+alto+',width='+ancho+',left='+izq+',top='+sup+',resizable=no');
- }
- function contacto(p) {
- window.open(p,'','scrollbars=no,height=640,width=385,left=100,top=100,resizable=no');
- }
-</script>
-
-<script async src="../../../../estilos/AnimatedHeader/js/classie.js"></script>
-<script async src="../../../../estilos/AnimatedHeader/js/cbpAnimatedHeader.min.js"></script>
-
-<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
-<script type="text/javascript" src="../../../../estilos/CircularContentCarousel/js/jquery.easing.1.3.js"></script>
-<!-- the jScrollPane script -->
-<script type="text/javascript" src="../../../../estilos/CircularContentCarousel/js/jquery.contentcarousel.js"></script>
-<script type="text/javascript">
- $('#ca-container').contentcarousel();
-// $('#ca-container-audios-destacados').contentcarousel();
-// $('#ca-container-post-destacados').contentcarousel();
- $('#ca-container-cartelera-cine').contentcarousel();
-// $('#ca-container-cadena3-play').contentcarousel();
- $('#ca-container-nota-ampliada').contentcarousel();
- $('#ca-container-cartelera-cine-teatro').contentcarousel();
-</script>
-
-<!-- Owl Carousel Assets -->
-<script src="../../../../js/assets/js/jquery-1.9.1.min.js"></script>
-<script src="../../../../js/owl-carousel/owl.carousel.js"></script>
-
-<script>
-
-
- $(document).ready(function() {
- var owl = $('#owl-transmisiones');
- owl.owlCarousel({
- itemsCustom: [[0, 2], [600, 2]],
- pagination:false,
- navigation:true
- })
- })
-
- $(document).ready(function() {
- var owl = $('#owl-transmisiones2');
- owl.owlCarousel({
- itemsCustom: [[0, 2], [600, 2]],
- pagination:false,
- navigation:true
- })
- })
-
- </script>
-
-
-<script src="../../../../galeriadeimagenes/js/prototype.js" type="text/javascript"></script>
-<script src="../../../../galeriadeimagenes/js/scriptaculous.js?load=effects,builder" type="text/javascript"></script>
-<script src="../../../../galeriadeimagenes/js/lightbox.js" type="text/javascript"></script>
-<!-- Begin comScore Inline Tag 1.1302.13 -->
-<script type="text/javascript">
-// <![CDATA[
-function udm_(e){var t="comScore=",n=document,r=n.cookie,i="",s="indexOf",o="substring",u="length",a=2048,f,l="&ns_",c="&",h,p,d,v,m=window,g=m.encodeURIComponent||escape;if(r[s](t)+1)for(d=0,p=r.split(";"),v=p[u];d<v;d++)h=p[d][s](t),h+1&&(i=c+unescape(p[d][o](h+t[u])));e+=l+"_t="+ +(new Date)+l+"c="+(n.characterSet||n.defaultCharset||"")+"&c8="+g(n.title)+i+"&c7="+g(n.URL)+"&c9="+g(n.referrer),e[u]>a&&e[s](c)>0&&(f=e[o](0,a-8).lastIndexOf(c),e=(e[o](0,f)+l+"cut="+g(e[o](f+1)))[o](0,a)),n.images?(h=new Image,m.ns_p||(ns_p=h),h.src=e):n.write("<","p","><",'img src="',e,'" height="1" width="1" alt="*"',"><","/p",">")};
-udm_('http'+(document.location.href.charAt(4)=='s'?'s://sb':'://b')+'.scorecardresearch.com/b?c1=2&c2=6906420&ns_site=cadena3&name=comunidad.sociedad.nota.Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa');
-// ]]>
-</script>
-<noscript><p><img src="http://b.scorecardresearch.com/p?c1=2&amp;c2=6906420&amp;ns_site=cadena3&amp;name=comunidad.sociedad.nota.Daniele-a-Mestre-En-unos-meses-se-va-a-borrar-la-sonrisa" height="1" width="1" alt="*"></p></noscript>
-<!-- End comScore Inline Tag -->
-
-<!-- Begin comScore Inline Tag 1.1302.13 -->
-<script type="text/javascript" language="JavaScript1.3" src="http://b.scorecardresearch.com/c2/6906420/ct.js"></script>
-<!-- End comScore Inline Tag -->
-
-
-
-<script>
- (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
- (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
- m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
- })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
- ga('create', 'UA-10675944-1');//,'cadena3.com'
- ga('require', 'displayfeatures');
- ga('send', 'pageview');
-</script></body></html> \ No newline at end of file
diff --git a/test/test-pages/nytimes-1/expected-images.json b/test/test-pages/nytimes-1/expected-images.json
index 7b773c5..342fd8a 100644
--- a/test/test-pages/nytimes-1/expected-images.json
+++ b/test/test-pages/nytimes-1/expected-images.json
@@ -1 +1 @@
-["https:\/\/static01.nyt.com\/images\/2017\/01\/14\/world\/13SUDAN-1\/13SUDAN-1-facebookJumbo.jpg","https:\/\/static01.nyt.com\/images\/2017\/01\/14\/world\/13SUDAN-1\/13SUDAN-1-master768.jpg"] \ No newline at end of file
+["https:\/\/static01.nyt.com\/images\/2017\/01\/14\/world\/13SUDAN-1\/13SUDAN-1-master768.jpg"] \ No newline at end of file
diff --git a/test/test-pages/nytimes-1/expected.html b/test/test-pages/nytimes-1/expected.html
index 1393373..60f7148 100644
--- a/test/test-pages/nytimes-1/expected.html
+++ b/test/test-pages/nytimes-1/expected.html
@@ -2,7 +2,7 @@
<div>
<figure aria-label="media" data-media-action="modal" id="media-100000004869232" itemid="https://static01.nyt.com/images/2017/01/14/world/13SUDAN-1/13SUDAN-1-master768.jpg" itemprop="associatedMedia" itemscope="" itemtype="http://schema.org/ImageObject" role="group"><span>Photo</span>
<div>
- <img alt="" data-mediaviewer-caption="United Nations peacekeepers at a refugee camp in Sudan on Monday. In exchange for the lifting of United States trade sanctions, Sudan has said it will improve access for aid groups, stop supporting rebels in neighboring South Sudan and cooperate with American intelligence agents." data-mediaviewer-credit="Ashraf Shazly/Agence France-Presse — Getty Images" data-mediaviewer-src="https://static01.nyt.com/images/2017/01/14/world/13SUDAN-1/13SUDAN-1-superJumbo.jpg" itemid="https://static01.nyt.com/images/2017/01/14/world/13SUDAN-1/13SUDAN-1-master768.jpg" itemprop="url" src="https://static01.nyt.com/images/2017/01/14/world/13SUDAN-1/13SUDAN-1-master768.jpg"></img>
+ <p><img alt="" data-mediaviewer-caption="United Nations peacekeepers at a refugee camp in Sudan on Monday. In exchange for the lifting of United States trade sanctions, Sudan has said it will improve access for aid groups, stop supporting rebels in neighboring South Sudan and cooperate with American intelligence agents." data-mediaviewer-credit="Ashraf Shazly/Agence France-Presse — Getty Images" data-mediaviewer-src="https://static01.nyt.com/images/2017/01/14/world/13SUDAN-1/13SUDAN-1-superJumbo.jpg" itemid="https://static01.nyt.com/images/2017/01/14/world/13SUDAN-1/13SUDAN-1-master768.jpg" itemprop="url" src="https://static01.nyt.com/images/2017/01/14/world/13SUDAN-1/13SUDAN-1-master768.jpg"></img></p>
<meta content="512" itemprop="height"></meta><meta content="768" itemprop="width"></meta></div>
<figcaption itemprop="caption description"><span>United Nations peacekeepers at a refugee camp in Sudan on Monday. In exchange for the lifting of United States trade sanctions, Sudan has said it will improve access for aid groups, stop supporting rebels in neighboring South Sudan and cooperate with American intelligence agents.</span>
<span itemprop="copyrightHolder">
@@ -29,8 +29,8 @@
<p data-para-count="208" data-total-count="4431">Obama administration officials said that they had briefed President-elect Donald J. Trump’s transition team, but that they did not know if Mr. Trump would stick with a policy of warmer relations with Sudan.</p>
<p data-para-count="143" data-total-count="4574">They said that Sudan had a long way to go in terms of respecting human rights, but that better relations could help increase American leverage.</p>
<p data-node-uid="1" data-para-count="149" data-total-count="4723">Mr. Reeves said he thought that the American government was being manipulated and that the Obama administration had made a “deal with the devil.”</p>
- <a href="#whats-next">Continue reading the main story</a>
- </div>
+ <p><a href="#whats-next">Continue reading the main story</a>
+ </p></div>
diff --git a/test/test-pages/nytimes-2/expected-images.json b/test/test-pages/nytimes-2/expected-images.json
index 4d533ca..7966a50 100644
--- a/test/test-pages/nytimes-2/expected-images.json
+++ b/test/test-pages/nytimes-2/expected-images.json
@@ -1 +1 @@
-["https:\/\/static01.nyt.com\/images\/2016\/07\/30\/business\/db-dealprof\/db-dealprof-facebookJumbo.jpg","https:\/\/static01.nyt.com\/images\/2016\/07\/30\/business\/db-dealprof\/db-dealprof-master315.jpg"] \ No newline at end of file
+["https:\/\/static01.nyt.com\/images\/2016\/07\/30\/business\/db-dealprof\/db-dealprof-master315.jpg"] \ No newline at end of file
diff --git a/test/test-pages/nytimes-2/expected.html b/test/test-pages/nytimes-2/expected.html
index e6d2662..1584ca4 100644
--- a/test/test-pages/nytimes-2/expected.html
+++ b/test/test-pages/nytimes-2/expected.html
@@ -2,15 +2,15 @@
<div>
<figure aria-label="media" data-media-action="modal" id="media-100000004560166" itemid="https://static01.nyt.com/images/2016/07/30/business/db-dealprof/db-dealprof-master315.jpg" itemprop="associatedMedia" itemscope="" itemtype="http://schema.org/ImageObject" role="group"><span>Photo</span>
<div>
- <img alt="" data-mediaviewer-caption="" data-mediaviewer-credit="Harry Campbell" data-mediaviewer-src="https://static01.nyt.com/images/2016/07/30/business/db-dealprof/db-dealprof-superJumbo.jpg" itemid="https://static01.nyt.com/images/2016/07/30/business/db-dealprof/db-dealprof-master315.jpg" itemprop="url" src="https://static01.nyt.com/images/2016/07/30/business/db-dealprof/db-dealprof-master315.jpg"></img>
+ <p><img alt="" data-mediaviewer-caption="" data-mediaviewer-credit="Harry Campbell" data-mediaviewer-src="https://static01.nyt.com/images/2016/07/30/business/db-dealprof/db-dealprof-superJumbo.jpg" itemid="https://static01.nyt.com/images/2016/07/30/business/db-dealprof/db-dealprof-master315.jpg" itemprop="url" src="https://static01.nyt.com/images/2016/07/30/business/db-dealprof/db-dealprof-master315.jpg"></img></p>
<meta content="315" itemprop="height"></meta><meta content="315" itemprop="width"></meta></div>
<figcaption itemprop="caption description"><span itemprop="copyrightHolder">
<span>Credit</span> Harry Campbell </span>
</figcaption></figure><p data-para-count="148" data-total-count="148"><a href="http://www.nytimes.com/topic/company/yahoo-inc?inline=nyt-org" title="More information about Yahoo! Inc.">Yahoo</a>’s $4.8 billion sale to <a href="http://www.nytimes.com/topic/company/verizon-communications-inc?inline=nyt-org" title="More information about Verizon Communications Inc.">Verizon</a> is a complicated beast, showing how different acquisition structures can affect how shareholders are treated.</p>
<p data-para-count="177" data-total-count="325">First, let’s say what the Yahoo sale is not. It is not a sale of the publicly traded company. Instead, it is a sale of the Yahoo subsidiary and some related assets to Verizon.</p>
<p data-para-count="529" data-total-count="854">The sale is being done in two steps. The <a href="https://www.sec.gov/Archives/edgar/data/1011006/000119312516656036/d178500dex22.htm">first step</a> will be the transfer of any assets related to Yahoo business to a singular subsidiary. This includes the stock in the business subsidiaries that make up Yahoo that are not already in the single subsidiary, as well as the odd assets like benefit plan rights. This is what is being sold to Verizon. A license of Yahoo’s oldest patents is being held back in the so-called Excalibur portfolio. This will stay with Yahoo, as will Yahoo’s stakes in Alibaba Group and Yahoo Japan.</p>
- <p data-para-count="479" data-total-count="1333">It is hard to overestimate how complex an asset sale like this is. Some of the assets are self-contained, but they must be gathered up and transferred. Employees need to be shuffled around and compensation arrangements redone. Many contracts, like the now-infamous one struck with the search engine Mozilla, which <a href="http://www.recode.net/2016/7/7/12116296/marissa-mayer-deal-mozilla-yahoo-payment">may result in a payment of up to a $1 billion</a>, will contain change-of-control provisions that will be set off and have to be addressed. Tax issues always loom large.</p> <a href="#story-continues-1">Continue reading the main story</a>
- </div>
+ <p data-para-count="479" data-total-count="1333">It is hard to overestimate how complex an asset sale like this is. Some of the assets are self-contained, but they must be gathered up and transferred. Employees need to be shuffled around and compensation arrangements redone. Many contracts, like the now-infamous one struck with the search engine Mozilla, which <a href="http://www.recode.net/2016/7/7/12116296/marissa-mayer-deal-mozilla-yahoo-payment">may result in a payment of up to a $1 billion</a>, will contain change-of-control provisions that will be set off and have to be addressed. Tax issues always loom large.</p> <p><a href="#story-continues-1">Continue reading the main story</a>
+ </p></div>
@@ -33,8 +33,8 @@
<p data-para-count="112" data-total-count="5371">In Yahoo’s case, this is not deliberate, though. It is simply the most expedient way to get rid of the assets.</p>
<p data-para-count="583" data-total-count="5954">Whether this is the most tax-efficient way is unclear to me as a nontax lawyer (email me if you know). Yahoo is likely to have a tax bill on the sale, possibly a substantial one. And I presume there were legal reasons for not using a <a href="http://dealbook.nytimes.com/2014/04/29/alliant-techsystems-break-up-and-the-return-of-the-morris-trust/">Morris Trust structure</a>, in which Yahoo would have been spun off and immediately sold to Verizon so that only Yahoo’s shareholders paid tax on the deal. In truth, the Yahoo assets being sold are only about 10 percent of the value of the company, so the time and logistics for such a sale when Yahoo is a melting ice cube may not have been worth it.</p>
<p data-para-count="450" data-total-count="6404">Finally, if another bidder still wants to acquire Yahoo, it has time. The agreement with Verizon allows Yahoo to terminate the deal and accept a superior offer by paying a $144 million breakup fee to Verizon. And if Yahoo shareholders change their minds and want to stick with Yahoo’s chief executive, <a href="http://topics.nytimes.com/top/reference/timestopics/people/m/marissa_mayer/index.html?inline=nyt-per" title="More articles about Marissa Mayer.">Marissa Mayer</a>, and vote down the deal, there is a so-called naked no-vote termination fee of $15 million payable to Verizon to reimburse expenses.</p>
- <p data-para-count="426" data-total-count="6830">All in all, this was as hairy a deal as they come. There was the procedural and logistical complications of selling a company when the chief executive wanted to stay. Then there was the fact that this was an asset sale, including all of the challenges that go with it. Throw in all of the tax issues and the fact that this is a public company, and it is likely that the lawyers involved will have nightmares for years to come.</p> <a href="#whats-next">Continue reading the main story</a>
- </div>
+ <p data-para-count="426" data-total-count="6830">All in all, this was as hairy a deal as they come. There was the procedural and logistical complications of selling a company when the chief executive wanted to stay. Then there was the fact that this was an asset sale, including all of the challenges that go with it. Throw in all of the tax issues and the fact that this is a public company, and it is likely that the lawyers involved will have nightmares for years to come.</p> <p><a href="#whats-next">Continue reading the main story</a>
+ </p></div>
diff --git a/test/test-pages/pixnet/expected-images.json b/test/test-pages/pixnet/expected-images.json
index 5d68a0d..f79702e 100644
--- a/test/test-pages/pixnet/expected-images.json
+++ b/test/test-pages/pixnet/expected-images.json
@@ -1 +1 @@
-["http:\/\/pic.pimg.tw\/stevenhgm\/1387895093-631461272.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894842-1217674167.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894971-1486345289.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894979-1252095111.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387971416-4261675924.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387971406-2480195851.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894752-3567294980.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894771-2897027724.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894778-2035483089.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387897405-3236217457.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894848-3695967443.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894863-3269042540.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894868-3997219746.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894873-1524806724.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894788-105924953.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894798-1063855065.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894807-309560703.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894882-1881930036.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894887-407829597.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894857-470378275.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387895099-4119123008.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387971426-4277312474.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387971436-2828193592.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894823-4061326865.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894911-3706194096.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894894-1173705525.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894901-1058040075.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894925-1582979930.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894989-1689510758.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894933-2886337976.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387895113-4041265313.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894940-3359449338.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387895106-1387217970.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894947-2636431527.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894956-618198074.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894961-2201609427.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387971396-2999285851.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387894999-1588465034.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387895007-4184988815.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387895016-2193615729.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387895047-92554161.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387971446-966387512.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387895036-848978834.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387895067-717977929.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387895083-1227791497.jpg","http:\/\/pic.pimg.tw\/stevenhgm\/1387895075-2647157523.jpg"] \ No newline at end of file
+{"0":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894842-1217674167.jpg","2":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894971-1486345289.jpg","3":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894979-1252095111.jpg","4":"http:\/\/pic.pimg.tw\/stevenhgm\/1387971416-4261675924.jpg","5":"http:\/\/pic.pimg.tw\/stevenhgm\/1387971406-2480195851.jpg","6":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894752-3567294980.jpg","7":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894771-2897027724.jpg","8":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894778-2035483089.jpg","9":"http:\/\/pic.pimg.tw\/stevenhgm\/1387897405-3236217457.jpg","10":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894848-3695967443.jpg","11":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894863-3269042540.jpg","12":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894868-3997219746.jpg","13":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894873-1524806724.jpg","14":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894788-105924953.jpg","15":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894798-1063855065.jpg","16":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894807-309560703.jpg","17":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894882-1881930036.jpg","18":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894887-407829597.jpg","19":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894857-470378275.jpg","20":"http:\/\/pic.pimg.tw\/stevenhgm\/1387895099-4119123008.jpg","21":"http:\/\/pic.pimg.tw\/stevenhgm\/1387971426-4277312474.jpg","22":"http:\/\/pic.pimg.tw\/stevenhgm\/1387971436-2828193592.jpg","23":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894823-4061326865.jpg","24":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894911-3706194096.jpg","25":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894894-1173705525.jpg","26":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894901-1058040075.jpg","27":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894925-1582979930.jpg","28":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894989-1689510758.jpg","29":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894933-2886337976.jpg","30":"http:\/\/pic.pimg.tw\/stevenhgm\/1387895113-4041265313.jpg","31":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894940-3359449338.jpg","32":"http:\/\/pic.pimg.tw\/stevenhgm\/1387895106-1387217970.jpg","33":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894947-2636431527.jpg","34":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894956-618198074.jpg","35":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894961-2201609427.jpg","36":"http:\/\/pic.pimg.tw\/stevenhgm\/1387971396-2999285851.jpg","37":"http:\/\/pic.pimg.tw\/stevenhgm\/1387894999-1588465034.jpg","38":"http:\/\/pic.pimg.tw\/stevenhgm\/1387895007-4184988815.jpg","39":"http:\/\/pic.pimg.tw\/stevenhgm\/1387895016-2193615729.jpg","40":"http:\/\/pic.pimg.tw\/stevenhgm\/1387895047-92554161.jpg","41":"http:\/\/pic.pimg.tw\/stevenhgm\/1387971446-966387512.jpg","42":"http:\/\/pic.pimg.tw\/stevenhgm\/1387895036-848978834.jpg","43":"http:\/\/pic.pimg.tw\/stevenhgm\/1387895067-717977929.jpg","44":"http:\/\/pic.pimg.tw\/stevenhgm\/1387895083-1227791497.jpg","45":"http:\/\/pic.pimg.tw\/stevenhgm\/1387895075-2647157523.jpg","46":"http:\/\/pic.pimg.tw\/stevenhgm\/1387895093-631461272.jpg"} \ No newline at end of file
diff --git a/test/test-pages/remove-extra-brs/expected.html b/test/test-pages/remove-extra-brs/expected.html
index f8f8a6c..e064a49 100644
--- a/test/test-pages/remove-extra-brs/expected.html
+++ b/test/test-pages/remove-extra-brs/expected.html
@@ -1,12 +1,12 @@
<div>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.</p>
- <p><p>Ut enim ad minim veniam,
+ <p>Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat.</p><p>Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
- </p></div><div>
+ </div><div>
<p>Tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat.</p>
diff --git a/test/test-pages/replace-brs/expected-metadata.json b/test/test-pages/replace-brs/expected-metadata.json
index ae183f1..c73456d 100644
--- a/test/test-pages/replace-brs/expected-metadata.json
+++ b/test/test-pages/replace-brs/expected-metadata.json
@@ -1,5 +1,5 @@
{
"Title": "Replace brs test",
"Author": null,
- "Excerpt": "Lorem ipsum"
+ "Excerpt": "Lorem ipsumdolor sit"
}
diff --git a/test/test-pages/replace-brs/expected.html b/test/test-pages/replace-brs/expected.html
index ba2d4fd..56e36a4 100644
--- a/test/test-pages/replace-brs/expected.html
+++ b/test/test-pages/replace-brs/expected.html
@@ -1,14 +1,14 @@
<div><p>
- Lorem ipsum</p><p>dolor sit</p><p>amet, consectetur adipisicing elit, sed do eiusmod
- tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
- quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
- cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+ Lorem ipsum<br></br>dolor sit</p><p>amet, consectetur adipisicing elit, sed do eiusmod<br></br>
+ tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,<br></br>
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo</p><p>
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse<br></br>
+ cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non<br></br>
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p></div><div><p>
- Tempor</p><p>incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
- quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
- cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+ Tempor</p><p>incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,<br></br>
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo<br></br>
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse</p><p>
+ cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non<br></br>
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p></div> \ No newline at end of file
diff --git a/test/test-pages/replace-brs/source.html b/test/test-pages/replace-brs/source.html
index e1d2e78..2283d65 100644
--- a/test/test-pages/replace-brs/source.html
+++ b/test/test-pages/replace-brs/source.html
@@ -8,19 +8,19 @@
<article>
<h1>Lorem</h1>
<div>
- Lorem ipsum<br/>dolor sit<br/> <br/><br/>amet, consectetur adipisicing elit, sed do eiusmod
- tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
- quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
- cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+ Lorem ipsum<br/>dolor sit<br/> <br/><br/>amet, consectetur adipisicing elit, sed do eiusmod<br/>
+ tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,<br/>
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo<br/> <br/>
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse<br/>
+ cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non<br/>
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
<h2>Foo</h2>
<div>
- Tempor<br/><br/>incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
- quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
- cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
+ Tempor<br/><br/>incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,<br/>
+ quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo<br/>
+ consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse<br/><br/>
+ cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non<br/>
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>
</article>
diff --git a/test/test-pages/replace-font-tags/expected.html b/test/test-pages/replace-font-tags/expected.html
index 9d6025c..a36b1a2 100644
--- a/test/test-pages/replace-font-tags/expected.html
+++ b/test/test-pages/replace-font-tags/expected.html
@@ -1,6 +1,5 @@
<article>
- <p>
- <span face="Arial" size="2">Lorem ipsum dolor</span> sit amet, consectetur adipisicing elit, sed do eiusmod
+ <p><span face="Arial" size="2">Lorem ipsum dolor</span> sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. <span face="Arial" size="2">Duis</span> aute irure dolor in reprehenderit in voluptate velit esse
diff --git a/test/test-pages/rtl-3/expected.html b/test/test-pages/rtl-3/expected.html
index eba1686..7544888 100644
--- a/test/test-pages/rtl-3/expected.html
+++ b/test/test-pages/rtl-3/expected.html
@@ -1,4 +1,4 @@
-<div><article>
+<div dir="rtl"><article>
<p>
Lorem ipsum dolor sit amet.
</p>
diff --git a/test/test-pages/salon-1/expected-images.json b/test/test-pages/salon-1/expected-images.json
index e43ea0c..0637a08 100644
--- a/test/test-pages/salon-1/expected-images.json
+++ b/test/test-pages/salon-1/expected-images.json
@@ -1 +1 @@
-["http:\/\/media.salon.com\/2014\/12\/uber_rand_paul.jpg"] \ No newline at end of file
+[] \ No newline at end of file
diff --git a/test/test-pages/salon-1/expected-metadata.json b/test/test-pages/salon-1/expected-metadata.json
index 9c39de6..71fc109 100644
--- a/test/test-pages/salon-1/expected-metadata.json
+++ b/test/test-pages/salon-1/expected-metadata.json
@@ -1,5 +1,5 @@
{
- "Title": "The sharing economy is a lie: Uber, Ayn Rand and the truth about tech\n and libertarians",
+ "Title": "The sharing economy is a lie: Uber, Ayn Rand and the truth about tech and libertarians",
"Author": "Joanna Rothkopf",
"Excerpt": "Disruptive companies talk a good game about sharing. Uber's really just an under-regulated company making riches"
}
diff --git a/test/test-pages/simplyfound-1/expected-images.json b/test/test-pages/simplyfound-1/expected-images.json
index f4321b9..0637a08 100644
--- a/test/test-pages/simplyfound-1/expected-images.json
+++ b/test/test-pages/simplyfound-1/expected-images.json
@@ -1 +1 @@
-["https:\/\/d34hb2g9mvfppu.cloudfront.net\/m\/images\/cache\/images\/2016\/02\/29\/apcnews2012raspberry_pi_logo_mainimage8_jpg8_322_27630a8388eb_lg.jpg"] \ No newline at end of file
+[] \ No newline at end of file
diff --git a/test/test-pages/simplyfound-1/expected-metadata.json b/test/test-pages/simplyfound-1/expected-metadata.json
index 9d1a0ba..3772bbd 100644
--- a/test/test-pages/simplyfound-1/expected-metadata.json
+++ b/test/test-pages/simplyfound-1/expected-metadata.json
@@ -1,5 +1,5 @@
{
"Title": "Raspberry Pi 3 - The credit card sized PC that cost only $35 - All-time bestselling computer in UK",
"Author": null,
- "Excerpt": "The Raspberry Pi Foundation started by a handful of volunteers in 2012 when they released the original Raspberry Pi 256MB Model B without knowing what to expect. In a short four-year period they have grown to over sixty full-time employees and ha..."
+ "Excerpt": "The Raspberry Pi Foundation started by a handful of volunteers in 2012 when they released the original Raspberry Pi 256MB Model B without knowing what to expect. In a short four-year period they have grown to over sixty full-time employees and ha..."
}
diff --git a/test/test-pages/table-style-attributes/expected.html b/test/test-pages/table-style-attributes/expected.html
index c1f0a1a..77c083b 100644
--- a/test/test-pages/table-style-attributes/expected.html
+++ b/test/test-pages/table-style-attributes/expected.html
@@ -6,7 +6,7 @@
<div>
- <table><tbody><tr><td>
+ <table readabilityDataTable="0"><tbody><tr><td>
<p> In December 2002, I tried to install some software on my computer. The experience was, shall we say, less than pleasant. On many levels. I wrote about my experience, as I so often do. </p>
<p> Then in January, the jackasses over at Slashdot <a href="http://slashdot.org/article.pl?sid=03/01/24/1440207">posted</a> a link to it, calling it a "review" of Linux video software. I guess you could consider it a review, if you were to squint at it just right. But really what it is is a <i>rant</i> about how I had an evening stolen from me by crap software design. It is a flame about the pathetic state of Linux usability in general, and the handful of video players I tried out in particular. It makes no attempt to be balanced or objective or exhaustive. It is a description of my experience. Perhaps your experience was different. Good for you. </p>
<p> So of course that day I got hundreds of emails about it. Every Linux apologist in the world wanted to make sure I was fully informed of their opinion. The replies were roughly in the following groups: </p>
@@ -33,7 +33,9 @@
</li>
<li> "Red Hat 7.2 is totally obsolete! It's almost 14 months old! What were you expecting!" </li>
- </ul><p> While I am flattered that so many logorrheic Linux fanboys are sufficiently interested in my opinions and experiences to share their deeply heartfelt views with me, you can all rest assured that: </p>
+ </ul></td>
+ <td>
+ <p> While I am flattered that so many logorrheic Linux fanboys are sufficiently interested in my opinions and experiences to share their deeply heartfelt views with me, you can all rest assured that: </p>
<ul><ul type="A"><li> I've heard it before; and </li>
<li> I didn't care the first time. </li>
diff --git a/test/test-pages/table-style-attributes/source.html b/test/test-pages/table-style-attributes/source.html
index 4b7196b..0e20275 100644
--- a/test/test-pages/table-style-attributes/source.html
+++ b/test/test-pages/table-style-attributes/source.html
@@ -66,6 +66,8 @@
</li>
<li> "Red Hat 7.2 is totally obsolete! It's almost 14 months old! What were you expecting!" </li>
</ul>
+ </td>
+ <td bgcolor="#FEFFE6">
<p> While I am flattered that so many logorrheic Linux fanboys are sufficiently interested in my opinions and experiences to share their deeply heartfelt views with me, you can all rest assured that: </p>
<p></p>
<ul>
diff --git a/test/test-pages/telegraph/expected-images.json b/test/test-pages/telegraph/expected-images.json
index 44c6f04..0637a08 100644
--- a/test/test-pages/telegraph/expected-images.json
+++ b/test/test-pages/telegraph/expected-images.json
@@ -1 +1 @@
-["http:\/\/www.telegraph.co.uk\/content\/dam\/news\/2017\/11\/16\/TELEMMGLPICT000146889449-xlarge_trans_NvBQzQNjv4BqySoB6nTCgtc7U4LQ_FPO4hKi2sT3vi7ux2-RDZwC4QA.jpeg"] \ No newline at end of file
+[] \ No newline at end of file
diff --git a/test/test-pages/telegraph/expected-metadata.json b/test/test-pages/telegraph/expected-metadata.json
index 0664ae6..196d045 100644
--- a/test/test-pages/telegraph/expected-metadata.json
+++ b/test/test-pages/telegraph/expected-metadata.json
@@ -1,6 +1,4 @@
{
"Title": "Zimbabwe coup: Robert Mugabe and wife Grace 'insisting he finishes his term', as priest steps in to mediate",
- "Author": null,
- "Direction": null,
"Excerpt": "Zimbabwe President Robert Mugabe, his wife Grace and two key figures from her G40 political faction are under house arrest at Mugabe's &quot;Blue House&quot; compound in Harare and are insisting the 93 year-old finishes his presidential term, a source said."
}
diff --git a/test/test-pages/tmz-1/expected.html b/test/test-pages/tmz-1/expected.html
index 2c23788..6eb48b9 100644
--- a/test/test-pages/tmz-1/expected.html
+++ b/test/test-pages/tmz-1/expected.html
@@ -28,9 +28,7 @@
morning.  We know they were in the manager's office and we're told
they have looked at security footage to determine if they can ID the culprit.</p>
<p>
- <img alt="0226-SUB-london-hotel-swipe-tmz-02" src="http://ll-media.tmz.com/2015/02/26/0226-sub-london-hotel-swipe-tmz-11.jpg"></img></p> <a name="continued"></a>
-
-
+ <img alt="0226-SUB-london-hotel-swipe-tmz-02" src="http://ll-media.tmz.com/2015/02/26/0226-sub-london-hotel-swipe-tmz-11.jpg"></img></p>
</div>
</div> \ No newline at end of file
diff --git a/test/test-pages/tumblr/expected-images.json b/test/test-pages/tumblr/expected-images.json
index 1b0151f..0637a08 100644
--- a/test/test-pages/tumblr/expected-images.json
+++ b/test/test-pages/tumblr/expected-images.json
@@ -1 +1 @@
-["http:\/\/assets.tumblr.com\/images\/og\/fb_landscape_share.png"] \ No newline at end of file
+[] \ No newline at end of file
diff --git a/test/test-pages/tumblr/expected-metadata.json b/test/test-pages/tumblr/expected-metadata.json
index 09c83ac..4589af0 100644
--- a/test/test-pages/tumblr/expected-metadata.json
+++ b/test/test-pages/tumblr/expected-metadata.json
@@ -1,5 +1,5 @@
{
- "Title": "Minecraft 1.8 - The Bountiful Update - Minecraft 1.8 - The Bountiful Update",
+ "Title": "Minecraft 1.8 - The Bountiful Update",
"Author": null,
"Direction": null,
"Excerpt": "+ Added Granite, Andesite, and Diorite stone blocks, with smooth versions\n+ Added Slime Block\n+ Added Iron Trapdoor\n+ Added Prismarine and Sea Lantern blocks\n+ Added the Ocean Monument\n+ Added Red..."
diff --git a/test/test-pages/tumblr/expected.html b/test/test-pages/tumblr/expected.html
index ad7a7d8..56df596 100644
--- a/test/test-pages/tumblr/expected.html
+++ b/test/test-pages/tumblr/expected.html
@@ -4,7 +4,7 @@
<div>
<h3><a href="http://mcupdate.tumblr.com/post/96439224994/minecraft-18-the-bountiful-update">Minecraft 1.8 - The Bountiful Update</a></h3>
- <p>+ Added Granite, Andesite, and Diorite stone blocks, with smooth versions<br></br>+ Added Slime Block<br></br>+ Added Iron Trapdoor<br></br>+ Added Prismarine and Sea Lantern blocks<br></br>+ Added the Ocean Monument<br></br>+ Added Red Sandstone<br></br>+ Added Banners<br></br>+ Added Armor Stands<br></br>+ Added Coarse Dirt (dirt where grass won’t grow)<br></br>+ Added Guardian mobs, with item drops<br></br>+ Added Endermite mob<br></br>+ Added Rabbits, with item drops<br></br>+ Added Mutton and Cooked Mutton<br></br>+ Villagers will harvest crops and plant new ones<br></br>+ Mossy Cobblestone and Mossy Stone Bricks are now craftable<br></br>+ Chiseled Stone Bricks are now craftable<br></br>+ Doors and fences now come in all wood type variants<br></br>+ Sponge block has regained its water-absorbing ability and becomes wet<br></br>+ Added a spectator game mode (game mode 3)<br></br>+ Added one new achievement<br></br>+ Added “Customized” world type<br></br>+ Added hidden “Debug Mode” world type<br></br>+ Worlds can now have a world barrier<br></br>+ Added @e target selector for Command Blocks<br></br>+ Added /blockdata command<br></br>+ Added /clone command<br></br>+ Added /execute command<br></br>+ Added /fill command<br></br>+ Added /particle command<br></br>+ Added /testforblocks command<br></br>+ Added /title command<br></br>+ Added /trigger command<br></br>+ Added /worldborder command<br></br>+ Added /stats command<br></br>+ Containers can be locked in custom maps by using the “Lock” data tag<br></br>+ Added logAdminCommands, showDeathMessages, reducedDebugInfo, sendCommandFeedback, and randomTickSpeed game rules<br></br>+ Added three new statistics<br></br>+ Player skins can now have double layers across the whole model, and left/right arms/legs can be edited independently<br></br>+ Added a new player model with smaller arms, and a new player skin called Alex?<br></br>+ Added options for configuring what pieces of the skin that are visible<br></br>+ Blocks can now have custom visual variations in the resource packs<br></br>+ Minecraft Realms now has an activity chart, so you can see who has been online<br></br>+ Minecraft Realms now lets you upload your maps<br></br>* Difficulty setting is saved per world, and can be locked if wanted<br></br>* Enchanting has been redone, now costs lapis lazuli in addition to enchantment levels<br></br>* Villager trading has been rebalanced<br></br>* Anvil repairing has been rebalanced<br></br>* Considerable faster client-side performance<br></br>* Max render distance has been increased to 32 chunks (512 blocks)<br></br>* Adventure mode now prevents you from destroying blocks, unless your items have the CanDestroy data tag<br></br>* Resource packs can now also define the shape of blocks and items, and not just their textures<br></br>* Scoreboards have been given a lot of new features<br></br>* Tweaked the F3 debug screen<br></br>* Block ID numbers (such as 1 for stone), are being replaced by ID names (such as minecraft:stone)<br></br>* Server list has been improved<br></br>* A few minor changes to village and temple generation<br></br>* Mob heads for players now show both skin layers<br></br>* Buttons can now be placed on the ceiling<br></br>* Lots and lots of other changes<br></br>* LOTS AND LOTS of other changes<br></br>- Removed Herobrine</p>
+ <div><p>+ Added Granite, Andesite, and Diorite stone blocks, with smooth versions<br></br>+ Added Slime Block<br></br>+ Added Iron Trapdoor<br></br>+ Added Prismarine and Sea Lantern blocks<br></br>+ Added the Ocean Monument<br></br>+ Added Red Sandstone<br></br>+ Added Banners<br></br>+ Added Armor Stands<br></br>+ Added Coarse Dirt (dirt where grass won’t grow)<br></br>+ Added Guardian mobs, with item drops<br></br>+ Added Endermite mob<br></br>+ Added Rabbits, with item drops<br></br>+ Added Mutton and Cooked Mutton<br></br>+ Villagers will harvest crops and plant new ones<br></br>+ Mossy Cobblestone and Mossy Stone Bricks are now craftable<br></br>+ Chiseled Stone Bricks are now craftable<br></br>+ Doors and fences now come in all wood type variants<br></br>+ Sponge block has regained its water-absorbing ability and becomes wet<br></br>+ Added a spectator game mode (game mode 3)<br></br>+ Added one new achievement<br></br>+ Added “Customized” world type<br></br>+ Added hidden “Debug Mode” world type<br></br>+ Worlds can now have a world barrier<br></br>+ Added @e target selector for Command Blocks<br></br>+ Added /blockdata command<br></br>+ Added /clone command<br></br>+ Added /execute command<br></br>+ Added /fill command<br></br>+ Added /particle command<br></br>+ Added /testforblocks command<br></br>+ Added /title command<br></br>+ Added /trigger command<br></br>+ Added /worldborder command<br></br>+ Added /stats command<br></br>+ Containers can be locked in custom maps by using the “Lock” data tag<br></br>+ Added logAdminCommands, showDeathMessages, reducedDebugInfo, sendCommandFeedback, and randomTickSpeed game rules<br></br>+ Added three new statistics<br></br>+ Player skins can now have double layers across the whole model, and left/right arms/legs can be edited independently<br></br>+ Added a new player model with smaller arms, and a new player skin called Alex?<br></br>+ Added options for configuring what pieces of the skin that are visible<br></br>+ Blocks can now have custom visual variations in the resource packs<br></br>+ Minecraft Realms now has an activity chart, so you can see who has been online<br></br>+ Minecraft Realms now lets you upload your maps<br></br>* Difficulty setting is saved per world, and can be locked if wanted<br></br>* Enchanting has been redone, now costs lapis lazuli in addition to enchantment levels<br></br>* Villager trading has been rebalanced<br></br>* Anvil repairing has been rebalanced<br></br>* Considerable faster client-side performance<br></br>* Max render distance has been increased to 32 chunks (512 blocks)<br></br>* Adventure mode now prevents you from destroying blocks, unless your items have the CanDestroy data tag<br></br>* Resource packs can now also define the shape of blocks and items, and not just their textures<br></br>* Scoreboards have been given a lot of new features<br></br>* Tweaked the F3 debug screen<br></br>* Block ID numbers (such as 1 for stone), are being replaced by ID names (such as minecraft:stone)<br></br>* Server list has been improved<br></br>* A few minor changes to village and temple generation<br></br>* Mob heads for players now show both skin layers<br></br>* Buttons can now be placed on the ceiling<br></br>* Lots and lots of other changes<br></br>* LOTS AND LOTS of other changes<br></br>- Removed Herobrine</p></div>
</div>
</div>
diff --git a/test/test-pages/wapo-1/expected-images.json b/test/test-pages/wapo-1/expected-images.json
index 5a8b6ba..95ae464 100644
--- a/test/test-pages/wapo-1/expected-images.json
+++ b/test/test-pages/wapo-1/expected-images.json
@@ -1 +1 @@
-["http:\/\/img.washingtonpost.com\/rw\/2010-2019\/WashingtonPost\/2015\/03\/18\/Foreign\/Images\/Nic6429927.jpg","https:\/\/img.washingtonpost.com\/rf\/image_480w\/2010-2019\/WashingtonPost\/2015\/03\/18\/Foreign\/Graphics\/tunisia600.jpg?uuid=1_yuLs2LEeSHME9HNBbnWQ"] \ No newline at end of file
+["https:\/\/img.washingtonpost.com\/rf\/image_480w\/2010-2019\/WashingtonPost\/2015\/03\/18\/Foreign\/Graphics\/tunisia600.jpg?uuid=1_yuLs2LEeSHME9HNBbnWQ"] \ No newline at end of file
diff --git a/test/test-pages/wapo-1/expected.html b/test/test-pages/wapo-1/expected.html
index 1853a35..ed051e8 100644
--- a/test/test-pages/wapo-1/expected.html
+++ b/test/test-pages/wapo-1/expected.html
@@ -48,7 +48,7 @@
the investigation.</p>
<div>
- <p> <span>Gunmen in military uniforms stormed Tunisia's national museum, killing at least 19 people, most of them foreign tourists. (Reuters)</span>
+ <p><span>Gunmen in military uniforms stormed Tunisia's national museum, killing at least 19 people, most of them foreign tourists. (Reuters)</span>
</p>
</div>
<p>“This attack today is meant to threaten authorities, to frighten tourists
@@ -85,8 +85,8 @@
fire for what many Tunisians saw as a failure to crack down on Islamist
extremists.</p>
<div>
- <span>Map: Flow of foreign fighters to Syria</span>
- </div>
+ <p><span>Map: Flow of foreign fighters to Syria</span>
+ </p></div>
<p>After the collapse of the authoritarian system in 2011, hard-line Muslims
known as Salafists attacked bars and art galleries. Then, in 2012, hundreds
of Islamists <a href="http://www.washingtonpost.com/world/middle_east/in-tunisia-embassy-attack-tests-fledgling-democracy/2012/09/20/19f3986a-0273-11e2-8102-ebee9c66e190_story.html">assaulted the U.S. Embassy </a>in
@@ -112,8 +112,7 @@
<p>In January, Libyan militants loyal to the Islamic State <a href="http://www.washingtonpost.com/world/middle_east/video-shows-purported-beheading-of-egyptian-christians-in-libya/2015/02/15/b8d0f092-b548-11e4-bc30-a4e75503948a_story.html">beheaded 21 Christians</a> —
20 of them Egyptian Copts — along the country’s coast. They later seized
the Libyan city of Sirte.</p>
- <div>
- <img data-hi-res-src="https://img.washingtonpost.com/rf/image_1484w/2010-2019/WashingtonPost/2015/03/18/Foreign/Graphics/tunisia600.jpg?uuid=1_yuLs2LEeSHME9HNBbnWQ" data-low-res-src="https://img.washingtonpost.com/rf/image_480w/2010-2019/WashingtonPost/2015/03/18/Foreign/Graphics/tunisia600.jpg?uuid=1_yuLs2LEeSHME9HNBbnWQ" src="https://img.washingtonpost.com/rf/image_480w/2010-2019/WashingtonPost/2015/03/18/Foreign/Graphics/tunisia600.jpg?uuid=1_yuLs2LEeSHME9HNBbnWQ"></img><br></br></div>
+ <p><img data-hi-res-src="https://img.washingtonpost.com/rf/image_1484w/2010-2019/WashingtonPost/2015/03/18/Foreign/Graphics/tunisia600.jpg?uuid=1_yuLs2LEeSHME9HNBbnWQ" data-low-res-src="https://img.washingtonpost.com/rf/image_480w/2010-2019/WashingtonPost/2015/03/18/Foreign/Graphics/tunisia600.jpg?uuid=1_yuLs2LEeSHME9HNBbnWQ" src="https://img.washingtonpost.com/rf/image_480w/2010-2019/WashingtonPost/2015/03/18/Foreign/Graphics/tunisia600.jpg?uuid=1_yuLs2LEeSHME9HNBbnWQ"></img><br></br></p>
<p>Officials are worried about the number of Tunisian militants who may have
joined the jihadists in Libya — with the goal of returning home to fight
the Tunis government.</p>
diff --git a/test/test-pages/wapo-2/expected-images.json b/test/test-pages/wapo-2/expected-images.json
index 7783ad7..c5ed262 100644
--- a/test/test-pages/wapo-2/expected-images.json
+++ b/test/test-pages/wapo-2/expected-images.json
@@ -1 +1 @@
-["http:\/\/img.washingtonpost.com\/rw\/2010-2019\/WashingtonPost\/2015\/03\/18\/National-Economy\/Images\/Nic6429750-1138.jpg","http:\/\/img.washingtonpost.com\/wp-apps\/imrs.php?src=http:\/\/www.washingtonpost.com\/blogs\/wonkblog\/files\/2014\/07\/mufson_steve.jpg&h=180&w=180"] \ No newline at end of file
+["https:\/\/img.washingtonpost.com\/rf\/image_400w\/2010-2019\/WashingtonPost\/2015\/03\/18\/National-Economy\/Images\/Nic6429750-1140.jpg?uuid=zLIZQs2KEeSip5UXo6cFBg","http:\/\/img.washingtonpost.com\/wp-apps\/imrs.php?src=http:\/\/www.washingtonpost.com\/blogs\/wonkblog\/files\/2014\/07\/mufson_steve.jpg&h=180&w=180"] \ No newline at end of file
diff --git a/test/test-pages/wapo-2/expected.html b/test/test-pages/wapo-2/expected.html
index 2f540e2..cb2a8ce 100644
--- a/test/test-pages/wapo-2/expected.html
+++ b/test/test-pages/wapo-2/expected.html
@@ -1,4 +1,6 @@
-<article><p>President Obama told the U.N. General Assembly 18 months ago that he would
+<p><a name="1c164a7079bfe20ebd611d79f96418b5a225cbc6"></a>
+ <img data-hi-res-src="https://img.washingtonpost.com/rf/image_1484w/2010-2019/WashingtonPost/2015/03/18/National-Economy/Images/Nic6429750-1140.jpg?uuid=zLIZQs2KEeSip5UXo6cFBg" data-low-res-src="https://img.washingtonpost.com/rf/image_400w/2010-2019/WashingtonPost/2015/03/18/National-Economy/Images/Nic6429750-1140.jpg?uuid=zLIZQs2KEeSip5UXo6cFBg" src="https://img.washingtonpost.com/rf/image_400w/2010-2019/WashingtonPost/2015/03/18/National-Economy/Images/Nic6429750-1140.jpg?uuid=zLIZQs2KEeSip5UXo6cFBg"></img><br></br><span>Israeli Prime Minister Benjamin Netanyahu reacts as he visits the Western Wall in Jerusalem on March 18 following his party's victory in Israel's general election. (Thomas Coex/AFP/Getty Images)</span>
+ </p><article><p>President Obama told the U.N. General Assembly 18 months ago that he would
seek “real breakthroughs on these two issues — Iran’s nuclear program and
­Israeli-Palestinian peace.”</p>
<p>But <a href="http://www.washingtonpost.com/world/netanyahu-sweeps-to-victory-in-israeli-election/2015/03/18/af4e50ca-ccf2-11e4-8730-4f473416e759_story.html" title="www.washingtonpost.com">Benjamin Netanyahu’s triumph</a> in Tuesday’s
@@ -18,7 +20,7 @@
stand up to Obama and even fewer among longtime allies.</p>
<div>
- <p> <span>Israeli Prime Minister Benjamin Netanyahu pledged to form a new governing coalition quickly after an upset election victory that was built on a shift to the right. (Reuters)</span>
+ <p><span>Israeli Prime Minister Benjamin Netanyahu pledged to form a new governing coalition quickly after an upset election victory that was built on a shift to the right. (Reuters)</span>
</p>
</div>
<p>In the past, Israeli leaders who risked damaging the country’s most important
@@ -93,8 +95,7 @@
<p>“That could be an issue forced onto the agenda about the same time as
a potential nuclear deal.”</p>
- </article><div><a href="http://www.washingtonpost.com/people/steven-mufson"><img src="http://img.washingtonpost.com/wp-apps/imrs.php?src=http://www.washingtonpost.com/blogs/wonkblog/files/2014/07/mufson_steve.jpg&amp;h=180&amp;w=180"></img></a>
- <p>Steven Mufson covers the White House. Since joining The Post, he has covered
+ </article><div><p><a href="http://www.washingtonpost.com/people/steven-mufson"><img src="http://img.washingtonpost.com/wp-apps/imrs.php?src=http://www.washingtonpost.com/blogs/wonkblog/files/2014/07/mufson_steve.jpg&amp;h=180&amp;w=180"></img></a></p><p>Steven Mufson covers the White House. Since joining The Post, he has covered
economics, China, foreign policy and energy.</p>
</div> \ No newline at end of file
diff --git a/test/test-pages/webmd-1/expected.html b/test/test-pages/webmd-1/expected.html
index 6f773fe..ddbe3d8 100644
--- a/test/test-pages/webmd-1/expected.html
+++ b/test/test-pages/webmd-1/expected.html
@@ -39,8 +39,6 @@
another study presented at the same meeting held out hope of a treatment.</p>
<p>A new skin patch called Viaskin allowed people with peanut allergies to
eat tiny amounts of peanuts after they wore it for a year.</p>
- <a name="1"> </a>
-
<h3>A Change in Guidelines?</h3>
<p>Allergies to peanuts and other foods are on the rise. In the U.S., more
diff --git a/test/test-pages/webmd-2/expected.html b/test/test-pages/webmd-2/expected.html
index ca22ee7..d9e1816 100644
--- a/test/test-pages/webmd-2/expected.html
+++ b/test/test-pages/webmd-2/expected.html
@@ -12,7 +12,6 @@
- <a name="1"> </a>
<h3>But First: What's a Superbug? </h3>
<p>It's a term coined by the media to describe bacteria that cannot be killed using multiple <a class="" href="http://www.webmd.com/cold-and-flu/rm-quiz-antibiotics-myths-facts" onclick="return sl(this,'','embd-lnk');">antibiotics</a>. "It resonates because it's scary," says Stephen Calderwood, MD, president of the Infectious Diseases Society of America. "But in fairness, there is no real definition."</p>
<p>Instead, doctors often use phrases like "multidrug-resistant bacteria." That's because a superbug isn't necessarily resistant to all antibiotics. It refers to bacteria that can't be treated using two or more, says Brian K. Coombes, PhD, of McMaster University in Ontario.</p>
diff --git a/test/test-pages/wikia/expected-images.json b/test/test-pages/wikia/expected-images.json
index 36da355..1a75626 100644
--- a/test/test-pages/wikia/expected-images.json
+++ b/test/test-pages/wikia/expected-images.json
@@ -1 +1 @@
-["https:\/\/vignette.wikia.nocookie.net\/1fb5ee36-d9ae-4125-96d9-f52eb403f1c9\/thumbnail-down\/width\/1280\/height\/720","https:\/\/vignette.wikia.nocookie.net\/e80dae8a-b955-43f6-8ada-f023385e622b\/scale-to-width-down\/627","https:\/\/vignette.wikia.nocookie.net\/375e0e5a-170d-4560-8f20-240c9f0624e9\/scale-to-width-down\/627","https:\/\/vignette.wikia.nocookie.net\/1fb5ee36-d9ae-4125-96d9-f52eb403f1c9\/scale-to-width-down\/627"] \ No newline at end of file
+["https:\/\/vignette.wikia.nocookie.net\/e80dae8a-b955-43f6-8ada-f023385e622b\/scale-to-width-down\/627","https:\/\/vignette.wikia.nocookie.net\/375e0e5a-170d-4560-8f20-240c9f0624e9\/scale-to-width-down\/627","https:\/\/vignette.wikia.nocookie.net\/1fb5ee36-d9ae-4125-96d9-f52eb403f1c9\/scale-to-width-down\/627"] \ No newline at end of file
diff --git a/test/test-pages/wikipedia/expected.html b/test/test-pages/wikipedia/expected.html
index 3ae3f69..8de3ffa 100644
--- a/test/test-pages/wikipedia/expected.html
+++ b/test/test-pages/wikipedia/expected.html
@@ -38,14 +38,13 @@
</h2>
<div>
<div>
- <a href="http://fakehost/wiki/File:Mozilla_Firefox_logo_2013.svg"><img alt="" data-file-height="373" data-file-width="352" height="233" src="http://upload.wikimedia.org/wikipedia/commons/thumb/7/76/Mozilla_Firefox_logo_2013.svg/220px-Mozilla_Firefox_logo_2013.svg.png" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/7/76/Mozilla_Firefox_logo_2013.svg/330px-Mozilla_Firefox_logo_2013.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/7/76/Mozilla_Firefox_logo_2013.svg/440px-Mozilla_Firefox_logo_2013.svg.png 2x" width="220"></img></a>
-
+ <p><a href="http://fakehost/wiki/File:Mozilla_Firefox_logo_2013.svg"><img alt="" data-file-height="373" data-file-width="352" height="233" src="http://upload.wikimedia.org/wikipedia/commons/thumb/7/76/Mozilla_Firefox_logo_2013.svg/220px-Mozilla_Firefox_logo_2013.svg.png" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/7/76/Mozilla_Firefox_logo_2013.svg/330px-Mozilla_Firefox_logo_2013.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/7/76/Mozilla_Firefox_logo_2013.svg/440px-Mozilla_Firefox_logo_2013.svg.png 2x" width="220"></img></a></p>
</div>
</div>
<h3><span id="Firefox">Firefox</span><span><span>[</span><a href="http://fakehost/w/index.php?title=Mozilla&amp;action=edit&amp;section=6" title="Edit section: Firefox">edit</a><span>]</span></span>
</h3>
- <p><a href="http://fakehost/wiki/Firefox" title="Firefox">Firefox</a> is a <a href="http://fakehost/wiki/Web_browser" title="Web browser">web browser</a>, and is Mozilla's <a href="http://fakehost/wiki/Flagship_product" title="Flagship product">flagship</a> software product. It is available in both desktop and mobile versions. Firefox uses the <a href="http://fakehost/wiki/Gecko_(software)" title="Gecko (software)">Gecko</a> <a href="http://fakehost/wiki/Layout_engine" title="Layout engine">layout engine</a> to render web pages, which implements current and anticipated <a href="http://fakehost/wiki/Web_standards" title="Web standards">web standards</a>.<sup id="cite_ref-42"><a href="#cite_note-42">[42]</a></sup> As of late 2015<sup><a href="http://en.wikipedia.org/w/index.php?title=Mozilla&amp;action=edit">[update]</a></sup>, Firefox has approximately 10-11% of worldwide <a href="http://fakehost/wiki/Usage_share_of_web_browsers#Summary" title="Usage share of web browsers">usage share of web browsers</a>, making it the 4th most-used web browser.<sup id="cite_ref-w3counter1_43-0"><a href="#cite_note-w3counter1-43">[43]</a></sup><sup id="cite_ref-gs.statcounter.com_44-0"><a href="#cite_note-gs.statcounter.com-44">[44]</a></sup><sup id="cite_ref-getclicky1_45-0"><a href="#cite_note-getclicky1-45">[45]</a></sup></p>
+ <p><a href="http://fakehost/wiki/Firefox" title="Firefox">Firefox</a> is a <a href="http://fakehost/wiki/Web_browser" title="Web browser">web browser</a>, and is Mozilla's <a href="http://fakehost/wiki/Flagship_product" title="Flagship product">flagship</a> software product. It is available in both desktop and mobile versions. Firefox uses the <a href="http://fakehost/wiki/Gecko_(software)" title="Gecko (software)">Gecko</a> <a href="http://fakehost/wiki/Layout_engine" title="Layout engine">layout engine</a> to render web pages, which implements current and anticipated <a href="http://fakehost/wiki/Web_standards" title="Web standards">web standards</a>.<sup id="cite_ref-42"><a href="#cite_note-42">[42]</a></sup> As of late 2015, Firefox has approximately 10-11% of worldwide <a href="http://fakehost/wiki/Usage_share_of_web_browsers#Summary" title="Usage share of web browsers">usage share of web browsers</a>, making it the 4th most-used web browser.<sup id="cite_ref-w3counter1_43-0"><a href="#cite_note-w3counter1-43">[43]</a></sup><sup id="cite_ref-gs.statcounter.com_44-0"><a href="#cite_note-gs.statcounter.com-44">[44]</a></sup><sup id="cite_ref-getclicky1_45-0"><a href="#cite_note-getclicky1-45">[45]</a></sup></p>
<p>Firefox began as an experimental branch of the <a href="http://fakehost/wiki/Mozilla#Mozilla_Project" title="Mozilla">Mozilla codebase</a> by <a href="http://fakehost/wiki/Dave_Hyatt" title="Dave Hyatt">Dave Hyatt</a>, <a href="http://fakehost/wiki/Joe_Hewitt_(programmer)" title="Joe Hewitt (programmer)">Joe Hewitt</a> and <a href="http://fakehost/wiki/Blake_Ross" title="Blake Ross">Blake Ross</a>. They believed the commercial requirements of <a href="http://fakehost/wiki/Netscape" title="Netscape">Netscape's</a> sponsorship and developer-driven <a href="http://fakehost/wiki/Feature_creep" title="Feature creep">feature creep</a> compromised the utility of the Mozilla browser.<sup id="cite_ref-46"><a href="#cite_note-46">[46]</a></sup> To combat what they saw as the <a href="http://fakehost/wiki/Mozilla_Application_Suite" title="Mozilla Application Suite">Mozilla Suite's</a> <a href="http://fakehost/wiki/Software_bloat" title="Software bloat">software bloat</a>, they created a stand-alone browser, with which they intended to replace the Mozilla Suite.</p>
<p>Firefox was originally named <i>Phoenix</i> but the name was changed so as to avoid trademark conflicts with <a href="http://fakehost/wiki/Phoenix_Technologies" title="Phoenix Technologies">Phoenix Technologies</a>. The initially-announced replacement, <i>Firebird</i>, provoked objections from the <a href="http://fakehost/wiki/Firebird_(database_server)" title="Firebird (database server)">Firebird</a> project community.<sup id="cite_ref-47"><a href="#cite_note-47">[47]</a></sup><sup id="cite_ref-48"><a href="#cite_note-48">[48]</a></sup> The current name, Firefox, was chosen on February 9, 2004.<sup id="cite_ref-49"><a href="#cite_note-49">[49]</a></sup></p>
<h3><span id="Firefox_Mobile">Firefox Mobile</span><span><span>[</span><a href="http://fakehost/w/index.php?title=Mozilla&amp;action=edit&amp;section=7" title="Edit section: Firefox Mobile">edit</a><span>]</span></span>
@@ -69,8 +68,7 @@
<div>
<div>
- <a href="http://fakehost/wiki/File:SeaMonkey.png"><img alt="" data-file-height="128" data-file-width="128" height="128" src="http://upload.wikimedia.org/wikipedia/commons/0/0d/SeaMonkey.png" width="128"></img></a>
-
+ <p><a href="http://fakehost/wiki/File:SeaMonkey.png"><img alt="" data-file-height="128" data-file-width="128" height="128" src="http://upload.wikimedia.org/wikipedia/commons/0/0d/SeaMonkey.png" width="128"></img></a></p>
</div>
</div>
<p><a href="http://fakehost/wiki/SeaMonkey" title="SeaMonkey">SeaMonkey</a> (formerly the Mozilla Application Suite) is a free and open source cross platform suite of Internet software components including a web browser component, a client for sending and receiving email and <a href="http://fakehost/wiki/USENET" title="USENET">USENET</a> newsgroup messages, an HTML editor (<a href="http://fakehost/wiki/Mozilla_Composer" title="Mozilla Composer">Mozilla Composer</a>) and the <a href="http://fakehost/wiki/ChatZilla" title="ChatZilla">ChatZilla</a> IRC client.</p>
@@ -81,8 +79,7 @@
<div>
<div>
- <a href="http://fakehost/wiki/File:Buggie.svg"><img alt="" data-file-height="125" data-file-width="95" height="289" src="http://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Buggie.svg/220px-Buggie.svg.png" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Buggie.svg/330px-Buggie.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Buggie.svg/440px-Buggie.svg.png 2x" width="220"></img></a>
-
+ <p><a href="http://fakehost/wiki/File:Buggie.svg"><img alt="" data-file-height="125" data-file-width="95" height="289" src="http://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Buggie.svg/220px-Buggie.svg.png" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Buggie.svg/330px-Buggie.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Buggie.svg/440px-Buggie.svg.png 2x" width="220"></img></a></p>
</div>
</div>
<p><a href="http://fakehost/wiki/Bugzilla" title="Bugzilla">Bugzilla</a> is a <a href="http://fakehost/wiki/World_Wide_Web" title="World Wide Web">web</a>-based general-purpose <a href="http://fakehost/wiki/Bug_tracking_system" title="Bug tracking system">bug tracking system</a>, which was released as <a href="http://fakehost/wiki/Open_source_software" title="Open source software">open source software</a> by <a href="http://fakehost/wiki/Netscape_Communications" title="Netscape Communications">Netscape Communications</a> in 1998 along with the rest of the Mozilla codebase, and is currently stewarded by Mozilla. It has been adopted by a variety of organizations for use as a <a href="http://fakehost/wiki/Bug_tracking_system" title="Bug tracking system">bug tracking system</a> for both <a href="http://fakehost/wiki/Free_and_open_source_software" title="Free and open source software">free and open source software</a> and <a href="http://fakehost/wiki/Proprietary_software" title="Proprietary software">proprietary</a> projects and products, including the <a href="http://fakehost/wiki/The_Mozilla_Foundation" title="The Mozilla Foundation">Mozilla Foundation</a>, the <a href="http://fakehost/wiki/Linux_kernel" title="Linux kernel">Linux kernel</a>, <a href="http://fakehost/wiki/GNOME" title="GNOME">GNOME</a>, <a href="http://fakehost/wiki/KDE" title="KDE">KDE</a>, <a href="http://fakehost/wiki/Red_Hat" title="Red Hat">Red Hat</a>, <a href="http://fakehost/wiki/Novell" title="Novell">Novell</a>, <a href="http://fakehost/wiki/Eclipse_(software)" title="Eclipse (software)">Eclipse</a> and <a href="http://fakehost/wiki/LibreOffice" title="LibreOffice">LibreOffice</a>.<sup id="cite_ref-59"><a href="#cite_note-59">[59]</a></sup></p>
@@ -151,8 +148,7 @@
</h3>
<div>
<div>
- <a href="http://fakehost/wiki/File:London_Mozilla_Workspace.jpg"><img alt="" data-file-height="1656" data-file-width="2500" height="146" src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2a/London_Mozilla_Workspace.jpg/220px-London_Mozilla_Workspace.jpg" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/2a/London_Mozilla_Workspace.jpg/330px-London_Mozilla_Workspace.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/2a/London_Mozilla_Workspace.jpg/440px-London_Mozilla_Workspace.jpg 2x" width="220"></img></a>
-
+ <p><a href="http://fakehost/wiki/File:London_Mozilla_Workspace.jpg"><img alt="" data-file-height="1656" data-file-width="2500" height="146" src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/2a/London_Mozilla_Workspace.jpg/220px-London_Mozilla_Workspace.jpg" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/2a/London_Mozilla_Workspace.jpg/330px-London_Mozilla_Workspace.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/2a/London_Mozilla_Workspace.jpg/440px-London_Mozilla_Workspace.jpg 2x" width="220"></img></a></p>
</div>
</div>
<p>There are a number of sub-communities that exist based on their geographical locations, where contributors near each other work together on particular activities, such as localization, marketing, PR and user support.</p>
@@ -160,8 +156,7 @@
</h3>
<div>
<div>
- <a href="http://fakehost/wiki/File:Mozilla_Reps.png"><img alt="" data-file-height="183" data-file-width="400" height="101" src="http://upload.wikimedia.org/wikipedia/commons/thumb/0/0b/Mozilla_Reps.png/220px-Mozilla_Reps.png" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/0b/Mozilla_Reps.png/330px-Mozilla_Reps.png 1.5x, //upload.wikimedia.org/wikipedia/commons/0/0b/Mozilla_Reps.png 2x" width="220"></img></a>
-
+ <p><a href="http://fakehost/wiki/File:Mozilla_Reps.png"><img alt="" data-file-height="183" data-file-width="400" height="101" src="http://upload.wikimedia.org/wikipedia/commons/thumb/0/0b/Mozilla_Reps.png/220px-Mozilla_Reps.png" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/0b/Mozilla_Reps.png/330px-Mozilla_Reps.png 1.5x, //upload.wikimedia.org/wikipedia/commons/0/0b/Mozilla_Reps.png 2x" width="220"></img></a></p>
</div>
</div>
<p>The Mozilla Reps program aims to empower and support volunteer Mozillians who want to become official representatives of Mozilla in their region/locale.</p>
@@ -179,10 +174,9 @@
</h4>
<div>
<div>
- <a href="http://fakehost/wiki/File:Fireside_Chat,_Knight%27s_Michael_Maness_and_Dan_Sinker_-_Flickr_-_Knight_Foundation.jpg"><img alt="" data-file-height="854" data-file-width="1280" height="147" src="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e4/Fireside_Chat%2C_Knight%27s_Michael_Maness_and_Dan_Sinker_-_Flickr_-_Knight_Foundation.jpg/220px-Fireside_Chat%2C_Knight%27s_Michael_Maness_and_Dan_Sinker_-_Flickr_-_Knight_Foundation.jpg" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/e4/Fireside_Chat%2C_Knight%27s_Michael_Maness_and_Dan_Sinker_-_Flickr_-_Knight_Foundation.jpg/330px-Fireside_Chat%2C_Knight%27s_Michael_Maness_and_Dan_Sinker_-_Flickr_-_Knight_Foundation.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/e4/Fireside_Chat%2C_Knight%27s_Michael_Maness_and_Dan_Sinker_-_Flickr_-_Knight_Foundation.jpg/440px-Fireside_Chat%2C_Knight%27s_Michael_Maness_and_Dan_Sinker_-_Flickr_-_Knight_Foundation.jpg 2x" width="220"></img></a>
- <div>
+ <p><a href="http://fakehost/wiki/File:Fireside_Chat,_Knight%27s_Michael_Maness_and_Dan_Sinker_-_Flickr_-_Knight_Foundation.jpg"><img alt="" data-file-height="854" data-file-width="1280" height="147" src="http://upload.wikimedia.org/wikipedia/commons/thumb/e/e4/Fireside_Chat%2C_Knight%27s_Michael_Maness_and_Dan_Sinker_-_Flickr_-_Knight_Foundation.jpg/220px-Fireside_Chat%2C_Knight%27s_Michael_Maness_and_Dan_Sinker_-_Flickr_-_Knight_Foundation.jpg" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/e/e4/Fireside_Chat%2C_Knight%27s_Michael_Maness_and_Dan_Sinker_-_Flickr_-_Knight_Foundation.jpg/330px-Fireside_Chat%2C_Knight%27s_Michael_Maness_and_Dan_Sinker_-_Flickr_-_Knight_Foundation.jpg 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/e/e4/Fireside_Chat%2C_Knight%27s_Michael_Maness_and_Dan_Sinker_-_Flickr_-_Knight_Foundation.jpg/440px-Fireside_Chat%2C_Knight%27s_Michael_Maness_and_Dan_Sinker_-_Flickr_-_Knight_Foundation.jpg 2x" width="220"></img></a></p><div>
<p>
- Speakers from the </p><a href="http://fakehost/wiki/Knight_Foundation" title="Knight Foundation">Knight Foundation</a><p> discuss the future of news at the 2011 Mozilla Festival in London.</p></div>
+ Speakers from the <a href="http://fakehost/wiki/Knight_Foundation" title="Knight Foundation">Knight Foundation</a> discuss the future of news at the 2011 Mozilla Festival in London.</p></div>
</div>
</div>
<p>The Mozilla Festival is an annual event where hundreds of passionate people explore the Web, learn together and make things that can change the world. With the emphasis on <i>making</i>—the mantra of the Festival is "less yack, more hack." Journalists, coders, filmmakers, designers, educators, gamers, makers, youth and anyone else, from all over the world, are encouraged to attend, with attendees from more than 40 countries, working together at the intersection between freedom, the Web, and that years theme.</p>
@@ -204,221 +198,221 @@
</h2>
<div>
<ol><li id="cite_note-1"><span><b><a href="#cite_ref-1">^</a></b></span> <span>For exceptions, see "Values" section below</span></li>
- <li id="cite_note-2"><span><b><a href="#cite_ref-2">^</a></b></span> <span><cite><a href="https://www.mozilla.org/foundation/moco/" rel="nofollow">"About the Mozilla Corporation"</a>. Mozilla Foundation.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=About+the+Mozilla+Corporation&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwww.mozilla.org%2Ffoundation%2Fmoco%2F&amp;rft.pub=Mozilla+Foundation&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-2"><span><b><a href="#cite_ref-2">^</a></b></span> <span><cite><a href="https://www.mozilla.org/foundation/moco/" rel="nofollow">"About the Mozilla Corporation"</a>. Mozilla Foundation.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=About+the+Mozilla+Corporation&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwww.mozilla.org%2Ffoundation%2Fmoco%2F&amp;rft.pub=Mozilla+Foundation&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-3"><span><b><a href="#cite_ref-3">^</a></b></span> <span><cite><a href="http://www.oreilly.com/openbook/opensources/book/netrev.html" rel="nofollow">"Freeing the Source: The Story of Mozilla"</a>. <i>Open Sources: Voices from the Open Source Revolution</i><span>. Retrieved <span>2016-05-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Freeing+the+Source%3A+The+Story+of+Mozilla&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.oreilly.com%2Fopenbook%2Fopensources%2Fbook%2Fnetrev.html&amp;rft.jtitle=Open+Sources%3A+Voices+from+the+Open+Source+Revolution&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-3"><span><b><a href="#cite_ref-3">^</a></b></span> <span><cite><a href="http://www.oreilly.com/openbook/opensources/book/netrev.html" rel="nofollow">"Freeing the Source: The Story of Mozilla"</a>. <i>Open Sources: Voices from the Open Source Revolution</i><span>. Retrieved <span>2016-05-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Freeing+the+Source%3A+The+Story+of+Mozilla&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.oreilly.com%2Fopenbook%2Fopensources%2Fbook%2Fnetrev.html&amp;rft.jtitle=Open+Sources%3A+Voices+from+the+Open+Source+Revolution&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-4"><span><b><a href="#cite_ref-4">^</a></b></span> <span><cite><a href="https://whois.domaintools.com/mozilla.org" rel="nofollow">"Mozilla.org WHOIS, DNS, &amp; Domain Info"</a>. <i>DomainTools</i><span>. Retrieved <span>1 May</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Mozilla.org+WHOIS%2C+DNS%2C+%26+Domain+Info&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwhois.domaintools.com%2Fmozilla.org&amp;rft.jtitle=DomainTools&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-4"><span><b><a href="#cite_ref-4">^</a></b></span> <span><cite><a href="https://whois.domaintools.com/mozilla.org" rel="nofollow">"Mozilla.org WHOIS, DNS, &amp; Domain Info"</a>. <i>DomainTools</i><span>. Retrieved <span>1 May</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Mozilla.org+WHOIS%2C+DNS%2C+%26+Domain+Info&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwhois.domaintools.com%2Fmozilla.org&amp;rft.jtitle=DomainTools&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-google-5"><span><b><a href="#cite_ref-google_5-0">^</a></b></span> <span><cite>Payment, S. (2007). <a href="http://books.google.co.uk/books?id=zyIvOn7sKCsC" rel="nofollow"><i>Marc Andreessen and Jim Clark: The Founders of Netscape</i></a>. Rosen Publishing Group. <a href="http://fakehost/wiki/International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <a href="http://fakehost/wiki/Special:BookSources/9781404207196" title="Special:BookSources/9781404207196">9781404207196</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.au=Payment%2C+S.&amp;rft.btitle=Marc+Andreessen+and+Jim+Clark%3A+The+Founders+of+Netscape&amp;rft.date=2007&amp;rft.genre=book&amp;rft_id=%2F%2Fbooks.google.co.uk%2Fbooks%3Fid%3DzyIvOn7sKCsC&amp;rft.isbn=9781404207196&amp;rft.pub=Rosen+Publishing+Group&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-google-5"><span><b><a href="#cite_ref-google_5-0">^</a></b></span> <span><cite>Payment, S. (2007). <a href="http://books.google.co.uk/books?id=zyIvOn7sKCsC" rel="nofollow"><i>Marc Andreessen and Jim Clark: The Founders of Netscape</i></a>. Rosen Publishing Group. <a href="http://fakehost/wiki/International_Standard_Book_Number" title="International Standard Book Number">ISBN</a> <a href="http://fakehost/wiki/Special:BookSources/9781404207196" title="Special:BookSources/9781404207196">9781404207196</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.au=Payment%2C+S.&amp;rft.btitle=Marc+Andreessen+and+Jim+Clark%3A+The+Founders+of+Netscape&amp;rft.date=2007&amp;rft.genre=book&amp;rft_id=%2F%2Fbooks.google.co.uk%2Fbooks%3Fid%3DzyIvOn7sKCsC&amp;rft.isbn=9781404207196&amp;rft.pub=Rosen+Publishing+Group&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-Mozilla_Launch_Announcement-6"><span><b><a href="#cite_ref-Mozilla_Launch_Announcement_6-0">^</a></b></span> <span><cite><a href="https://web.archive.org/web/20021004080737/wp.netscape.com/newsref/pr/newsrelease577.html" rel="nofollow">"Netscape Announces mozilla.org, a Dedicated Team and Web Site Supporting Development of Free Client Source Code"</a>. Netscape. Archived from the original on October 4, 2002<span>. Retrieved <span>2012-08-21</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Netscape+Announces+mozilla.org%2C+a+Dedicated+Team+and+Web+Site+Supporting+Development+of+Free+Client+Source+Code&amp;rft.genre=unknown&amp;rft_id=%2F%2Fwp.netscape.com%2Fnewsref%2Fpr%2Fnewsrelease577.html&amp;rft.pub=Netscape&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span> </span>
+ <li id="cite_note-Mozilla_Launch_Announcement-6"><span><b><a href="#cite_ref-Mozilla_Launch_Announcement_6-0">^</a></b></span> <span><cite><a href="https://web.archive.org/web/20021004080737/wp.netscape.com/newsref/pr/newsrelease577.html" rel="nofollow">"Netscape Announces mozilla.org, a Dedicated Team and Web Site Supporting Development of Free Client Source Code"</a>. Netscape. Archived from the original on October 4, 2002<span>. Retrieved <span>2012-08-21</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Netscape+Announces+mozilla.org%2C+a+Dedicated+Team+and+Web+Site+Supporting+Development+of+Free+Client+Source+Code&amp;rft.genre=unknown&amp;rft_id=%2F%2Fwp.netscape.com%2Fnewsref%2Fpr%2Fnewsrelease577.html&amp;rft.pub=Netscape&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span> </span>
</li>
- <li id="cite_note-7"><span><b><a href="#cite_ref-7">^</a></b></span> <span><cite><a href="http://www.highbeam.com/doc/1G1-20453744.html" rel="nofollow">"Mac vendors ponder Netscape gambit."</a>. <i>Macworld</i>. 1 May 1998<span>. Retrieved <span>2012-08-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Mac+vendors+ponder+Netscape+gambit.&amp;rft.date=1998-05-01&amp;rft.genre=article&amp;rft_id=http%3A%2F%2Fwww.highbeam.com%2Fdoc%2F1G1-20453744.html&amp;rft.jtitle=Macworld&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-7"><span><b><a href="#cite_ref-7">^</a></b></span> <span><cite><a href="http://www.highbeam.com/doc/1G1-20453744.html" rel="nofollow">"Mac vendors ponder Netscape gambit."</a>. <i>Macworld</i>. 1 May 1998<span>. Retrieved <span>2012-08-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Mac+vendors+ponder+Netscape+gambit.&amp;rft.date=1998-05-01&amp;rft.genre=article&amp;rft_id=http%3A%2F%2Fwww.highbeam.com%2Fdoc%2F1G1-20453744.html&amp;rft.jtitle=Macworld&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-8"><span><b><a href="#cite_ref-8">^</a></b></span> <span><cite>Zawinski, Jamie (1996). <a href="http://www.jwz.org/gruntle/nscpdorm.html" rel="nofollow">"nscp dorm"</a><span>. Retrieved <span>2007-10-12</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.aufirst=Jamie&amp;rft.aulast=Zawinski&amp;rft.btitle=nscp+dorm&amp;rft.date=1996&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.jwz.org%2Fgruntle%2Fnscpdorm.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-8"><span><b><a href="#cite_ref-8">^</a></b></span> <span><cite>Zawinski, Jamie (1996). <a href="http://www.jwz.org/gruntle/nscpdorm.html" rel="nofollow">"nscp dorm"</a><span>. Retrieved <span>2007-10-12</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.aufirst=Jamie&amp;rft.aulast=Zawinski&amp;rft.btitle=nscp+dorm&amp;rft.date=1996&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.jwz.org%2Fgruntle%2Fnscpdorm.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-9"><span><b><a href="#cite_ref-9">^</a></b></span> <span><cite>Dave Titus with assistance from Andrew Wong. <a href="http://www.davetitus.com/mozilla/" rel="nofollow">"How was Mozilla born"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.au=Dave+Titus+with+assistance+from+Andrew+Wong&amp;rft.btitle=How+was+Mozilla+born&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.davetitus.com%2Fmozilla%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-9"><span><b><a href="#cite_ref-9">^</a></b></span> <span><cite>Dave Titus with assistance from Andrew Wong. <a href="http://www.davetitus.com/mozilla/" rel="nofollow">"How was Mozilla born"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.au=Dave+Titus+with+assistance+from+Andrew+Wong&amp;rft.btitle=How+was+Mozilla+born&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.davetitus.com%2Fmozilla%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-10"><span><b><a href="#cite_ref-10">^</a></b></span> <span><cite><a href="http://www-archive.mozilla.org/hacking/coding-introduction.html" rel="nofollow">"Introduction to Mozilla Source Code"</a>. Mozilla<span>. Retrieved <span>2012-08-18</span></span>. <q>However, mozilla.org wants to emphasize that these milestones are being produced for testing purposes only.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Introduction+to+Mozilla+Source+Code&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww-archive.mozilla.org%2Fhacking%2Fcoding-introduction.html&amp;rft.pub=Mozilla&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-10"><span><b><a href="#cite_ref-10">^</a></b></span> <span><cite><a href="http://www-archive.mozilla.org/hacking/coding-introduction.html" rel="nofollow">"Introduction to Mozilla Source Code"</a>. Mozilla<span>. Retrieved <span>2012-08-18</span></span>. <q>However, mozilla.org wants to emphasize that these milestones are being produced for testing purposes only.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Introduction+to+Mozilla+Source+Code&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww-archive.mozilla.org%2Fhacking%2Fcoding-introduction.html&amp;rft.pub=Mozilla&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-11"><span><b><a href="#cite_ref-11">^</a></b></span> <span><cite><a href="http://www.mozilla.org/en-US/press/mozilla-foundation.html" rel="nofollow">"mozilla.org Announces Launch of the Mozilla Foundation to Lead Open-Source Browser Efforts"</a><span>. Retrieved <span>2012-08-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=mozilla.org+Announces+Launch+of+the+Mozilla+Foundation+to+Lead+Open-Source+Browser+Efforts&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.mozilla.org%2Fen-US%2Fpress%2Fmozilla-foundation.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-11"><span><b><a href="#cite_ref-11">^</a></b></span> <span><cite><a href="http://www.mozilla.org/en-US/press/mozilla-foundation.html" rel="nofollow">"mozilla.org Announces Launch of the Mozilla Foundation to Lead Open-Source Browser Efforts"</a><span>. Retrieved <span>2012-08-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=mozilla.org+Announces+Launch+of+the+Mozilla+Foundation+to+Lead+Open-Source+Browser+Efforts&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.mozilla.org%2Fen-US%2Fpress%2Fmozilla-foundation.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-12"><span><b><a href="#cite_ref-12">^</a></b></span> <span><cite><a href="http://fakehost/wiki/Brendan_Eich" title="Brendan Eich">Eich, Brendan</a>; <a href="http://fakehost/wiki/Dave_Hyatt" title="Dave Hyatt">David Hyatt</a> (April 2, 2003). <a href="http://www-archive.mozilla.org/roadmap/roadmap-02-Apr-2003.html" rel="nofollow">"mozilla development roadmap"</a>. Mozilla<span>. Retrieved <span>2009-08-02</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.au=David+Hyatt&amp;rft.aufirst=Brendan&amp;rft.aulast=Eich&amp;rft.btitle=mozilla+development+roadmap&amp;rft.date=2003-04-02&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww-archive.mozilla.org%2Froadmap%2Froadmap-02-Apr-2003.html&amp;rft.pub=Mozilla&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-12"><span><b><a href="#cite_ref-12">^</a></b></span> <span><cite><a href="http://fakehost/wiki/Brendan_Eich" title="Brendan Eich">Eich, Brendan</a>; <a href="http://fakehost/wiki/Dave_Hyatt" title="Dave Hyatt">David Hyatt</a> (April 2, 2003). <a href="http://www-archive.mozilla.org/roadmap/roadmap-02-Apr-2003.html" rel="nofollow">"mozilla development roadmap"</a>. Mozilla<span>. Retrieved <span>2009-08-02</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.au=David+Hyatt&amp;rft.aufirst=Brendan&amp;rft.aulast=Eich&amp;rft.btitle=mozilla+development+roadmap&amp;rft.date=2003-04-02&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww-archive.mozilla.org%2Froadmap%2Froadmap-02-Apr-2003.html&amp;rft.pub=Mozilla&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-13"><span><b><a href="#cite_ref-13">^</a></b></span> <span><cite><a href="http://allthingsd.com/20120816/better-browsing-on-your-android-smartphone/" rel="nofollow">"Better Browsing on Your Android Smartphone"</a>. AllThingsD<span>. Retrieved <span>2012-08-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Better+Browsing+on+Your+Android+Smartphone&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fallthingsd.com%2F20120816%2Fbetter-browsing-on-your-android-smartphone%2F&amp;rft.pub=AllThingsD&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-13"><span><b><a href="#cite_ref-13">^</a></b></span> <span><cite><a href="http://allthingsd.com/20120816/better-browsing-on-your-android-smartphone/" rel="nofollow">"Better Browsing on Your Android Smartphone"</a>. AllThingsD<span>. Retrieved <span>2012-08-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Better+Browsing+on+Your+Android+Smartphone&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fallthingsd.com%2F20120816%2Fbetter-browsing-on-your-android-smartphone%2F&amp;rft.pub=AllThingsD&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-14"><span><b><a href="#cite_ref-14">^</a></b></span> <span><cite><a href="http://www.pcmag.com/article2/0,2817,2407468,00.asp" rel="nofollow">"Mozilla Releases Test Version of Firefox OS"</a>. PC Magazine<span>. Retrieved <span>2012-08-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Mozilla+Releases+Test+Version+of+Firefox+OS&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.pcmag.com%2Farticle2%2F0%2C2817%2C2407468%2C00.asp&amp;rft.pub=PC+Magazine&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-14"><span><b><a href="#cite_ref-14">^</a></b></span> <span><cite><a href="http://www.pcmag.com/article2/0,2817,2407468,00.asp" rel="nofollow">"Mozilla Releases Test Version of Firefox OS"</a>. PC Magazine<span>. Retrieved <span>2012-08-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Mozilla+Releases+Test+Version+of+Firefox+OS&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.pcmag.com%2Farticle2%2F0%2C2817%2C2407468%2C00.asp&amp;rft.pub=PC+Magazine&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-15"><span><b><a href="#cite_ref-15">^</a></b></span> <span><cite><a href="http://www.engadget.com/2012/06/12/mozilla-marketplace-live-web-apps-like-desktop/" rel="nofollow">"Mozilla Marketplace is live, lets you run web apps like desktop programs"</a>. Engadget<span>. Retrieved <span>2012-08-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Mozilla+Marketplace+is+live%2C+lets+you+run+web+apps+like+desktop+programs&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.engadget.com%2F2012%2F06%2F12%2Fmozilla-marketplace-live-web-apps-like-desktop%2F&amp;rft.pub=Engadget&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-15"><span><b><a href="#cite_ref-15">^</a></b></span> <span><cite><a href="http://www.engadget.com/2012/06/12/mozilla-marketplace-live-web-apps-like-desktop/" rel="nofollow">"Mozilla Marketplace is live, lets you run web apps like desktop programs"</a>. Engadget<span>. Retrieved <span>2012-08-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Mozilla+Marketplace+is+live%2C+lets+you+run+web+apps+like+desktop+programs&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.engadget.com%2F2012%2F06%2F12%2Fmozilla-marketplace-live-web-apps-like-desktop%2F&amp;rft.pub=Engadget&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-16"><span><b><a href="#cite_ref-16">^</a></b></span> <span><cite>Lardinois, Frederic (November 15, 2012). <a href="http://techcrunch.com/2012/11/15/mozilla-releases-annual-report-for-2011-revenue-up-33-to-163m-majority-from-google/" rel="nofollow">"Mozilla Releases Annual Report For 2011: Revenue Up 33% To $163M, Majority From Google"</a>. <i>techcrunch.com</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Mozilla+Releases+Annual+Report+For+2011%3A+Revenue+Up+33%25+To+%24163M%2C+Majority+From+Google&amp;rft.aufirst=Frederic&amp;rft.aulast=Lardinois&amp;rft.date=2012-11-15&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Ftechcrunch.com%2F2012%2F11%2F15%2Fmozilla-releases-annual-report-for-2011-revenue-up-33-to-163m-majority-from-google%2F&amp;rft.jtitle=techcrunch.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-16"><span><b><a href="#cite_ref-16">^</a></b></span> <span><cite>Lardinois, Frederic (November 15, 2012). <a href="http://techcrunch.com/2012/11/15/mozilla-releases-annual-report-for-2011-revenue-up-33-to-163m-majority-from-google/" rel="nofollow">"Mozilla Releases Annual Report For 2011: Revenue Up 33% To $163M, Majority From Google"</a>. <i>techcrunch.com</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Mozilla+Releases+Annual+Report+For+2011%3A+Revenue+Up+33%25+To+%24163M%2C+Majority+From+Google&amp;rft.aufirst=Frederic&amp;rft.aulast=Lardinois&amp;rft.date=2012-11-15&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Ftechcrunch.com%2F2012%2F11%2F15%2Fmozilla-releases-annual-report-for-2011-revenue-up-33-to-163m-majority-from-google%2F&amp;rft.jtitle=techcrunch.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-github-17"><span><b><a href="#cite_ref-github_17-0">^</a></b></span> <span><cite><a href="https://github.com/cisco/openh264" rel="nofollow">"cisco/openh264 · GitHub"</a>. github.com<span>. Retrieved <span>2014-04-05</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=cisco%2Fopenh264+%B7+GitHub&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fgithub.com%2Fcisco%2Fopenh264&amp;rft.pub=github.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-github-17"><span><b><a href="#cite_ref-github_17-0">^</a></b></span> <span><cite><a href="https://github.com/cisco/openh264" rel="nofollow">"cisco/openh264 · GitHub"</a>. github.com<span>. Retrieved <span>2014-04-05</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=cisco%2Fopenh264+%B7+GitHub&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fgithub.com%2Fcisco%2Fopenh264&amp;rft.pub=github.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-gigaom-18"><span><b><a href="#cite_ref-gigaom_18-0">^</a></b></span> <span><cite><a href="http://gigaom.com/2013/10/30/mozilla-will-add-h-264-to-firefox-as-cisco-makes-eleventh-hour-push-for-webrtcs-future/" rel="nofollow">"Mozilla will add H.264 to Firefox as Cisco makes eleventh-hour push for WebRTC's future — Tech News and Analysis"</a>. gigaom.com<span>. Retrieved <span>2014-04-05</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Mozilla+will+add+H.264+to+Firefox+as+Cisco+makes+eleventh-hour+push+for+WebRTC%99s+future+%26mdash%3B+Tech+News+and+Analysis&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fgigaom.com%2F2013%2F10%2F30%2Fmozilla-will-add-h-264-to-firefox-as-cisco-makes-eleventh-hour-push-for-webrtcs-future%2F&amp;rft.pub=gigaom.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-gigaom-18"><span><b><a href="#cite_ref-gigaom_18-0">^</a></b></span> <span><cite><a href="http://gigaom.com/2013/10/30/mozilla-will-add-h-264-to-firefox-as-cisco-makes-eleventh-hour-push-for-webrtcs-future/" rel="nofollow">"Mozilla will add H.264 to Firefox as Cisco makes eleventh-hour push for WebRTC's future — Tech News and Analysis"</a>. gigaom.com<span>. Retrieved <span>2014-04-05</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Mozilla+will+add+H.264+to+Firefox+as+Cisco+makes+eleventh-hour+push+for+WebRTC%99s+future+%26mdash%3B+Tech+News+and+Analysis&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fgigaom.com%2F2013%2F10%2F30%2Fmozilla-will-add-h-264-to-firefox-as-cisco-makes-eleventh-hour-push-for-webrtcs-future%2F&amp;rft.pub=gigaom.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-techrepublic-19"><span><b><a href="#cite_ref-techrepublic_19-0">^</a></b></span> <span><cite><a href="http://www.techrepublic.com/blog/australian-technology/cisco-to-release-open-source-h264-codec-mozilla-makes-tactical-retreat/" rel="nofollow">"Cisco to release open-source H.264 codec, Mozilla makes tactical retreat - TechRepublic"</a>. techrepublic.com<span>. Retrieved <span>2014-04-05</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Cisco+to+release+open-source+H.264+codec%2C+Mozilla+makes+tactical+retreat+-+TechRepublic&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.techrepublic.com%2Fblog%2Faustralian-technology%2Fcisco-to-release-open-source-h264-codec-mozilla-makes-tactical-retreat%2F&amp;rft.pub=techrepublic.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-techrepublic-19"><span><b><a href="#cite_ref-techrepublic_19-0">^</a></b></span> <span><cite><a href="http://www.techrepublic.com/blog/australian-technology/cisco-to-release-open-source-h264-codec-mozilla-makes-tactical-retreat/" rel="nofollow">"Cisco to release open-source H.264 codec, Mozilla makes tactical retreat - TechRepublic"</a>. techrepublic.com<span>. Retrieved <span>2014-04-05</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Cisco+to+release+open-source+H.264+codec%2C+Mozilla+makes+tactical+retreat+-+TechRepublic&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.techrepublic.com%2Fblog%2Faustralian-technology%2Fcisco-to-release-open-source-h264-codec-mozilla-makes-tactical-retreat%2F&amp;rft.pub=techrepublic.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-20"><span><b><a href="#cite_ref-20">^</a></b></span> <span><cite><a href="https://blog.mozilla.org/blog/2013/10/30/video-interoperability-on-the-web-gets-a-boost-from-ciscos-h-264-codec/" rel="nofollow">"Video Interoperability on the Web Gets a Boost From Cisco's H.264 Codec"</a>. <q>Of course, this is not a not a complete solution. In a perfect world, codecs, like other basic Internet technologies such as TCP/IP, HTTP, and HTML, would be fully open and free</q></cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Video+Interoperability+on+the+Web+Gets+a+Boost+From+Cisco%99s+H.264+Codec&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fblog.mozilla.org%2Fblog%2F2013%2F10%2F30%2Fvideo-interoperability-on-the-web-gets-a-boost-from-ciscos-h-264-codec%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-20"><span><b><a href="#cite_ref-20">^</a></b></span> <span><cite><a href="https://blog.mozilla.org/blog/2013/10/30/video-interoperability-on-the-web-gets-a-boost-from-ciscos-h-264-codec/" rel="nofollow">"Video Interoperability on the Web Gets a Boost From Cisco's H.264 Codec"</a>. <q>Of course, this is not a not a complete solution. In a perfect world, codecs, like other basic Internet technologies such as TCP/IP, HTTP, and HTML, would be fully open and free</q></cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Video+Interoperability+on+the+Web+Gets+a+Boost+From+Cisco%99s+H.264+Codec&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fblog.mozilla.org%2Fblog%2F2013%2F10%2F30%2Fvideo-interoperability-on-the-web-gets-a-boost-from-ciscos-h-264-codec%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-21"><span><b><a href="#cite_ref-21">^</a></b></span> <span><cite><a href="http://xiphmont.livejournal.com/61927.html" rel="nofollow">"Comments on Cisco, Mozilla, and H.264"</a>. <q>By endorsing Cisco's plan, there's no getting around the fact that we've caved on our principles. That said, principles can't replace being in a practical position to make a difference in the future.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Comments+on+Cisco%2C+Mozilla%2C+and+H.264&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fxiphmont.livejournal.com%2F61927.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span> - Christopher Montgomery wrote in a personal capacity but works for Mozilla in their codecs team</span>
+ <li id="cite_note-21"><span><b><a href="#cite_ref-21">^</a></b></span> <span><cite><a href="http://xiphmont.livejournal.com/61927.html" rel="nofollow">"Comments on Cisco, Mozilla, and H.264"</a>. <q>By endorsing Cisco's plan, there's no getting around the fact that we've caved on our principles. That said, principles can't replace being in a practical position to make a difference in the future.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Comments+on+Cisco%2C+Mozilla%2C+and+H.264&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fxiphmont.livejournal.com%2F61927.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span> - Christopher Montgomery wrote in a personal capacity but works for Mozilla in their codecs team</span>
</li>
- <li id="cite_note-22"><span><b><a href="#cite_ref-22">^</a></b></span> <span><cite><a href="https://wiki.mozilla.org/Game_Creator_Challenge_-Contest_Terms_and_Conditions" rel="nofollow">"Game Creator Challenge -Contest Terms and Conditions"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Game+Creator+Challenge+-Contest+Terms+and+Conditions&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwiki.mozilla.org%2FGame_Creator_Challenge_-Contest_Terms_and_Conditions&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span> - submissions to the "amateur" category have to be released as free software, but not for the other two categories</span>
+ <li id="cite_note-22"><span><b><a href="#cite_ref-22">^</a></b></span> <span><cite><a href="https://wiki.mozilla.org/Game_Creator_Challenge_-Contest_Terms_and_Conditions" rel="nofollow">"Game Creator Challenge -Contest Terms and Conditions"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Game+Creator+Challenge+-Contest+Terms+and+Conditions&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwiki.mozilla.org%2FGame_Creator_Challenge_-Contest_Terms_and_Conditions&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span> - submissions to the "amateur" category have to be released as free software, but not for the other two categories</span>
</li>
- <li id="cite_note-23"><span><b><a href="#cite_ref-23">^</a></b></span> <span><cite><a href="http://projects.latimes.com/prop8/donation/8930/" rel="nofollow">"Los Angeles Times - Brendan Eich contribution to Proposition 8"</a>. latimes.com<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Los+Angeles+Times+-+Brendan+Eich+contribution+to+Proposition+8&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fprojects.latimes.com%2Fprop8%2Fdonation%2F8930%2F&amp;rft.pub=latimes.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-23"><span><b><a href="#cite_ref-23">^</a></b></span> <span><cite><a href="http://projects.latimes.com/prop8/donation/8930/" rel="nofollow">"Los Angeles Times - Brendan Eich contribution to Proposition 8"</a>. latimes.com<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Los+Angeles+Times+-+Brendan+Eich+contribution+to+Proposition+8&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fprojects.latimes.com%2Fprop8%2Fdonation%2F8930%2F&amp;rft.pub=latimes.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-arstechnica-24"><span><b><a href="#cite_ref-arstechnica_24-0">^</a></b></span> <span><cite><a href="http://arstechnica.com/business/2014/03/gay-firefox-developers-boycott-mozilla-to-protest-ceo-hire/" rel="nofollow">"Gay Firefox developers boycott Mozilla to protest CEO hire [Updated] | Ars Technica"</a>. arstechnica.com<span>. Retrieved <span>2014-04-05</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Gay+Firefox+developers+boycott+Mozilla+to+protest+CEO+hire+%26%2391%3BUpdated%26%2393%3B+%26%23124%3B+Ars+Technica&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Farstechnica.com%2Fbusiness%2F2014%2F03%2Fgay-firefox-developers-boycott-mozilla-to-protest-ceo-hire%2F&amp;rft.pub=arstechnica.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-arstechnica-24"><span><b><a href="#cite_ref-arstechnica_24-0">^</a></b></span> <span><cite><a href="http://arstechnica.com/business/2014/03/gay-firefox-developers-boycott-mozilla-to-protest-ceo-hire/" rel="nofollow">"Gay Firefox developers boycott Mozilla to protest CEO hire [Updated] | Ars Technica"</a>. arstechnica.com<span>. Retrieved <span>2014-04-05</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Gay+Firefox+developers+boycott+Mozilla+to+protest+CEO+hire+%26%2391%3BUpdated%26%2393%3B+%26%23124%3B+Ars+Technica&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Farstechnica.com%2Fbusiness%2F2014%2F03%2Fgay-firefox-developers-boycott-mozilla-to-protest-ceo-hire%2F&amp;rft.pub=arstechnica.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-25"><span><b><a href="#cite_ref-25">^</a></b></span> <span><cite>Kelly Faircloth (9 April 2012). <a href="http://betabeat.com/2012/04/tech-celeb-makes-prop-8-donation-internet-goes-berserk/" rel="nofollow">"Tech Celeb Makes Prop-8 Donation; Internet Goes Berserk"</a>. <i>BetaBeat</i>. BetaBeat<span>. Retrieved <span>2014-04-28</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Tech+Celeb+Makes+Prop-8+Donation%3B+Internet+Goes+Berserk&amp;rft.au=Kelly+Faircloth&amp;rft.date=2012-04-09&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fbetabeat.com%2F2012%2F04%2Ftech-celeb-makes-prop-8-donation-internet-goes-berserk%2F&amp;rft.jtitle=BetaBeat&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-25"><span><b><a href="#cite_ref-25">^</a></b></span> <span><cite>Kelly Faircloth (9 April 2012). <a href="http://betabeat.com/2012/04/tech-celeb-makes-prop-8-donation-internet-goes-berserk/" rel="nofollow">"Tech Celeb Makes Prop-8 Donation; Internet Goes Berserk"</a>. <i>BetaBeat</i>. BetaBeat<span>. Retrieved <span>2014-04-28</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Tech+Celeb+Makes+Prop-8+Donation%3B+Internet+Goes+Berserk&amp;rft.au=Kelly+Faircloth&amp;rft.date=2012-04-09&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fbetabeat.com%2F2012%2F04%2Ftech-celeb-makes-prop-8-donation-internet-goes-berserk%2F&amp;rft.jtitle=BetaBeat&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-26"><span><b><a href="#cite_ref-26">^</a></b></span> <span><cite><a href="http://i.huffpost.com/gen/1710681/thumbs/o-OKC-900.jpg" rel="nofollow">"Screenshot of OkCupid's statement towards Firefox users"</a>. huffingtonpost.com<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Screenshot+of+OkCupid%27s+statement+towards+Firefox+users&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fi.huffpost.com%2Fgen%2F1710681%2Fthumbs%2Fo-OKC-900.jpg&amp;rft.pub=huffingtonpost.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-26"><span><b><a href="#cite_ref-26">^</a></b></span> <span><cite><a href="http://i.huffpost.com/gen/1710681/thumbs/o-OKC-900.jpg" rel="nofollow">"Screenshot of OkCupid's statement towards Firefox users"</a>. huffingtonpost.com<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Screenshot+of+OkCupid%27s+statement+towards+Firefox+users&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fi.huffpost.com%2Fgen%2F1710681%2Fthumbs%2Fo-OKC-900.jpg&amp;rft.pub=huffingtonpost.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-27"><span><b><a href="#cite_ref-27">^</a></b></span> <span><cite><a href="https://blog.mozilla.org/blog/2014/04/05/faq-on-ceo-resignation/" rel="nofollow">"FAQ on CEO Resignation"</a>. <i>The Mozilla Blog</i><span>. Retrieved <span>2015-04-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=FAQ+on+CEO+Resignation&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fblog.mozilla.org%2Fblog%2F2014%2F04%2F05%2Ffaq-on-ceo-resignation%2F&amp;rft.jtitle=The+Mozilla+Blog&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-27"><span><b><a href="#cite_ref-27">^</a></b></span> <span><cite><a href="https://blog.mozilla.org/blog/2014/04/05/faq-on-ceo-resignation/" rel="nofollow">"FAQ on CEO Resignation"</a>. <i>The Mozilla Blog</i><span>. Retrieved <span>2015-04-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=FAQ+on+CEO+Resignation&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fblog.mozilla.org%2Fblog%2F2014%2F04%2F05%2Ffaq-on-ceo-resignation%2F&amp;rft.jtitle=The+Mozilla+Blog&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-28"><span><b><a href="#cite_ref-28">^</a></b></span> <span><cite>Baker, Mitchell (3 April 2014). <a href="https://blog.mozilla.org/blog/2014/04/03/brendan-eich-steps-down-as-mozilla-ceo/" rel="nofollow">"Brendan Eich Steps Down as Mozilla CEO"</a>. <i>mozilla blog</i>. Mozilla<span>. Retrieved <span>2014-04-04</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Brendan+Eich+Steps+Down+as+Mozilla+CEO&amp;rft.aufirst=Mitchell&amp;rft.aulast=Baker&amp;rft.date=2014-04-03&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fblog.mozilla.org%2Fblog%2F2014%2F04%2F03%2Fbrendan-eich-steps-down-as-mozilla-ceo%2F&amp;rft.jtitle=mozilla+blog&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-28"><span><b><a href="#cite_ref-28">^</a></b></span> <span><cite>Baker, Mitchell (3 April 2014). <a href="https://blog.mozilla.org/blog/2014/04/03/brendan-eich-steps-down-as-mozilla-ceo/" rel="nofollow">"Brendan Eich Steps Down as Mozilla CEO"</a>. <i>mozilla blog</i>. Mozilla<span>. Retrieved <span>2014-04-04</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Brendan+Eich+Steps+Down+as+Mozilla+CEO&amp;rft.aufirst=Mitchell&amp;rft.aulast=Baker&amp;rft.date=2014-04-03&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fblog.mozilla.org%2Fblog%2F2014%2F04%2F03%2Fbrendan-eich-steps-down-as-mozilla-ceo%2F&amp;rft.jtitle=mozilla+blog&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-29"><span><b><a href="#cite_ref-29">^</a></b></span> <span><cite><a href="http://www.opensecrets.org/indivs/search.php?name=Sam+Yagan&amp;cycle=All&amp;sort=R&amp;state=&amp;zip=&amp;employ=&amp;cand=&amp;submit=Submit+Query" rel="nofollow">"opensecrets.org listing of Sam Yagan's contributions to political candidates"</a>. opensecrets.org<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=opensecrets.org+listing+of+Sam+Yagan%27s+contributions+to+political+candidates&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.opensecrets.org%2Findivs%2Fsearch.php%3Fname%3DSam%2BYagan%26cycle%3DAll%26sort%3DR%26state%3D%26zip%3D%26employ%3D%26cand%3D%26submit%3DSubmit%2BQuery&amp;rft.pub=opensecrets.org&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-29"><span><b><a href="#cite_ref-29">^</a></b></span> <span><cite><a href="http://www.opensecrets.org/indivs/search.php?name=Sam+Yagan&amp;cycle=All&amp;sort=R&amp;state=&amp;zip=&amp;employ=&amp;cand=&amp;submit=Submit+Query" rel="nofollow">"opensecrets.org listing of Sam Yagan's contributions to political candidates"</a>. opensecrets.org<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=opensecrets.org+listing+of+Sam+Yagan%27s+contributions+to+political+candidates&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.opensecrets.org%2Findivs%2Fsearch.php%3Fname%3DSam%2BYagan%26cycle%3DAll%26sort%3DR%26state%3D%26zip%3D%26employ%3D%26cand%3D%26submit%3DSubmit%2BQuery&amp;rft.pub=opensecrets.org&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-30"><span><b><a href="#cite_ref-30">^</a></b></span> <span><cite><a href="http://www.ontheissues.org/house/Chris_Cannon.htm#Civil_Rights" rel="nofollow">"ontheissues.org listing of votes cast by Chris Cannon"</a>. ontheissues.org<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=ontheissues.org+listing+of+votes+cast+by+Chris+Cannon&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.ontheissues.org%2Fhouse%2FChris_Cannon.htm%23Civil_Rights&amp;rft.pub=ontheissues.org&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-30"><span><b><a href="#cite_ref-30">^</a></b></span> <span><cite><a href="http://www.ontheissues.org/house/Chris_Cannon.htm#Civil_Rights" rel="nofollow">"ontheissues.org listing of votes cast by Chris Cannon"</a>. ontheissues.org<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=ontheissues.org+listing+of+votes+cast+by+Chris+Cannon&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.ontheissues.org%2Fhouse%2FChris_Cannon.htm%23Civil_Rights&amp;rft.pub=ontheissues.org&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-31"><span><b><a href="#cite_ref-31">^</a></b></span> <span><cite><a href="http://www.ontheissues.org/HouseVote/Party_2005-627.htm" rel="nofollow">"ontheissues.org listing of votes cast on the permanency of the Patriot Act"</a>. ontheissues.org<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=ontheissues.org+listing+of+votes+cast+on+the+permanency+of+the+Patriot+Act&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.ontheissues.org%2FHouseVote%2FParty_2005-627.htm&amp;rft.pub=ontheissues.org&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-31"><span><b><a href="#cite_ref-31">^</a></b></span> <span><cite><a href="http://www.ontheissues.org/HouseVote/Party_2005-627.htm" rel="nofollow">"ontheissues.org listing of votes cast on the permanency of the Patriot Act"</a>. ontheissues.org<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=ontheissues.org+listing+of+votes+cast+on+the+permanency+of+the+Patriot+Act&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.ontheissues.org%2FHouseVote%2FParty_2005-627.htm&amp;rft.pub=ontheissues.org&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-32"><span><b><a href="#cite_ref-32">^</a></b></span> <span><cite><a href="http://www.ontheissues.org/house/Chris_Cannon_Homeland_Security.htm" rel="nofollow">"ontheissues.org: Chris Cannon on Homeland Security"</a>. ontheissues.org<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=ontheissues.org%3A+Chris+Cannon+on+Homeland+Security&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.ontheissues.org%2Fhouse%2FChris_Cannon_Homeland_Security.htm&amp;rft.pub=ontheissues.org&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-32"><span><b><a href="#cite_ref-32">^</a></b></span> <span><cite><a href="http://www.ontheissues.org/house/Chris_Cannon_Homeland_Security.htm" rel="nofollow">"ontheissues.org: Chris Cannon on Homeland Security"</a>. ontheissues.org<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=ontheissues.org%3A+Chris+Cannon+on+Homeland+Security&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.ontheissues.org%2Fhouse%2FChris_Cannon_Homeland_Security.htm&amp;rft.pub=ontheissues.org&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-33"><span><b><a href="#cite_ref-33">^</a></b></span> <span><cite><a href="http://www.ontheissues.org/house/Chris_Cannon_Abortion.htm" rel="nofollow">"ontheissues.org: Chris Cannon on Abortion"</a>. ontheissues.org<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=ontheissues.org%3A+Chris+Cannon+on+Abortion&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.ontheissues.org%2Fhouse%2FChris_Cannon_Abortion.htm&amp;rft.pub=ontheissues.org&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-33"><span><b><a href="#cite_ref-33">^</a></b></span> <span><cite><a href="http://www.ontheissues.org/house/Chris_Cannon_Abortion.htm" rel="nofollow">"ontheissues.org: Chris Cannon on Abortion"</a>. ontheissues.org<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=ontheissues.org%3A+Chris+Cannon+on+Abortion&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.ontheissues.org%2Fhouse%2FChris_Cannon_Abortion.htm&amp;rft.pub=ontheissues.org&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-34"><span><b><a href="#cite_ref-34">^</a></b></span> <span><cite>Levintova, Hannah (7 April 2014). <a href="http://www.motherjones.com/mojo/2014/04/okcupid-ceo-donate-anti-gay-firefox" rel="nofollow">"OkCupid's CEO Donated to an Anti-Gay Campaign Once, Too"</a>. <i>Hanna Levintova article on motherjones.com</i>. motherjones.com<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=OkCupid%27s+CEO+Donated+to+an+Anti-Gay+Campaign+Once%2C+Too&amp;rft.aufirst=Hannah&amp;rft.aulast=Levintova&amp;rft.date=2014-04-07&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.motherjones.com%2Fmojo%2F2014%2F04%2Fokcupid-ceo-donate-anti-gay-firefox&amp;rft.jtitle=Hanna+Levintova+article+on+motherjones.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-34"><span><b><a href="#cite_ref-34">^</a></b></span> <span><cite>Levintova, Hannah (7 April 2014). <a href="http://www.motherjones.com/mojo/2014/04/okcupid-ceo-donate-anti-gay-firefox" rel="nofollow">"OkCupid's CEO Donated to an Anti-Gay Campaign Once, Too"</a>. <i>Hanna Levintova article on motherjones.com</i>. motherjones.com<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=OkCupid%27s+CEO+Donated+to+an+Anti-Gay+Campaign+Once%2C+Too&amp;rft.aufirst=Hannah&amp;rft.aulast=Levintova&amp;rft.date=2014-04-07&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.motherjones.com%2Fmojo%2F2014%2F04%2Fokcupid-ceo-donate-anti-gay-firefox&amp;rft.jtitle=Hanna+Levintova+article+on+motherjones.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-35"><span><b><a href="#cite_ref-35">^</a></b></span> <span><cite>Lee, Stephanie M. (8 April 2014). <a href="http://blog.sfgate.com/techchron/2014/04/08/okcupid-ceo-once-donated-to-anti-gay-politician/" rel="nofollow">"OKCupid CEO once donated to anti-gay politician"</a>. <i>Stephanie M. Lee's blog on sfgate.com</i>. sfgate.com<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=OKCupid+CEO+once+donated+to+anti-gay+politician&amp;rft.aufirst=Stephanie+M.&amp;rft.aulast=Lee&amp;rft.date=2014-04-08&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fblog.sfgate.com%2Ftechchron%2F2014%2F04%2F08%2Fokcupid-ceo-once-donated-to-anti-gay-politician%2F&amp;rft.jtitle=Stephanie+M.+Lee%27s+blog+on+sfgate.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-35"><span><b><a href="#cite_ref-35">^</a></b></span> <span><cite>Lee, Stephanie M. (8 April 2014). <a href="http://blog.sfgate.com/techchron/2014/04/08/okcupid-ceo-once-donated-to-anti-gay-politician/" rel="nofollow">"OKCupid CEO once donated to anti-gay politician"</a>. <i>Stephanie M. Lee's blog on sfgate.com</i>. sfgate.com<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=OKCupid+CEO+once+donated+to+anti-gay+politician&amp;rft.aufirst=Stephanie+M.&amp;rft.aulast=Lee&amp;rft.date=2014-04-08&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fblog.sfgate.com%2Ftechchron%2F2014%2F04%2F08%2Fokcupid-ceo-once-donated-to-anti-gay-politician%2F&amp;rft.jtitle=Stephanie+M.+Lee%27s+blog+on+sfgate.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-uncrunched.com-36"><span>^ <a href="#cite_ref-uncrunched.com_36-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-uncrunched.com_36-1"><sup><i><b>b</b></i></sup></a></span> <span><cite><a href="http://uncrunched.com/2014/04/06/the-hypocrisy-of-sam-yagan-okcupid/" rel="nofollow">"The Hypocrisy Of Sam Yagan &amp; OkCupid"</a>. <i>uncrunched.com blog</i>. uncrunched.com. 6 April 2014<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=The+Hypocrisy+Of+Sam+Yagan+%26+OkCupid&amp;rft.date=2014-04-06&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Funcrunched.com%2F2014%2F04%2F06%2Fthe-hypocrisy-of-sam-yagan-okcupid%2F&amp;rft.jtitle=uncrunched.com+blog&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-uncrunched.com-36"><span>^ <a href="#cite_ref-uncrunched.com_36-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-uncrunched.com_36-1"><sup><i><b>b</b></i></sup></a></span> <span><cite><a href="http://uncrunched.com/2014/04/06/the-hypocrisy-of-sam-yagan-okcupid/" rel="nofollow">"The Hypocrisy Of Sam Yagan &amp; OkCupid"</a>. <i>uncrunched.com blog</i>. uncrunched.com. 6 April 2014<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=The+Hypocrisy+Of+Sam+Yagan+%26+OkCupid&amp;rft.date=2014-04-06&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Funcrunched.com%2F2014%2F04%2F06%2Fthe-hypocrisy-of-sam-yagan-okcupid%2F&amp;rft.jtitle=uncrunched.com+blog&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-37"><span><b><a href="#cite_ref-37">^</a></b></span> <span><cite>Bellware, Kim (31 March 2014). <a href="http://www.huffingtonpost.com/2014/03/31/okcupid-mozilla_n_5065743.html" rel="nofollow">"OKCupid Publicly Rips Mozilla: 'We Wish Them Nothing But Failure<span>'</span>"</a>. <i>Kim Bellware article on huffingtonpost.com</i>. huffingtonpost.com<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=OKCupid+Publicly+Rips+Mozilla%3A+%27We+Wish+Them+Nothing+But+Failure%27&amp;rft.aufirst=Kim&amp;rft.aulast=Bellware&amp;rft.date=2014-03-31&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.huffingtonpost.com%2F2014%2F03%2F31%2Fokcupid-mozilla_n_5065743.html&amp;rft.jtitle=Kim+Bellware+article+on+huffingtonpost.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-37"><span><b><a href="#cite_ref-37">^</a></b></span> <span><cite>Bellware, Kim (31 March 2014). <a href="http://www.huffingtonpost.com/2014/03/31/okcupid-mozilla_n_5065743.html" rel="nofollow">"OKCupid Publicly Rips Mozilla: 'We Wish Them Nothing But Failure<span>'</span>"</a>. <i>Kim Bellware article on huffingtonpost.com</i>. huffingtonpost.com<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=OKCupid+Publicly+Rips+Mozilla%3A+%27We+Wish+Them+Nothing+But+Failure%27&amp;rft.aufirst=Kim&amp;rft.aulast=Bellware&amp;rft.date=2014-03-31&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.huffingtonpost.com%2F2014%2F03%2F31%2Fokcupid-mozilla_n_5065743.html&amp;rft.jtitle=Kim+Bellware+article+on+huffingtonpost.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-38"><span><b><a href="#cite_ref-38">^</a></b></span> <span><cite><a href="http://www.huffingtonpost.com/2014/03/27/mozilla-ceo-prop-8-_n_5042660.html" rel="nofollow">"Mozilla's Appointment Of Brendan Eich As CEO Sparks Controversy After Prop 8 Donation News Re-Emerges"</a>. <i>huffingtonpost.com article</i>. huffingtonpost.com. 27 March 2014<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Mozilla%27s+Appointment+Of+Brendan+Eich+As+CEO+Sparks+Controversy+After+Prop+8+Donation+News+Re-Emerges&amp;rft.date=2014-03-27&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.huffingtonpost.com%2F2014%2F03%2F27%2Fmozilla-ceo-prop-8-_n_5042660.html&amp;rft.jtitle=huffingtonpost.com+article&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-38"><span><b><a href="#cite_ref-38">^</a></b></span> <span><cite><a href="http://www.huffingtonpost.com/2014/03/27/mozilla-ceo-prop-8-_n_5042660.html" rel="nofollow">"Mozilla's Appointment Of Brendan Eich As CEO Sparks Controversy After Prop 8 Donation News Re-Emerges"</a>. <i>huffingtonpost.com article</i>. huffingtonpost.com. 27 March 2014<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Mozilla%27s+Appointment+Of+Brendan+Eich+As+CEO+Sparks+Controversy+After+Prop+8+Donation+News+Re-Emerges&amp;rft.date=2014-03-27&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.huffingtonpost.com%2F2014%2F03%2F27%2Fmozilla-ceo-prop-8-_n_5042660.html&amp;rft.jtitle=huffingtonpost.com+article&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-39"><span><b><a href="#cite_ref-39">^</a></b></span> <span><cite>Eidelson, Josh (4 April 2014). <a href="http://www.salon.com/2014/04/04/okcupids_gay_rights_stunt_has_its_limits_taking_a_deeper_look_at_the_savvy_ploy/" rel="nofollow">"OkCupid's gay rights stunt has its limits: Taking a deeper look at the savvy ploy"</a>. <i>Josh Eidelson article on salon.com</i>. salon.com<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=OkCupid%99s+gay+rights+stunt+has+its+limits%3A+Taking+a+deeper+look+at+the+savvy+ploy&amp;rft.aufirst=Josh&amp;rft.aulast=Eidelson&amp;rft.date=2014-04-04&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.salon.com%2F2014%2F04%2F04%2Fokcupids_gay_rights_stunt_has_its_limits_taking_a_deeper_look_at_the_savvy_ploy%2F&amp;rft.jtitle=Josh+Eidelson+article+on+salon.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-39"><span><b><a href="#cite_ref-39">^</a></b></span> <span><cite>Eidelson, Josh (4 April 2014). <a href="http://www.salon.com/2014/04/04/okcupids_gay_rights_stunt_has_its_limits_taking_a_deeper_look_at_the_savvy_ploy/" rel="nofollow">"OkCupid's gay rights stunt has its limits: Taking a deeper look at the savvy ploy"</a>. <i>Josh Eidelson article on salon.com</i>. salon.com<span>. Retrieved <span>2014-07-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=OkCupid%99s+gay+rights+stunt+has+its+limits%3A+Taking+a+deeper+look+at+the+savvy+ploy&amp;rft.aufirst=Josh&amp;rft.aulast=Eidelson&amp;rft.date=2014-04-04&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.salon.com%2F2014%2F04%2F04%2Fokcupids_gay_rights_stunt_has_its_limits_taking_a_deeper_look_at_the_savvy_ploy%2F&amp;rft.jtitle=Josh+Eidelson+article+on+salon.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-manifesto-40"><span>^ <a href="#cite_ref-manifesto_40-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-manifesto_40-1"><sup><i><b>b</b></i></sup></a></span> <span><cite><a href="http://www.mozilla.org/about/manifesto/" rel="nofollow">"Mozilla Manifesto"</a>. Mozilla.org<span>. Retrieved <span>2012-03-21</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Mozilla+Manifesto&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.mozilla.org%2Fabout%2Fmanifesto%2F&amp;rft.pub=Mozilla.org&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-manifesto-40"><span>^ <a href="#cite_ref-manifesto_40-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-manifesto_40-1"><sup><i><b>b</b></i></sup></a></span> <span><cite><a href="http://www.mozilla.org/about/manifesto/" rel="nofollow">"Mozilla Manifesto"</a>. Mozilla.org<span>. Retrieved <span>2012-03-21</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Mozilla+Manifesto&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.mozilla.org%2Fabout%2Fmanifesto%2F&amp;rft.pub=Mozilla.org&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-41"><span><b><a href="#cite_ref-41">^</a></b></span> <span><cite><a href="https://www.mozilla.org/en-US/about/manifesto/details/" rel="nofollow">"The Mozilla Manifesto"</a><span>. Retrieved <span>24 July</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=The+Mozilla+Manifesto&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwww.mozilla.org%2Fen-US%2Fabout%2Fmanifesto%2Fdetails%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-41"><span><b><a href="#cite_ref-41">^</a></b></span> <span><cite><a href="https://www.mozilla.org/en-US/about/manifesto/details/" rel="nofollow">"The Mozilla Manifesto"</a><span>. Retrieved <span>24 July</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=The+Mozilla+Manifesto&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwww.mozilla.org%2Fen-US%2Fabout%2Fmanifesto%2Fdetails%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-42"><span><b><a href="#cite_ref-42">^</a></b></span> <span><cite><a href="https://web.archive.org/web/20101128150117/http://download-firefox.org/spread-firefox/gecko-layout-engine-and-mozilla-firefox/" rel="nofollow">"Gecko Layout Engine"</a>. download-firefox.org. July 17, 2008. Archived from <a href="http://download-firefox.org/spread-firefox/gecko-layout-engine-and-mozilla-firefox/" rel="nofollow">the original</a> on 2010-11-28<span>. Retrieved <span>2012-05-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Gecko+Layout+Engine&amp;rft.date=2008-07-17&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fdownload-firefox.org%2Fspread-firefox%2Fgecko-layout-engine-and-mozilla-firefox%2F&amp;rft.pub=download-firefox.org&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-42"><span><b><a href="#cite_ref-42">^</a></b></span> <span><cite><a href="https://web.archive.org/web/20101128150117/http://download-firefox.org/spread-firefox/gecko-layout-engine-and-mozilla-firefox/" rel="nofollow">"Gecko Layout Engine"</a>. download-firefox.org. July 17, 2008. Archived from <a href="http://download-firefox.org/spread-firefox/gecko-layout-engine-and-mozilla-firefox/" rel="nofollow">the original</a> on 2010-11-28<span>. Retrieved <span>2012-05-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Gecko+Layout+Engine&amp;rft.date=2008-07-17&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fdownload-firefox.org%2Fspread-firefox%2Fgecko-layout-engine-and-mozilla-firefox%2F&amp;rft.pub=download-firefox.org&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-w3counter1-43"><span><b><a href="#cite_ref-w3counter1_43-0">^</a></b></span> <span><cite><a href="http://www.w3counter.com/trends" rel="nofollow">"Web Browser Market Share Trends"</a>. <i>W3Counter</i>. Awio Web Services LLC<span>. Retrieved <span>2012-05-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Web+Browser+Market+Share+Trends&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.w3counter.com%2Ftrends&amp;rft.jtitle=W3Counter&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-w3counter1-43"><span><b><a href="#cite_ref-w3counter1_43-0">^</a></b></span> <span><cite><a href="http://www.w3counter.com/trends" rel="nofollow">"Web Browser Market Share Trends"</a>. <i>W3Counter</i>. Awio Web Services LLC<span>. Retrieved <span>2012-05-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Web+Browser+Market+Share+Trends&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.w3counter.com%2Ftrends&amp;rft.jtitle=W3Counter&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-gs.statcounter.com-44"><span><b><a href="#cite_ref-gs.statcounter.com_44-0">^</a></b></span> <span><cite><a href="http://gs.statcounter.com" rel="nofollow">"Top 5 Browsers"</a>. <i>StatCounter Global Stats</i>. StatCounter<span>. Retrieved <span>2012-05-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Top+5+Browsers&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fgs.statcounter.com&amp;rft.jtitle=StatCounter+Global+Stats&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-gs.statcounter.com-44"><span><b><a href="#cite_ref-gs.statcounter.com_44-0">^</a></b></span> <span><cite><a href="http://gs.statcounter.com" rel="nofollow">"Top 5 Browsers"</a>. <i>StatCounter Global Stats</i>. StatCounter<span>. Retrieved <span>2012-05-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Top+5+Browsers&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fgs.statcounter.com&amp;rft.jtitle=StatCounter+Global+Stats&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-getclicky1-45"><span><b><a href="#cite_ref-getclicky1_45-0">^</a></b></span> <span><cite><a href="http://www.getclicky.com/marketshare/global/web-browsers/" rel="nofollow">"Web browsers (Global marketshare)"</a>. <i>Clicky</i>. Roxr Software Ltd<span>. Retrieved <span>2012-05-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Web+browsers+%28Global+marketshare%29&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.getclicky.com%2Fmarketshare%2Fglobal%2Fweb-browsers%2F&amp;rft.jtitle=Clicky&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-getclicky1-45"><span><b><a href="#cite_ref-getclicky1_45-0">^</a></b></span> <span><cite><a href="http://www.getclicky.com/marketshare/global/web-browsers/" rel="nofollow">"Web browsers (Global marketshare)"</a>. <i>Clicky</i>. Roxr Software Ltd<span>. Retrieved <span>2012-05-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Web+browsers+%28Global+marketshare%29&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.getclicky.com%2Fmarketshare%2Fglobal%2Fweb-browsers%2F&amp;rft.jtitle=Clicky&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-46"><span><b><a href="#cite_ref-46">^</a></b></span> <span><cite><a href="http://fakehost/wiki/Ben_Goodger" title="Ben Goodger">Goodger, Ben</a> (February 6, 2006). <a href="https://web.archive.org/web/20110623034401/http://weblogs.mozillazine.org/ben/archives/009698.html" rel="nofollow">"Where Did Firefox Come From?"</a>. Inside Firefox. Archived from <a href="http://weblogs.mozillazine.org/ben/archives/009698.html" rel="nofollow">the original</a> on 2011-06-23<span>. Retrieved <span>2012-01-07</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.aufirst=Ben&amp;rft.aulast=Goodger&amp;rft.btitle=Where+Did+Firefox+Come+From%3F&amp;rft.date=2006-02-06&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fweblogs.mozillazine.org%2Fben%2Farchives%2F009698.html&amp;rft.pub=Inside+Firefox&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-46"><span><b><a href="#cite_ref-46">^</a></b></span> <span><cite><a href="http://fakehost/wiki/Ben_Goodger" title="Ben Goodger">Goodger, Ben</a> (February 6, 2006). <a href="https://web.archive.org/web/20110623034401/http://weblogs.mozillazine.org/ben/archives/009698.html" rel="nofollow">"Where Did Firefox Come From?"</a>. Inside Firefox. Archived from <a href="http://weblogs.mozillazine.org/ben/archives/009698.html" rel="nofollow">the original</a> on 2011-06-23<span>. Retrieved <span>2012-01-07</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.aufirst=Ben&amp;rft.aulast=Goodger&amp;rft.btitle=Where+Did+Firefox+Come+From%3F&amp;rft.date=2006-02-06&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fweblogs.mozillazine.org%2Fben%2Farchives%2F009698.html&amp;rft.pub=Inside+Firefox&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-47"><span><b><a href="#cite_ref-47">^</a></b></span> <span><cite><a href="https://web.archive.org/web/20070914035447/http://www.ibphoenix.com/main.nfs?a=ibphoenix&amp;page=ibp_Mozilla0" rel="nofollow">"Mozilla browser becomes Firebird"</a>. IBPhoenix. Archived from <a href="http://www.ibphoenix.com/main.nfs?a=ibphoenix&amp;page=ibp_Mozilla0" rel="nofollow">the original</a> on 2007-09-14<span>. Retrieved <span>2013-06-10</span></span>. <q>We at IBPhoenix think that having a browser and a database with the same name in the same space will confuse the market, especially as browsers and databases are often used in the same applications</q></cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Mozilla+browser+becomes+Firebird&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.ibphoenix.com%2Fmain.nfs%3Fa%3Dibphoenix%26page%3Dibp_Mozilla0&amp;rft.pub=IBPhoenix&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-47"><span><b><a href="#cite_ref-47">^</a></b></span> <span><cite><a href="https://web.archive.org/web/20070914035447/http://www.ibphoenix.com/main.nfs?a=ibphoenix&amp;page=ibp_Mozilla0" rel="nofollow">"Mozilla browser becomes Firebird"</a>. IBPhoenix. Archived from <a href="http://www.ibphoenix.com/main.nfs?a=ibphoenix&amp;page=ibp_Mozilla0" rel="nofollow">the original</a> on 2007-09-14<span>. Retrieved <span>2013-06-10</span></span>. <q>We at IBPhoenix think that having a browser and a database with the same name in the same space will confuse the market, especially as browsers and databases are often used in the same applications</q></cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Mozilla+browser+becomes+Firebird&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.ibphoenix.com%2Fmain.nfs%3Fa%3Dibphoenix%26page%3Dibp_Mozilla0&amp;rft.pub=IBPhoenix&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-48"><span><b><a href="#cite_ref-48">^</a></b></span> <span><cite>Festa, Paul (May 6, 2003). <a href="http://news.cnet.com/2100-1032_3-1000146.html" rel="nofollow">"Mozilla's Firebird gets wings clipped"</a>. <a href="http://fakehost/wiki/CNET_Networks" title="CNET Networks">CNET</a><span>. Retrieved <span>2007-01-30</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.aufirst=Paul&amp;rft.aulast=Festa&amp;rft.btitle=Mozilla%27s+Firebird+gets+wings+clipped&amp;rft.date=2003-05-06&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fnews.cnet.com%2F2100-1032_3-1000146.html&amp;rft.pub=CNET&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-48"><span><b><a href="#cite_ref-48">^</a></b></span> <span><cite>Festa, Paul (May 6, 2003). <a href="http://news.cnet.com/2100-1032_3-1000146.html" rel="nofollow">"Mozilla's Firebird gets wings clipped"</a>. <a href="http://fakehost/wiki/CNET_Networks" title="CNET Networks">CNET</a><span>. Retrieved <span>2007-01-30</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.aufirst=Paul&amp;rft.aulast=Festa&amp;rft.btitle=Mozilla%27s+Firebird+gets+wings+clipped&amp;rft.date=2003-05-06&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fnews.cnet.com%2F2100-1032_3-1000146.html&amp;rft.pub=CNET&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-49"><span><b><a href="#cite_ref-49">^</a></b></span> <span><cite>Festa, Paul (February 9, 2004). <a href="http://news.cnet.com/2100-7344-5156101.html" rel="nofollow">"Mozilla holds 'fire' in naming fight"</a>. CNET News<span>. Retrieved <span>2007-01-24</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.aufirst=Paul&amp;rft.aulast=Festa&amp;rft.btitle=Mozilla+holds+%27fire%27+in+naming+fight&amp;rft.date=2004-02-09&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fnews.cnet.com%2F2100-7344-5156101.html&amp;rft.pub=CNET+News&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-49"><span><b><a href="#cite_ref-49">^</a></b></span> <span><cite>Festa, Paul (February 9, 2004). <a href="http://news.cnet.com/2100-7344-5156101.html" rel="nofollow">"Mozilla holds 'fire' in naming fight"</a>. CNET News<span>. Retrieved <span>2007-01-24</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.aufirst=Paul&amp;rft.aulast=Festa&amp;rft.btitle=Mozilla+holds+%27fire%27+in+naming+fight&amp;rft.date=2004-02-09&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fnews.cnet.com%2F2100-7344-5156101.html&amp;rft.pub=CNET+News&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-50"><span><b><a href="#cite_ref-50">^</a></b></span> <span><cite><a href="http://www.mozilla.org/en-US/firefox/mobile/features/" rel="nofollow">"Mobile features"</a>. Mozilla<span>. Retrieved <span>2012-06-26</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Mobile+features&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.mozilla.org%2Fen-US%2Ffirefox%2Fmobile%2Ffeatures%2F&amp;rft.pub=Mozilla&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-50"><span><b><a href="#cite_ref-50">^</a></b></span> <span><cite><a href="http://www.mozilla.org/en-US/firefox/mobile/features/" rel="nofollow">"Mobile features"</a>. Mozilla<span>. Retrieved <span>2012-06-26</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Mobile+features&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.mozilla.org%2Fen-US%2Ffirefox%2Fmobile%2Ffeatures%2F&amp;rft.pub=Mozilla&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-51"><span><b><a href="#cite_ref-51">^</a></b></span> <span><cite><a href="https://wiki.mozilla.org/Mobile/Platforms/Android#System_Requirements" rel="nofollow">"Mobile System Requirements"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Mobile+System+Requirements&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwiki.mozilla.org%2FMobile%2FPlatforms%2FAndroid%23System_Requirements&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-51"><span><b><a href="#cite_ref-51">^</a></b></span> <span><cite><a href="https://wiki.mozilla.org/Mobile/Platforms/Android#System_Requirements" rel="nofollow">"Mobile System Requirements"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Mobile+System+Requirements&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwiki.mozilla.org%2FMobile%2FPlatforms%2FAndroid%23System_Requirements&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-52"><span><b><a href="#cite_ref-52">^</a></b></span> <span><cite><a href="https://support.mozilla.org/en-US/kb/will-firefox-work-my-mobile-device" rel="nofollow">"Firefox Mobile supported devices"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Firefox+Mobile+supported+devices&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fsupport.mozilla.org%2Fen-US%2Fkb%2Fwill-firefox-work-my-mobile-device&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-52"><span><b><a href="#cite_ref-52">^</a></b></span> <span><cite><a href="https://support.mozilla.org/en-US/kb/will-firefox-work-my-mobile-device" rel="nofollow">"Firefox Mobile supported devices"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Firefox+Mobile+supported+devices&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fsupport.mozilla.org%2Fen-US%2Fkb%2Fwill-firefox-work-my-mobile-device&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-53"><span><b><a href="#cite_ref-53">^</a></b></span> <span><cite><a href="http://www.mirror.co.uk/news/technology/2009/11/09/mozilla-rules-out-firefox-for-iphone-and-blackberry-115875-21809563/" rel="nofollow">"Mozilla rules out Firefox for iPhone and BlackBerry"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Mozilla+rules+out+Firefox+for+iPhone+and+BlackBerry&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.mirror.co.uk%2Fnews%2Ftechnology%2F2009%2F11%2F09%2Fmozilla-rules-out-firefox-for-iphone-and-blackberry-115875-21809563%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-53"><span><b><a href="#cite_ref-53">^</a></b></span> <span><cite><a href="http://www.mirror.co.uk/news/technology/2009/11/09/mozilla-rules-out-firefox-for-iphone-and-blackberry-115875-21809563/" rel="nofollow">"Mozilla rules out Firefox for iPhone and BlackBerry"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Mozilla+rules+out+Firefox+for+iPhone+and+BlackBerry&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.mirror.co.uk%2Fnews%2Ftechnology%2F2009%2F11%2F09%2Fmozilla-rules-out-firefox-for-iphone-and-blackberry-115875-21809563%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-54"><span><b><a href="#cite_ref-54">^</a></b></span> <span><cite><a href="http://www.mozilla.org/firefox/os/" rel="nofollow">"Boot to Gecko Project"</a>. Mozilla. March 2012<span>. Retrieved <span>2012-03-30</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Boot+to+Gecko+Project&amp;rft.date=2012-03&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.mozilla.org%2Ffirefox%2Fos%2F&amp;rft.pub=Mozilla&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-54"><span><b><a href="#cite_ref-54">^</a></b></span> <span><cite><a href="http://www.mozilla.org/firefox/os/" rel="nofollow">"Boot to Gecko Project"</a>. Mozilla. March 2012<span>. Retrieved <span>2012-03-30</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Boot+to+Gecko+Project&amp;rft.date=2012-03&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.mozilla.org%2Ffirefox%2Fos%2F&amp;rft.pub=Mozilla&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-55"><span><b><a href="#cite_ref-55">^</a></b></span> <span><cite><a href="https://www.mozilla.org/en-US/firefox/os/devices/" rel="nofollow">"Firefox OS - Devices &amp; Availability"</a>. <i>Mozilla</i><span>. Retrieved <span>2015-12-30</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Firefox+OS+-+Devices+%26+Availability&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwww.mozilla.org%2Fen-US%2Ffirefox%2Fos%2Fdevices%2F&amp;rft.jtitle=Mozilla&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-55"><span><b><a href="#cite_ref-55">^</a></b></span> <span><cite><a href="https://www.mozilla.org/en-US/firefox/os/devices/" rel="nofollow">"Firefox OS - Devices &amp; Availability"</a>. <i>Mozilla</i><span>. Retrieved <span>2015-12-30</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Firefox+OS+-+Devices+%26+Availability&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwww.mozilla.org%2Fen-US%2Ffirefox%2Fos%2Fdevices%2F&amp;rft.jtitle=Mozilla&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-56"><span><b><a href="#cite_ref-56">^</a></b></span> <span><cite><a href="https://blog.lizardwrangler.com/2012/07/06/thunderbird-stability-and-community-innovation/" rel="nofollow">"Thunderbird: Stability and Community Innovation | Mitchell's Blog"</a>. <i>blog.lizardwrangler.com</i><span>. Retrieved <span>2015-04-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Thunderbird%3A+Stability+and+Community+Innovation+%7C+Mitchell%27s+Blog&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fblog.lizardwrangler.com%2F2012%2F07%2F06%2Fthunderbird-stability-and-community-innovation%2F&amp;rft.jtitle=blog.lizardwrangler.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-56"><span><b><a href="#cite_ref-56">^</a></b></span> <span><cite><a href="https://blog.lizardwrangler.com/2012/07/06/thunderbird-stability-and-community-innovation/" rel="nofollow">"Thunderbird: Stability and Community Innovation | Mitchell's Blog"</a>. <i>blog.lizardwrangler.com</i><span>. Retrieved <span>2015-04-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Thunderbird%3A+Stability+and+Community+Innovation+%7C+Mitchell%27s+Blog&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fblog.lizardwrangler.com%2F2012%2F07%2F06%2Fthunderbird-stability-and-community-innovation%2F&amp;rft.jtitle=blog.lizardwrangler.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-57"><span><b><a href="#cite_ref-57">^</a></b></span> <span><cite><a href="https://lwn.net/Articles/165080/" rel="nofollow">"Two discontinued browsers"</a>. LWN.net. 21 December 2005<span>. Retrieved <span>2012-08-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Two+discontinued+browsers&amp;rft.date=2005-12-21&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Flwn.net%2FArticles%2F165080%2F&amp;rft.pub=LWN.net&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-57"><span><b><a href="#cite_ref-57">^</a></b></span> <span><cite><a href="https://lwn.net/Articles/165080/" rel="nofollow">"Two discontinued browsers"</a>. LWN.net. 21 December 2005<span>. Retrieved <span>2012-08-19</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Two+discontinued+browsers&amp;rft.date=2005-12-21&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Flwn.net%2FArticles%2F165080%2F&amp;rft.pub=LWN.net&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-58"><span><b><a href="#cite_ref-58">^</a></b></span> <span><cite><a href="http://home.kairo.at/blog/2007-06/seamonkey_r_trademarks_registered" rel="nofollow">"SeaMonkey trademarks registered!"</a>. kairo.at. 2007-05-22<span>. Retrieved <span>2013-06-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=SeaMonkey+trademarks+registered%21&amp;rft.date=2007-05-22&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fhome.kairo.at%2Fblog%2F2007-06%2Fseamonkey_r_trademarks_registered&amp;rft.pub=kairo.at&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-58"><span><b><a href="#cite_ref-58">^</a></b></span> <span><cite><a href="http://home.kairo.at/blog/2007-06/seamonkey_r_trademarks_registered" rel="nofollow">"SeaMonkey trademarks registered!"</a>. kairo.at. 2007-05-22<span>. Retrieved <span>2013-06-10</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=SeaMonkey+trademarks+registered%21&amp;rft.date=2007-05-22&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fhome.kairo.at%2Fblog%2F2007-06%2Fseamonkey_r_trademarks_registered&amp;rft.pub=kairo.at&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-59"><span><b><a href="#cite_ref-59">^</a></b></span> <span><cite><a href="http://www.bugzilla.org/installation-list/" rel="nofollow">"Bugzilla Installation List"</a><span>. Retrieved <span>2014-09-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Bugzilla+Installation+List&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.bugzilla.org%2Finstallation-list%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-59"><span><b><a href="#cite_ref-59">^</a></b></span> <span><cite><a href="http://www.bugzilla.org/installation-list/" rel="nofollow">"Bugzilla Installation List"</a><span>. Retrieved <span>2014-09-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Bugzilla+Installation+List&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.bugzilla.org%2Finstallation-list%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-BE201106-60"><span>^ <a href="#cite_ref-BE201106_60-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-BE201106_60-1"><sup><i><b>b</b></i></sup></a></span> <span><cite><a href="http://fakehost/wiki/Brendan_Eich" title="Brendan Eich">Eich, Brendan</a> (21 June 2011). <a href="http://brendaneich.com/2011/06/new-javascript-engine-module-owner/" rel="nofollow">"New JavaScript Engine Module Owner"</a>. BrendanEich.com.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.aufirst=Brendan&amp;rft.aulast=Eich&amp;rft.btitle=New+JavaScript+Engine+Module+Owner&amp;rft.date=2011-06-21&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fbrendaneich.com%2F2011%2F06%2Fnew-javascript-engine-module-owner%2F&amp;rft.pub=BrendanEich.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-BE201106-60"><span>^ <a href="#cite_ref-BE201106_60-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-BE201106_60-1"><sup><i><b>b</b></i></sup></a></span> <span><cite><a href="http://fakehost/wiki/Brendan_Eich" title="Brendan Eich">Eich, Brendan</a> (21 June 2011). <a href="http://brendaneich.com/2011/06/new-javascript-engine-module-owner/" rel="nofollow">"New JavaScript Engine Module Owner"</a>. BrendanEich.com.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.aufirst=Brendan&amp;rft.aulast=Eich&amp;rft.btitle=New+JavaScript+Engine+Module+Owner&amp;rft.date=2011-06-21&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fbrendaneich.com%2F2011%2F06%2Fnew-javascript-engine-module-owner%2F&amp;rft.pub=BrendanEich.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-61"><span><b><a href="#cite_ref-61">^</a></b></span> <span><cite><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=759422#c0" rel="nofollow">"Bug 759422 - Remove use of e4x in account creation"</a>. Bugzilla@Mozilla. 2012-08-17<span>. Retrieved <span>2012-08-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Bug+759422+-+Remove+use+of+e4x+in+account+creation&amp;rft.date=2012-08-17&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fbugzilla.mozilla.org%2Fshow_bug.cgi%3Fid%3D759422%23c0&amp;rft.pub=Bugzilla%40Mozilla&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-61"><span><b><a href="#cite_ref-61">^</a></b></span> <span><cite><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=759422#c0" rel="nofollow">"Bug 759422 - Remove use of e4x in account creation"</a>. Bugzilla@Mozilla. 2012-08-17<span>. Retrieved <span>2012-08-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Bug+759422+-+Remove+use+of+e4x+in+account+creation&amp;rft.date=2012-08-17&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fbugzilla.mozilla.org%2Fshow_bug.cgi%3Fid%3D759422%23c0&amp;rft.pub=Bugzilla%40Mozilla&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-62"><span><b><a href="#cite_ref-62">^</a></b></span> <span><cite><a href="https://developer.mozilla.org/en-US/docs/SpiderMonkey" rel="nofollow">"SpiderMonkey"</a>. Mozilla Developer Network. 2012-08-15<span>. Retrieved <span>2012-08-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=SpiderMonkey&amp;rft.date=2012-08-15&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FSpiderMonkey&amp;rft.pub=Mozilla+Developer+Network&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-62"><span><b><a href="#cite_ref-62">^</a></b></span> <span><cite><a href="https://developer.mozilla.org/en-US/docs/SpiderMonkey" rel="nofollow">"SpiderMonkey"</a>. Mozilla Developer Network. 2012-08-15<span>. Retrieved <span>2012-08-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=SpiderMonkey&amp;rft.date=2012-08-15&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FSpiderMonkey&amp;rft.pub=Mozilla+Developer+Network&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-63"><span><b><a href="#cite_ref-63">^</a></b></span> <span><cite><a href="http://www.mozilla.org/rhino/history.html" rel="nofollow">"Rhino History"</a>. <a href="http://fakehost/wiki/Mozilla_Foundation" title="Mozilla Foundation">Mozilla Foundation</a><span>. Retrieved <span>2008-03-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Rhino+History&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.mozilla.org%2Frhino%2Fhistory.html&amp;rft.pub=Mozilla+Foundation&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-63"><span><b><a href="#cite_ref-63">^</a></b></span> <span><cite><a href="http://www.mozilla.org/rhino/history.html" rel="nofollow">"Rhino History"</a>. <a href="http://fakehost/wiki/Mozilla_Foundation" title="Mozilla Foundation">Mozilla Foundation</a><span>. Retrieved <span>2008-03-20</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Rhino+History&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.mozilla.org%2Frhino%2Fhistory.html&amp;rft.pub=Mozilla+Foundation&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-64"><span><b><a href="#cite_ref-64">^</a></b></span> <span><cite><a href="https://github.com/servo/servo/wiki/Roadmap" rel="nofollow">"Roadmap"</a><span>. Retrieved <span>10 May</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Roadmap&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fgithub.com%2Fservo%2Fservo%2Fwiki%2FRoadmap&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-64"><span><b><a href="#cite_ref-64">^</a></b></span> <span><cite><a href="https://github.com/servo/servo/wiki/Roadmap" rel="nofollow">"Roadmap"</a><span>. Retrieved <span>10 May</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Roadmap&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fgithub.com%2Fservo%2Fservo%2Fwiki%2FRoadmap&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-65"><span><b><a href="#cite_ref-65">^</a></b></span> <span><cite>Larabel, Michael. <a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=Servo-9-May-2016" rel="nofollow">"Servo Continues Making Progress For Shipping Components In Gecko, Browser.html"</a>. <i>Phoronix.com</i><span>. Retrieved <span>10 May</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Servo+Continues+Making+Progress+For+Shipping+Components+In+Gecko%2C+Browser.html&amp;rft.aufirst=Michael&amp;rft.aulast=Larabel&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwww.phoronix.com%2Fscan.php%3Fpage%3Dnews_item%26px%3DServo-9-May-2016&amp;rft.jtitle=Phoronix.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-65"><span><b><a href="#cite_ref-65">^</a></b></span> <span><cite>Larabel, Michael. <a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=Servo-9-May-2016" rel="nofollow">"Servo Continues Making Progress For Shipping Components In Gecko, Browser.html"</a>. <i>Phoronix.com</i><span>. Retrieved <span>10 May</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Servo+Continues+Making+Progress+For+Shipping+Components+In+Gecko%2C+Browser.html&amp;rft.aufirst=Michael&amp;rft.aulast=Larabel&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwww.phoronix.com%2Fscan.php%3Fpage%3Dnews_item%26px%3DServo-9-May-2016&amp;rft.jtitle=Phoronix.com&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-66"><span><b><a href="#cite_ref-66">^</a></b></span> <span><cite><a href="https://mozvr.com" rel="nofollow">"Mozilla VR"</a>. <i>Mozilla VR</i><span>. Retrieved <span>2016-10-27</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Mozilla+VR&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fmozvr.com&amp;rft.jtitle=Mozilla+VR&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-66"><span><b><a href="#cite_ref-66">^</a></b></span> <span><cite><a href="https://mozvr.com" rel="nofollow">"Mozilla VR"</a>. <i>Mozilla VR</i><span>. Retrieved <span>2016-10-27</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Mozilla+VR&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fmozvr.com&amp;rft.jtitle=Mozilla+VR&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-67"><span><b><a href="#cite_ref-67">^</a></b></span> <span><cite><a href="https://login.persona.org/" rel="nofollow"><i>Persona</i></a>, Mozilla</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Persona&amp;rft.genre=book&amp;rft_id=https%3A%2F%2Flogin.persona.org%2F&amp;rft.pub=Mozilla&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-67"><span><b><a href="#cite_ref-67">^</a></b></span> <span><cite><a href="https://login.persona.org/" rel="nofollow"><i>Persona</i></a>, Mozilla</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Persona&amp;rft.genre=book&amp;rft_id=https%3A%2F%2Flogin.persona.org%2F&amp;rft.pub=Mozilla&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-68"><span><b><a href="#cite_ref-68">^</a></b></span> <span><cite><a href="https://developer.mozilla.org/en-US/Persona" rel="nofollow">"Persona"</a>. <i>Mozilla Developer Network</i><span>. Retrieved <span>2016-10-27</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Persona&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2FPersona&amp;rft.jtitle=Mozilla+Developer+Network&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-68"><span><b><a href="#cite_ref-68">^</a></b></span> <span><cite><a href="https://developer.mozilla.org/en-US/Persona" rel="nofollow">"Persona"</a>. <i>Mozilla Developer Network</i><span>. Retrieved <span>2016-10-27</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Persona&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2FPersona&amp;rft.jtitle=Mozilla+Developer+Network&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-69"><span><b><a href="#cite_ref-69">^</a></b></span> <span><cite><a href="https://webmaker.org/en-US/about/" rel="nofollow"><i>About Mozilla Webmaker</i></a>, Mozilla</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=About+Mozilla+Webmaker&amp;rft.genre=book&amp;rft_id=https%3A%2F%2Fwebmaker.org%2Fen-US%2Fabout%2F&amp;rft.pub=Mozilla&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-69"><span><b><a href="#cite_ref-69">^</a></b></span> <span><cite><a href="https://webmaker.org/en-US/about/" rel="nofollow"><i>About Mozilla Webmaker</i></a>, Mozilla</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=About+Mozilla+Webmaker&amp;rft.genre=book&amp;rft_id=https%3A%2F%2Fwebmaker.org%2Fen-US%2Fabout%2F&amp;rft.pub=Mozilla&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-lifehacker.com-70"><span>^ <a href="#cite_ref-lifehacker.com_70-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-lifehacker.com_70-1"><sup><i><b>b</b></i></sup></a></span> <span><cite>Alan Henry. <a href="http://lifehacker.com/mozilla-webmaker-teaches-you-how-to-build-web-sites-ap-1553277374" rel="nofollow">"Mozilla Webmaker Teaches You to Build Web Sites, Apps, and More"</a>. <i>Lifehacker</i>. Gawker Media.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Mozilla+Webmaker+Teaches+You+to+Build+Web+Sites%2C+Apps%2C+and+More&amp;rft.au=Alan+Henry&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Flifehacker.com%2Fmozilla-webmaker-teaches-you-how-to-build-web-sites-ap-1553277374&amp;rft.jtitle=Lifehacker&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"><span> </span></span>
+ <li id="cite_note-lifehacker.com-70"><span>^ <a href="#cite_ref-lifehacker.com_70-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-lifehacker.com_70-1"><sup><i><b>b</b></i></sup></a></span> <span><cite>Alan Henry. <a href="http://lifehacker.com/mozilla-webmaker-teaches-you-how-to-build-web-sites-ap-1553277374" rel="nofollow">"Mozilla Webmaker Teaches You to Build Web Sites, Apps, and More"</a>. <i>Lifehacker</i>. Gawker Media.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.atitle=Mozilla+Webmaker+Teaches+You+to+Build+Web+Sites%2C+Apps%2C+and+More&amp;rft.au=Alan+Henry&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Flifehacker.com%2Fmozilla-webmaker-teaches-you-how-to-build-web-sites-ap-1553277374&amp;rft.jtitle=Lifehacker&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal"></span>
</span>
</li>
- <li id="cite_note-71"><span><b><a href="#cite_ref-71">^</a></b></span> <span><cite><a href="https://wiki.mozilla.org/Air_Mozilla" rel="nofollow">"Air Mozilla"</a>. Mozilla Wiki.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Air+Mozilla&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwiki.mozilla.org%2FAir_Mozilla&amp;rft.pub=Mozilla+Wiki&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-71"><span><b><a href="#cite_ref-71">^</a></b></span> <span><cite><a href="https://wiki.mozilla.org/Air_Mozilla" rel="nofollow">"Air Mozilla"</a>. Mozilla Wiki.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Air+Mozilla&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwiki.mozilla.org%2FAir_Mozilla&amp;rft.pub=Mozilla+Wiki&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
- <li id="cite_note-72"><span><b><a href="#cite_ref-72">^</a></b></span> <span><cite><a href="https://blog.mozilla.org/mrz/2012/04/17/air-mozilla-reboot-phase-i/" rel="nofollow">"Air Mozilla Reboot, Phase I"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Air+Mozilla+Reboot%2C+Phase+I&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fblog.mozilla.org%2Fmrz%2F2012%2F04%2F17%2Fair-mozilla-reboot-phase-i%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"><span> </span></span>
+ <li id="cite_note-72"><span><b><a href="#cite_ref-72">^</a></b></span> <span><cite><a href="https://blog.mozilla.org/mrz/2012/04/17/air-mozilla-reboot-phase-i/" rel="nofollow">"Air Mozilla Reboot, Phase I"</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3AMozilla&amp;rft.btitle=Air+Mozilla+Reboot%2C+Phase+I&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fblog.mozilla.org%2Fmrz%2F2012%2F04%2F17%2Fair-mozilla-reboot-phase-i%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook"></span>
</span>
</li>
</ol></div>
<p><a href="http://www.techsive.com/2014/09/how-to-resume-failed-downloads-in.html" rel="nofollow">Constant downloads failure in firefox</a></p>
<h2><span id="External_links">External links</span><span><span>[</span><a href="http://fakehost/w/index.php?title=Mozilla&amp;action=edit&amp;section=36" title="Edit section: External links">edit</a><span>]</span></span>
</h2>
- <table role="presentation"><tr><td>
+ <table readabilityDataTable="0" role="presentation"><tr><td>
<a href="http://fakehost/wiki/File:Commons-logo.svg"><img alt="" data-file-height="1376" data-file-width="1024" height="40" src="http://upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/30px-Commons-logo.svg.png" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/45px-Commons-logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/4a/Commons-logo.svg/59px-Commons-logo.svg.png 2x" width="30"></img></a>
</td>
<td>Wikimedia Commons has media related to <i><b><a href="https://commons.wikimedia.org/wiki/Category:Mozilla" title="commons:Category:Mozilla">Mozilla</a></b></i>.</td>
diff --git a/test/test-pages/wordpress/expected-images.json b/test/test-pages/wordpress/expected-images.json
index 0ec604a..18cf367 100644
--- a/test/test-pages/wordpress/expected-images.json
+++ b/test/test-pages/wordpress/expected-images.json
@@ -1 +1 @@
-["https:\/\/i0.wp.com\/wptavern.com\/wp-content\/uploads\/2016\/07\/stack-overflow.png?fit=1200%2C470&ssl=1","https:\/\/i0.wp.com\/wptavern.com\/wp-content\/uploads\/2016\/07\/stack-overflow.png?resize=1025%2C401&ssl=1","https:\/\/i2.wp.com\/wptavern.com\/wp-content\/uploads\/2017\/03\/ChangesinDemand.png?resize=975%2C1115&ssl=1","https:\/\/i1.wp.com\/wptavern.com\/wp-content\/uploads\/2017\/03\/HighDemand.png?resize=975%2C854&ssl=1"] \ No newline at end of file
+["https:\/\/i0.wp.com\/wptavern.com\/wp-content\/uploads\/2016\/07\/stack-overflow.png?resize=1025%2C401&ssl=1","https:\/\/i2.wp.com\/wptavern.com\/wp-content\/uploads\/2017\/03\/ChangesinDemand.png?resize=975%2C1115&ssl=1","https:\/\/i1.wp.com\/wptavern.com\/wp-content\/uploads\/2017\/03\/HighDemand.png?resize=975%2C854&ssl=1"] \ No newline at end of file
diff --git a/test/test-pages/wordpress/expected-metadata.json b/test/test-pages/wordpress/expected-metadata.json
index 3d860dc..c9d6abd 100644
--- a/test/test-pages/wordpress/expected-metadata.json
+++ b/test/test-pages/wordpress/expected-metadata.json
@@ -1,5 +1,5 @@
{
- "Title": "Stack Overflow Jobs Data Shows ReactJS Skills in High Demand, WordPress Market Oversaturated with Developers – WordPress Tavern",
+ "Title": "Stack Overflow Jobs Data Shows ReactJS Skills in High Demand, WordPress Market Oversaturated with Developers",
"Author": null,
"Direction": null,
"Excerpt": "Stack Overflow published its analysis of 2017 hiring trends based on the targeting options employers selected when posting to Stack Overflow Jobs. The report, which compares data from 200 companies…"
diff --git a/test/test-pages/yahoo-1/expected-images.json b/test/test-pages/yahoo-1/expected-images.json
index 494126b..4747f02 100644
--- a/test/test-pages/yahoo-1/expected-images.json
+++ b/test/test-pages/yahoo-1/expected-images.json
@@ -1 +1 @@
-["http:\/\/l3.yimg.com\/uu\/api\/res\/1.2\/4eRCPf9lJt_3q29.outekQ--\/aD02Njk7dz03NDQ7c209MTthcHBpZD15dGFjaHlvbg--\/http:\/\/media.zenfs.com\/en\/homerun\/feed_manager_auto_publish_494\/4406ef57dcb40376c513903b03bef048","http:\/\/l1.yimg.com\/ny\/api\/res\/1.2\/589noY9BZNdmsUUQf6L1AQ--\/YXBwaWQ9aGlnaGxhbmRlcjtzbT0xO3c9NzQ0O2g9NjY5\/http:\/\/media.zenfs.com\/en\/homerun\/feed_manager_auto_publish_494\/4406ef57dcb40376c513903b03bef048"] \ No newline at end of file
+["http:\/\/l1.yimg.com\/ny\/api\/res\/1.2\/589noY9BZNdmsUUQf6L1AQ--\/YXBwaWQ9aGlnaGxhbmRlcjtzbT0xO3c9NzQ0O2g9NjY5\/http:\/\/media.zenfs.com\/en\/homerun\/feed_manager_auto_publish_494\/4406ef57dcb40376c513903b03bef048"] \ No newline at end of file
diff --git a/test/test-pages/yahoo-1/expected.html b/test/test-pages/yahoo-1/expected.html
index 1736b04..deea6c8 100644
--- a/test/test-pages/yahoo-1/expected.html
+++ b/test/test-pages/yahoo-1/expected.html
@@ -1,6 +1,6 @@
<div data-reactid="406" id="Col1-0-ContentCanvas-Proxy">
<div data-reactid="407" id="Col1-0-ContentCanvas">
- <article data-reactid="408" data-type="story" data-uuid="80b35014-fba3-377e-adc5-47fb44f61fa7"><figure data-reactid="409" data-type="image"><div data-reactid="410"><img alt="The PlayStation VR" data-reactid="411" src="http://l1.yimg.com/ny/api/res/1.2/589noY9BZNdmsUUQf6L1AQ--/YXBwaWQ9aGlnaGxhbmRlcjtzbT0xO3c9NzQ0O2g9NjY5/http://media.zenfs.com/en/homerun/feed_manager_auto_publish_494/4406ef57dcb40376c513903b03bef048"></img></div>
+ <article data-reactid="408" data-type="story" data-uuid="80b35014-fba3-377e-adc5-47fb44f61fa7"><figure data-reactid="409" data-type="image"><p><img alt="The PlayStation VR" data-reactid="411" src="http://l1.yimg.com/ny/api/res/1.2/589noY9BZNdmsUUQf6L1AQ--/YXBwaWQ9aGlnaGxhbmRlcjtzbT0xO3c9NzQ0O2g9NjY5/http://media.zenfs.com/en/homerun/feed_manager_auto_publish_494/4406ef57dcb40376c513903b03bef048"></img></p>
<div data-reactid="413">
<figcaption data-reactid="414" title="Sony’s PlayStation VR."><p>Sony’s PlayStation VR.</p>
</figcaption></div>
@@ -8,28 +8,28 @@
<p data-reactid="419" data-type="text">Virtual reality has officially reached the consoles. And it’s pretty good! <a href="http://finance.yahoo.com/news/review-playstation-vr-is-comfortable-and-affordable-but-lacks-must-have-games-165053851.html">Sony’s PlayStation VR</a> is extremely comfortable and reasonably priced, and while it’s lacking killer apps, it’s loaded with lots of interesting ones.</p>
<p data-reactid="420" data-type="text">But which ones should you buy? I’ve played just about every launch game, and while some are worth your time, others you might want to skip. To help you decide what’s what, I’ve put together this list of the eight PSVR games worth considering.</p>
<h3 data-reactid="421" data-type="text"><a href="https://www.playstation.com/en-us/games/rez-infinite-ps4/" rel="nofollow noopener noreferrer" target="_blank">“Rez Infinite” ($30)</a></h3>
- <p><iframe data-reactid="423" data-type="videoIframe" src="https://www.youtube.com/embed/YlDxEOwj5j8"></iframe></p>
+ <p data-reactid="422"><iframe data-reactid="423" data-type="videoIframe" src="https://www.youtube.com/embed/YlDxEOwj5j8"></iframe></p>
<p data-reactid="424" data-type="text">Beloved cult hit “Rez” gets the VR treatment to help launch the PSVR, and the results are terrific. It includes a fully remastered take on the original “Rez” – you zoom through a Matrix-like computer system, shooting down enemies to the steady beat of thumping electronica – but the VR setting makes it incredibly immersive. It gets better the more you play it, too; unlock the amazing Area X mode and you’ll find yourself flying, shooting and bobbing your head to some of the trippiest visuals yet seen in VR.</p>
<h3 data-reactid="425" data-type="text"><a href="https://www.playstation.com/en-us/games/thumper-ps4/" rel="nofollow noopener noreferrer" target="_blank">“Thumper” ($20)</a></h3>
- <p><iframe data-reactid="427" data-type="videoIframe" src="https://www.youtube.com/embed/gtPGX8i1Eaw"></iframe></p>
+ <p data-reactid="426"><iframe data-reactid="427" data-type="videoIframe" src="https://www.youtube.com/embed/gtPGX8i1Eaw"></iframe></p>
<p data-reactid="428" data-type="text">What would happen if Tron, the board game Simon, a Clown beetle, Cthulhu and a noise band met in VR? Chaos, for sure, and also “Thumper.” Called a “violent rhythm game” by its creators, “Thumper” is, well, a violent rhythm game that’s also a gorgeous, unsettling and totally captivating assault on the senses. With simple controls and a straightforward premise – click the X button and the analog stick in time with the music as you barrel down a neon highway — it’s one of the rare games that works equally well both in and out of VR. But since you have PSVR, play it there. It’s marvelous.</p>
<h3 data-reactid="429" data-type="text"><a href="https://www.playstation.com/en-us/games/until-dawn-rush-of-blood-ps4/" rel="nofollow noopener noreferrer" target="_blank">“Until Dawn: Rush of Blood” ($20)</a></h3>
- <p><iframe data-reactid="431" data-type="videoIframe" src="https://www.youtube.com/embed/EL3svUfC8Ds"></iframe></p>
+ <p data-reactid="430"><iframe data-reactid="431" data-type="videoIframe" src="https://www.youtube.com/embed/EL3svUfC8Ds"></iframe></p>
<p data-reactid="432" data-type="text">Cheeky horror game “Until Dawn” was a breakout hit for the PS4 last year, channeling the classic “dumb teens in the woods” horror trope into an effective interactive drama. Well, forget all that if you fire up “Rush of Blood,” because this one sticks you front and center on a rollercoaster ride from Hell. Literally. You ride through a dimly-lit carnival of terror, dual-wielding pistols as you take down targets, hideous pig monsters and, naturally, maniac clowns. Be warned: If the bad guys don’t get you, the jump scares will.</p>
<h3 data-reactid="433" data-type="text"><a href="https://www.playstation.com/en-us/games/headmaster-ps4/" rel="nofollow noopener noreferrer" target="_blank">“Headmaster” ($20)</a></h3>
- <p><iframe data-reactid="435" data-type="videoIframe" src="https://www.youtube.com/embed/a7CSMKw1E7g"></iframe></p>
+ <p data-reactid="434"><iframe data-reactid="435" data-type="videoIframe" src="https://www.youtube.com/embed/a7CSMKw1E7g"></iframe></p>
<p data-reactid="436" data-type="text">Soccer meets “Portal” in the weird (and weirdly fun) “Headmaster,” a game about heading soccer balls into nets, targets and a variety of other things while stuck in some diabolical training facility. While at first it seems a little basic, increasingly challenging shots and a consistently entertaining narrative keep it from running off the pitch. Funny, ridiculous and as easy as literally moving your head back and forth, it’s a pleasant PSVR surprise.</p>
<h3 data-reactid="437" data-type="text"><a href="https://www.playstation.com/en-us/games/rigs-mechanized-combat-league-ps4/" rel="nofollow noopener noreferrer" target="_blank">“RIGS: Mechanized Combat League” ($50)</a></h3>
- <p><iframe data-reactid="439" data-type="videoIframe" src="https://www.youtube.com/embed/Rnqlf9EQ2zA"></iframe></p>
+ <p data-reactid="438"><iframe data-reactid="439" data-type="videoIframe" src="https://www.youtube.com/embed/Rnqlf9EQ2zA"></iframe></p>
<p data-reactid="440" data-type="text">Giant mechs + sports? That’s the gist of this robotic blast-a-thon, which pits two teams of three against one another in gorgeous, explosive and downright fun VR combat. At its best, “RIGS” marries the thrill of fast-paced competitive shooters with the insanity of piloting a giant mech in VR. It can, however, be one of the barfier PSVR games. So pack your Dramamine, you’re going to have to ease yourself into this one.</p>
<h3 data-reactid="441" data-type="text"><a href="https://www.playstation.com/en-us/games/batman-arkham-vr-ps4/" rel="nofollow noopener noreferrer" target="_blank">“Batman Arkham VR” ($20)</a></h3>
- <p><iframe data-reactid="443" data-type="videoIframe" src="https://www.youtube.com/embed/eS4g0py16N8"></iframe></p>
+ <p data-reactid="442"><iframe data-reactid="443" data-type="videoIframe" src="https://www.youtube.com/embed/eS4g0py16N8"></iframe></p>
<p data-reactid="444" data-type="text">“I’m Batman,” you will say. And you’ll actually be right this time, because you are Batman in this detective yarn, and you know this because you actually grab the famous cowl and mask, stick it on your head, and stare into the mirrored reflection of Rocksteady Games’ impressive Dark Knight character model. It lacks the action of its fellow “Arkham” games and runs disappointingly short, but it’s a high-quality experience that really shows off how powerfully immersive VR can be.</p>
<h3 data-reactid="445" data-type="text"><a href="https://www.playstation.com/en-us/games/job-simulator-the-2050-archives-ps4/" rel="nofollow noopener noreferrer" target="_blank">“Job Simulator” ($30)</a></h3>
- <p><iframe data-reactid="447" data-type="videoIframe" src="https://www.youtube.com/embed/3-iMlQIGH8Y"></iframe></p>
+ <p data-reactid="446"><iframe data-reactid="447" data-type="videoIframe" src="https://www.youtube.com/embed/3-iMlQIGH8Y"></iframe></p>
<p data-reactid="448" data-type="text">There are a number of good VR ports in the PSVR launch lineup, but the HTC Vive launch game “Job Simulator” might be the best. Your task? Lots of tasks, actually, from cooking food to fixing cars to working in an office, all for robots, because did I mention you were in the future? Infinitely charming and surprisingly challenging, it’s a great showpiece for VR.</p>
<h3 data-reactid="449" data-type="text"><a href="https://www.playstation.com/en-us/games/eve-valkyrie-ps4/" rel="nofollow noopener noreferrer" target="_blank">“Eve Valkyrie” ($60)</a></h3>
- <p><iframe data-reactid="451" data-type="videoIframe" src="https://www.youtube.com/embed/0KFHw12CTbo"></iframe></p>
+ <p data-reactid="450"><iframe data-reactid="451" data-type="videoIframe" src="https://www.youtube.com/embed/0KFHw12CTbo"></iframe></p>
<p data-reactid="452" data-type="text">Already a hit on the Oculus Rift, this space dogfighting game was one of the first to really show off how VR can turn a traditional game experience into something special. It’s pricey and not quite as hi-res as the Rift version, but “Eve Valkyrie” does an admirable job filling the void left since “Battlestar Galactica” ended. Too bad there aren’t any Cylons in it (or are there?)</p>
<p data-reactid="453" data-type="text"><em><strong>More games news:</strong></em></p>
<ul data-reactid="454" data-type="list"><li data-reactid="455"><a href="https://www.yahoo.com/tech/skylanders-imaginators-will-let-you-create-and-3d-print-your-own-action-figure-143838550.html">‘Skylanders Imaginators’ will let you create and 3D print your own action figures</a></li>
@@ -41,5 +41,5 @@
<a href="https://twitter.com/ben_silverman" rel="nofollow noopener noreferrer" target="_blank"> <i>ben_silverman</i></a><i>.</i></p>
</div>
- </article><span aria-hidden="true" data-reactid="462"></span></div>
+ </article></div>
</div> \ No newline at end of file
diff --git a/test/test-pages/yahoo-2/expected-images.json b/test/test-pages/yahoo-2/expected-images.json
index 1045158..0637a08 100644
--- a/test/test-pages/yahoo-2/expected-images.json
+++ b/test/test-pages/yahoo-2/expected-images.json
@@ -1 +1 @@
-["https:\/\/s.yimg.com\/os\/mit\/media\/m\/social\/images\/social_default_logo-1481777.png"] \ No newline at end of file
+[] \ No newline at end of file
diff --git a/test/test-pages/yahoo-2/expected-metadata.json b/test/test-pages/yahoo-2/expected-metadata.json
index 562a72b..fe406c3 100644
--- a/test/test-pages/yahoo-2/expected-metadata.json
+++ b/test/test-pages/yahoo-2/expected-metadata.json
@@ -1,5 +1,5 @@
{
- "Title": "Russia: Space ship malfunctions, breaks up over Siberia",
+ "Title": "Yahoo News - Latest News & Headlines",
"Author": "NATALIYA VASILYEVA",
"Excerpt": "The latest news and headlines from Yahoo! News. Get breaking news stories and in-depth coverage with videos and photos."
}
diff --git a/test/test-pages/yahoo-2/expected.html b/test/test-pages/yahoo-2/expected.html
index f603205..9bc5f6f 100644
--- a/test/test-pages/yahoo-2/expected.html
+++ b/test/test-pages/yahoo-2/expected.html
@@ -30,5 +30,5 @@
<p data-type="text">Aerospace Writer Marcia Dunn in Cape Canaveral, Florida, and Vladimir Isachenkov in Moscow contributed to this report.</p>
</div>
- </article><span aria-hidden="true"></span></div>
+ </article></div>
</div> \ No newline at end of file
diff --git a/test/test-pages/yahoo-3/expected-images.json b/test/test-pages/yahoo-3/expected-images.json
index 33eb9b3..f9727c2 100644
--- a/test/test-pages/yahoo-3/expected-images.json
+++ b/test/test-pages/yahoo-3/expected-images.json
@@ -1 +1 @@
-["https:\/\/s.yimg.com\/bt\/api\/res\/1.2\/qZaM9MLUOrxLg4IfXt_Niw--\/YXBwaWQ9eW5ld3NfbGVnbztxPTc1O3c9NjAw\/http:\/\/media.zenfs.com\/en-US\/video\/video.abcnewsplus.com\/559ecdbafdb839129816b5c79a996975.cf.png","https:\/\/s3.yimg.com\/bt\/api\/res\/1.2\/GNtA09EDJWzWfpBzGYJS0Q--\/YXBwaWQ9eW5ld3NfbGVnbztxPTg1O3c9NjMw\/http:\/\/media.zenfs.com\/en_us\/gma\/us.abcnews.gma.com\/HT_flag_baby_jtm_150311_16x9_992.jpg"] \ No newline at end of file
+["https:\/\/s3.yimg.com\/bt\/api\/res\/1.2\/GNtA09EDJWzWfpBzGYJS0Q--\/YXBwaWQ9eW5ld3NfbGVnbztxPTg1O3c9NjMw\/http:\/\/media.zenfs.com\/en_us\/gma\/us.abcnews.gma.com\/HT_flag_baby_jtm_150311_16x9_992.jpg"] \ No newline at end of file
diff --git a/test/test-pages/yahoo-3/expected-metadata.json b/test/test-pages/yahoo-3/expected-metadata.json
index 75d461d..1ffa6e7 100644
--- a/test/test-pages/yahoo-3/expected-metadata.json
+++ b/test/test-pages/yahoo-3/expected-metadata.json
@@ -1,4 +1,5 @@
{
"Title": "Veteran Wraps Baby in American Flag, Photo Sparks Controversy",
- "Excerpt": "From Yahoo: A photographer and Navy veteran is fighting back after a photo she posted to Facebook started an online backlash. Vanessa Hicks said she had no idea her photo would be considered controversial. The photo, from a military family’s newborn photo shoot, showed a newborn infant wrapped in an American flag held by his father, who was in his military uniform. Hicks, a Navy veteran herself and the wife of an active-duty Navy member, said her intention was to honor the flag as well as her clients, who wanted to incorporate their military service in the photo shoot."
+ "Excerpt": "A photographer and Navy veteran is fighting back after a photo she posted to Facebook started an online backlash. Vanessa Hicks said she had no idea her photo would be considered controversial. The photo, from a military family’s newborn photo shoot, showed a newborn infant wrapped in an American flag held by his father, who was in his military uniform. Hicks, a Navy veteran herself and the wife of an active-duty Navy member, said her intention was to honor the flag as well as her clients, who wanted to incorporate their military service in the photo shoot.",
+ "Author": "By GILLIAN MOHNEY\n March 11, 2015 3:46 PM"
}
diff --git a/test/test-pages/yahoo-3/expected.html b/test/test-pages/yahoo-3/expected.html
index f3113b6..c5d7e33 100644
--- a/test/test-pages/yahoo-3/expected.html
+++ b/test/test-pages/yahoo-3/expected.html
@@ -1,6 +1,6 @@
<div>
<div id="Main" role="main" tabindex="0">
- <section data-ylk="mid:mediacontentbreakingnews;mpos:1;t1:a3;t2:mod-bkn;sec:mod-bkn;" id="mediacontentbreakingnews"><p> <span>'GMA' Cookie Search:</span> </p>
+ <section data-ylk="mid:mediacontentbreakingnews;mpos:1;t1:a3;t2:mod-bkn;sec:mod-bkn;" id="mediacontentbreakingnews"><p><span>'GMA' Cookie Search:</span> </p>
</section>
<section data-type="story" data-uuid="4250eebf-bbb0-3c95-8fd0-3cb4d3daf93c" data-ylk="t1:a3;t2:ct-mod;sec:ct-mod;itc:0;rspns:nav;" id="mediacontentstory"><div>
@@ -19,11 +19,10 @@
<p>“This is what he was fighting for, his son wrapped in an American flag,” Hicks told ABC News. However, when she posted the image on her page, she started to get comments accusing her of desecrating the flag.</p>
<p>On one Facebook page an unidentified poster put up her picture writing and wrote they found it was “disrespectful, rude, tacky, disgusting, and against the U.S. Flag Code.”</p>
- <div><span id="schemaorg"><div><figure data-orig-index="2"><a data-rapid_p="17" id="cover-c9b69c1a26e19ae9fe744763dc31e9ac" name="cover-c9b69c1a26e19ae9fe744763dc31e9ac"></a><div><span></span>
- <p>View photo</p><span>.</span></div><img alt="Vanessa Hicks" data-preembed="image" src="https://s3.yimg.com/bt/api/res/1.2/GNtA09EDJWzWfpBzGYJS0Q--/YXBwaWQ9eW5ld3NfbGVnbztxPTg1O3c9NjMw/http://media.zenfs.com/en_us/gma/us.abcnews.gma.com/HT_flag_baby_jtm_150311_16x9_992.jpg" title="Vanessa Hicks" width="630"></img></figure><p>Vanessa Hicks</p>
+ <p><span id="schemaorg"><div><figure data-orig-index="2"><a data-rapid_p="17" id="cover-c9b69c1a26e19ae9fe744763dc31e9ac" name="cover-c9b69c1a26e19ae9fe744763dc31e9ac"></a><div><p>View photo</p><p><span>.</span></p></div><img alt="Vanessa Hicks" data-preembed="image" src="https://s3.yimg.com/bt/api/res/1.2/GNtA09EDJWzWfpBzGYJS0Q--/YXBwaWQ9eW5ld3NfbGVnbztxPTg1O3c9NjMw/http://media.zenfs.com/en_us/gma/us.abcnews.gma.com/HT_flag_baby_jtm_150311_16x9_992.jpg" title="Vanessa Hicks" width="630"></img></figure><p>Vanessa Hicks</p>
</div>
</span>
- </div><p>The Federal Flag Code has guidelines for the proper treatment of the U.S. Flag but there are no rules for punishment related to violations. In the past, the </p><a data-rapid_p="18" href="http://abcnews.go.com/topics/news/us/supreme-court.htm" target="_blank">Supreme Court</a><p> has found that people are protected from punishment under the First Amendment for manipulating or even burning the flag.
+ </p><p>The Federal Flag Code has guidelines for the proper treatment of the U.S. Flag but there are no rules for punishment related to violations. In the past, the <a data-rapid_p="18" href="http://abcnews.go.com/topics/news/us/supreme-court.htm" target="_blank">Supreme Court</a> has found that people are protected from punishment under the First Amendment for manipulating or even burning the flag.
</p>
<p>Hicks said she was surprised when messages suddenly started to pop up on her Facebook page and even her own website criticizing her photos.</p>
<p>She said she stayed up until 4 a.m. recently to take down comments from her business and company page, even on shoots that had nothing to do with the flag.</p>
diff --git a/test/test-pages/yahoo-4/expected-images.json b/test/test-pages/yahoo-4/expected-images.json
index 605166a..0637a08 100644
--- a/test/test-pages/yahoo-4/expected-images.json
+++ b/test/test-pages/yahoo-4/expected-images.json
@@ -1 +1 @@
-["http:\/\/i.yimg.jp\/images\/jpnews\/cre\/common\/all\/images\/fbico_ogp_600x600.png"] \ No newline at end of file
+[] \ No newline at end of file
diff --git a/test/test-pages/yahoo-4/expected-metadata.json b/test/test-pages/yahoo-4/expected-metadata.json
index 0dac267..8048fe7 100644
--- a/test/test-pages/yahoo-4/expected-metadata.json
+++ b/test/test-pages/yahoo-4/expected-metadata.json
@@ -1,6 +1,6 @@
{
- "Title": "トレンドマイクロ、公衆無線LANを安全に使うためのアプリ「フリーWi-Fiプロテクション」 (CNET Japan) - Yahoo!ニュース",
+ "Title": "トレンドマイクロ、公衆無線LANを安全に使うためのアプリ「フリーWi-Fiプロテクション」(CNET Japan) - Yahoo!ニュース",
"Author": null,
"Direction": null,
- "Excerpt": " トレンドマイクロは3月9日、Wi-Fi利用時の通信を暗号化し保護するスマホ・タブレッ"
+ "Excerpt": "トレンドマイクロは3月9日、Wi-Fi利用時の通信を暗号化し保護するスマホ・タブレット - Yahoo!ニュース(CNET Japan)"
}
diff --git a/test/test-pages/yahoo-4/expected.html b/test/test-pages/yahoo-4/expected.html
index 4a50c77..db7694a 100644
--- a/test/test-pages/yahoo-4/expected.html
+++ b/test/test-pages/yahoo-4/expected.html
@@ -1,7 +1,9 @@
-<p>
- トレンドマイクロは3月9日、Wi-Fi利用時の通信を暗号化し保護するスマホ・タブレット向けのセキュリティアプリ「フリーWi-Fiプロテクション」(iOS/Android)の発売を開始すると発表した。1年版ライセンスは2900円(税込)で、2年版ライセンスは5000円(税込)。<p>  フリーWi-Fiプロテクションは、App Storeおよび、Google Playにて販売され、既に提供しているスマホ・タブレット向け総合セキュリティ対策アプリ「ウイルスバスター モバイル」と併用することで、不正アプリや危険なウェブサイトからの保護に加え、通信の盗み見を防ぐことができる。</p><p>  2020年の東京オリンピック・パラリンピックの開催などを見据え、フリーWi-Fi(公衆無線LAN)の設置が促進され、フリーWi-Fiの利用者も増加している。
+<div>
+ <div><p>
+ トレンドマイクロは3月9日、Wi-Fi利用時の通信を暗号化し保護するスマホ・タブレット向けのセキュリティアプリ「フリーWi-Fiプロテクション」(iOS/Android)の発売を開始すると発表した。1年版ライセンスは2900円(税込)で、2年版ライセンスは5000円(税込)。</p><p>  フリーWi-Fiプロテクションは、App Storeおよび、Google Playにて販売され、既に提供しているスマホ・タブレット向け総合セキュリティ対策アプリ「ウイルスバスター モバイル」と併用することで、不正アプリや危険なウェブサイトからの保護に加え、通信の盗み見を防ぐことができる。</p><p>  2020年の東京オリンピック・パラリンピックの開催などを見据え、フリーWi-Fi(公衆無線LAN)の設置が促進され、フリーWi-Fiの利用者も増加している。
</p><p>  一方で、脆弱な設定のフリーWi-Fiや攻撃者が設置した偽のフリーWi-Fiへの接続などによる情報漏えい、通信の盗み見などのセキュリティリスクが危惧されているという。
</p><p>  正規事業者が提供する安全性の高いフリーWi-Fiのほかにも、通信を暗号化していない安全性の低いフリーWi-Fi、さらにはサイバー犯罪者が設置したフリーWi-Fiなどさまざまなものが混在している。また、利用者は、接続する前にひとつひとつ安全性を確認するのは難しい状況だとしている。
</p><p>  トレンドマイクロがスマートフォン保持者でフリーWi-Fiの利用経験がある人に実施した調査では、回答者の約85%が安全なフリーWi-Fiと危険なフリーWi-Fiは「見分けられない」と回答。さらに、約65%がフリーWi-Fiの利用に不安を感じていると回答している。
</p><p>  こうした環境の変化やユーザの状況を鑑み、フリーWi-Fiプロテクションの提供を開始する。同アプリをインストールすることで利用者は、万が一安全性の低いフリーWi-Fiのアクセスポイントに接続してしまった場合でも、その通信を暗号化でき、通信の盗み見やそれによる情報漏えいのリスクを低減できるようになる。
- </p><p>  具体的には、フリーWi-Fi利用時に、スマートフォンがフリーWi-Fiプロテクションインフラに接続することにより、フリーWi-Fiのアクセスポイントを介した通信がVPN(Virtual Private Network)で暗号化される。これにより利用者は、第三者から通信を傍受されることやデータの情報漏えいを防ぐことが可能。さらに、かんたん自動接続の機能により、通信を暗号化していない安全性が低いフリーWi-Fi接続時や利用者が指定したWi-Fiへ接続する際に、自動的に通信を暗号化し、利用者の通信を保護する。</p><p>  また、フリーWi-Fiプロテクションインフラと、莫大なセキュリティ情報のビッグデータを保有するクラウド型セキュリティ技術基盤「Trend Micro Smart Protection Network」(SPN)が連携することで、フリーWi-Fiプロテクションインフラを経由してインターネットを利用する際に、利用者がフィッシング詐欺サイトや偽サイトなどへの不正サイトへアクセスすることをブロックできるという。</p></p> \ No newline at end of file
+ </p><p>  具体的には、フリーWi-Fi利用時に、スマートフォンがフリーWi-Fiプロテクションインフラに接続することにより、フリーWi-Fiのアクセスポイントを介した通信がVPN(Virtual Private Network)で暗号化される。これにより利用者は、第三者から通信を傍受されることやデータの情報漏えいを防ぐことが可能。さらに、かんたん自動接続の機能により、通信を暗号化していない安全性が低いフリーWi-Fi接続時や利用者が指定したWi-Fiへ接続する際に、自動的に通信を暗号化し、利用者の通信を保護する。</p><p>  また、フリーWi-Fiプロテクションインフラと、莫大なセキュリティ情報のビッグデータを保有するクラウド型セキュリティ技術基盤「Trend Micro Smart Protection Network」(SPN)が連携することで、フリーWi-Fiプロテクションインフラを経由してインターネットを利用する際に、利用者がフィッシング詐欺サイトや偽サイトなどへの不正サイトへアクセスすることをブロックできるという。</p></div>
+ </div> \ No newline at end of file