.list__list-item--last-child {}
chrome --force-fieldtrials=ResourcePriorities/Everything_11111_1_1_10
JS / CSS > Style > Composite
JS / CSS > Style > Layout > Paint > Composite
JS / CSS > Style > Paint > Composite
rs=AA2YrTu-siM1wvYCyA6mtW_mTQ_Y6UdyuA:1
BROTLI_CLI_C = \
c/tools/brotli.c
BROTLI_COMMON_C = \
c/common/dictionary.c
BROTLI_COMMON_H = \
c/common/constants.h \
c/common/dictionary.h \
c/common/version.h
BROTLI_DEC_C = \
c/dec/bit_reader.c \
c/dec/decode.c \
c/dec/huffman.c \
c/dec/state.c
BROTLI_DEC_H = \
c/dec/bit_reader.h \
c/dec/context.h \
c/dec/huffman.h \
c/dec/port.h \
c/dec/prefix.h \
c/dec/state.h \
c/dec/transform.h
BROTLI_ENC_C = \
c/enc/backward_references.c \
c/enc/backward_references_hq.c \
c/enc/bit_cost.c \
c/enc/block_splitter.c \
c/enc/brotli_bit_stream.c \
c/enc/cluster.c \
c/enc/compress_fragment.c \
c/enc/compress_fragment_two_pass.c \
c/enc/dictionary_hash.c \
c/enc/encode.c \
c/enc/entropy_encode.c \
c/enc/histogram.c \
c/enc/literal_cost.c \
c/enc/memory.c \
c/enc/metablock.c \
c/enc/static_dict.c \
c/enc/utf8_util.c
BROTLI_ENC_H = \
c/enc/backward_references.h \
c/enc/backward_references_hq.h \
c/enc/backward_references_inc.h \
c/enc/bit_cost.h \
c/enc/bit_cost_inc.h \
c/enc/block_encoder_inc.h \
c/enc/block_splitter.h \
c/enc/block_splitter_inc.h \
c/enc/brotli_bit_stream.h \
c/enc/cluster.h \
c/enc/cluster_inc.h \
c/enc/command.h \
c/enc/compress_fragment.h \
c/enc/compress_fragment_two_pass.h \
c/enc/context.h \
c/enc/dictionary_hash.h \
c/enc/entropy_encode.h \
c/enc/entropy_encode_static.h \
c/enc/fast_log.h \
c/enc/find_match_length.h \
c/enc/hash_forgetful_chain_inc.h \
c/enc/hash.h \
c/enc/hash_longest_match64_inc.h \
c/enc/hash_longest_match_inc.h \
c/enc/hash_longest_match_quickly_inc.h \
c/enc/hash_to_binary_tree_inc.h \
c/enc/histogram.h \
c/enc/histogram_inc.h \
c/enc/literal_cost.h \
c/enc/memory.h \
c/enc/metablock.h \
c/enc/metablock_inc.h \
c/enc/port.h \
c/enc/prefix.h \
c/enc/quality.h \
c/enc/ringbuffer.h \
c/enc/static_dict.h \
c/enc/static_dict_lut.h \
c/enc/utf8_util.h \
c/enc/write_bits.h
BROTLI_INCLUDE = \
c/include/brotli/decode.h \
c/include/brotli/encode.h \
c/include/brotli/port.h \
c/include/brotli/types.h
function wait(ms) {
return new Promise(r => setTimeout(r, ms)).then(() => "Yay");
}
// do some work in background.
setInterval(() => 42, 200);
async function test() {
debugger;
const hello = "world";
const response = await fetch('index.html');
const tmp = await wait(1000);
console.log(tmp);
return hello;
}
async function runTest() {
let result = await test();
console.log(result);
}
if (this.state.sortBy === "model") {
json = simpleSort(json, "model", this.state.sortOrder);
} else if (this.state.sortBy === "type") {
json = simpleSort(json, "type", this.state.sortOrder);
} else {
json = simpleSort(json, "manufacturer", this.state.sortOrder);
}
self.addEventListener('install', function(event) {
// Perform install steps
});
var CACHE_NAME = 'my-site-cache-v1';
var urlsToCache = [
'/',
'/styles/main.css',
'/script/main.js'
];
self.addEventListener('install', function(event) {
// Perform install steps
event.waitUntil(
caches.open(CACHE_NAME)
.then(function(cache) {
console.log('Opened cache');
return cache.addAll(urlsToCache);
})
);
});
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request)
.then(function(response) {
// Cache hit - return response
if (response) {
return response;
}
return fetch(event.request);
}
)
);
});
self.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request)
.then(function(response) {
// Cache hit - return response
if (response) {
return response;
}
// IMPORTANT: Clone the request. A request is a stream and
// can only be consumed once. Since we are consuming this
// once by cache and once by the browser for fetch, we need
// to clone the response.
var fetchRequest = event.request.clone();
return fetch(fetchRequest).then(
function(response) {
// Check if we received a valid response
if(!response || response.status !== 200 || response.type !== 'basic') {
return response;
}
// IMPORTANT: Clone the response. A response is a stream
// and because we want the browser to consume the response
// as well as the cache consuming the response, we need
// to clone it so we have two streams.
var responseToCache = response.clone();
caches.open(CACHE_NAME)
.then(function(cache) {
cache.put(event.request, responseToCache);
});
return response;
}
);
})
self.addEventListener('activate', function(event) {
var cacheWhitelist = ['pages-cache-v1', 'blog-posts-cache-v1'];
event.waitUntil(
caches.keys().then(function(cacheNames) {
return Promise.all(
cacheNames.map(function(cacheName) {
if (cacheWhitelist.indexOf(cacheName) === -1) {
return caches.delete(cacheName);
}
})
);
})
);
});
fetch(url, {
credentials: 'include'
})
cache.addAll(urlsToPrefetch.map(function(urlToPrefetch) {
return new Request(urlToPrefetch, { mode: 'no-cors' });
})).then(function() {
console.log('All resources have been fetched and cached.');
});
const plugin = {
visitor: {
ImportDeclaration(decl) {
/* ... */
}
}
}
const {code} = babel.transform(inputCode, {plugins: [plugin]});
async function buildDependencyTree(file) {
let code = await readFile(file);
code = code.toString('utf-8');
// `dep` will collect all dependencies of `file`
let dep = [];
const plugin = {
visitor: {
ImportDeclaration(decl) {
const importedFile = decl.node.source.value;
// Recursion: Push an array of the dependency’s dependencies onto the list
dep.push((async function() {
return await buildDependencyTree(`./app/${importedFile}`);
})());
// Push the dependency itself onto the list
dep.push(importedFile);
}
}
}
// Run the plugin
babel.transform(code, {plugins: [plugin]});
// Wait for all promises to resolve and then flatten the array
return flatten(await Promise.all(dep));
}
function findCommonDeps(depTrees) {
const depSet = new Set();
// Flatten
depTrees.forEach(depTree => {
depTree.forEach(dep => depSet.add(dep));
});
// Filter
return Array.from(depSet)
.filter(dep => depTrees.every(depTree => depTree.includes(dep)));
}
async function bundle(oldCode) {
// `newCode` will be filled with code fragments that eventually form the bundle.
let newCode = [];
const plugin = {
visitor: {
ImportDeclaration(decl) {
const importedFile = decl.node.source.value;
newCode.push((async function() {
// Bundle the imported file and add it to the output.
return await bundle(await readFile(`./app/${importedFile}`));
})());
// Remove the import declaration from the AST.
decl.remove();
}
}
};
// Save the stringified, transformed AST. This code is the same as `oldCode`
// but without any import statements.
const {code} = babel.transform(oldCode, {plugins: [plugin]});
newCode.push(code);
// `newCode` contains all the bundled dependencies as well as the
// import-less version of the code itself. Concatenate to generate the code
// for the bundle.
return flatten(await Promise.all(newCode)).join('\n');
}
async function rewrite(section, sharedBundle) {
let oldCode = await readFile(`./app/static/${section}.js`);
oldCode = oldCode.toString('utf-8');
const plugin = {
visitor: {
ImportDeclaration(decl) {
const importedFile = decl.node.source.value;
// If this import statement imports a file that is in the shared bundle, remove it.
if(sharedBundle.includes(importedFile))
decl.remove();
}
}
};
let {code} = babel.transform(oldCode, {plugins: [plugin]});
// Prepend an import statement for the shared bundle.
code = `import '/static/_shared.js';\n${code}`;
await writeFile(`./app/static/_${section}.js`, code);
}
$ gzip -9 fichier.txt
bash <(curl -f -L -sS https://ngxpagespeed.com/install) \
--nginx-version latest
-
shopping
-
Promotion Ideas
-
Gifts Ideas
> for /R . %I in (*.jpg) do ( cwebp.exe %I -o %~fnI.webp )
POST /output/2xnsp7jn34e5.jpg HTTP/1.1
Host: api.tinify.com
Authorization: Basic bVwGRPj1Q3YxCpbpdjbcRRPMvRVrSgQ6
Content-Type: application/json
{
"resize": {
"method": "fit",
"width": 150,
"height": 100
}
}
HTTP/1.1 200 OK
Compression-Count: 2
Content-Type: image/jpeg
Image-Width: 150
Image-Height: 85
Content-Length: 12594
chocolates-online-for-events
click-here
find-more
women-office-dress
vintage-christmas-dress
click-to-learn
shop-this-sale
tissue-paper-flowers
best-quality-mens-suits
women's-clothing-websites
little-white-dress
princess-cut-diamond-rings
cheap-flowers
view-more
cheap-prom-dresses
women-sundress
couples-costumes
proflowers-site
sharp-promise-rings
ladies-pink-dress
wedding-invitations
flight-and-hotel
wrap-dress
dress-for-less
dress-design
christmas-dresses
kids-clothes
night-dress
top-makeup-brands
sweater-dress
floral-dresses
shirt-dress
denim-dress
Gifts-for-mom
Red-wedding-dresses
Ladies-frock
Floral-lily-bloom
private-family-gifts
Come-on-come-all
Bodycon-Dress
Fall-Flowers
Pinstripe-Suit
Pretty-Dresses
Bridal-Jewellery
Oscar-Dresses
Sofa-Bed
Kids-Dress
Gold-Dress
Coffee-Table
Dress-Patterns
Rings
gifts-for-you-now
barefoot-blonde-hair
birthday-in-a-box
Affordable-fall-dresses
summer-dresses-sydney
Wear-you-out
Cash-for-clothes
Types-of-roses
New-years-eve-outfits
Evening-dresses-2018
Nickiminaj-black-dress
Maya-rudolph-dress-oscars
Love-lolita-kelly-dress
Brenda-kelly-prom-dress
Kelly-brook-blue-dress
Kelly-rowland-black-dress
Best-sundresses-2018
Rihanna-sundress
Zara-tindall-wedding-dress
Newlydress
Charming-dress-for-success-gala
Elegant-dress-for-success-jobs
Promotional-quickflight-services
Great-agoda-hotel-reservation
Upcoming-justflight-tickets
Good-wedding-dress-shops
The-best-clothes-shops
Solid-dress-for-life
Tree-of-life-wrap-dress
All-my-life-mini-dress
Marriage-special-dress
New-gift-of-life
Durable-ulzzang-beach-outfit
Summer-simple-beach-outfit
One-piece-dress-online
Crop-top-dress-party-wear
Women-ripped-skirt-maxi
Soft-art-deco-dress-up
Cute-lion-dress-for-kids
Maxi-denim-pinafore-dress
Asos-curve-pinafore-dress
The-corduroy-pinafore-dress-zara
Skater-pinafore-outfits
Black-leather-pinafore-dress
Girls-pink-pinafore-dress-for-womens
Ladies-latest-bandage-dresses
Grey-tartan-pinafore-dress
Womens-pleated-pinafore-dress
The-black-pinafore-dress-work
Pinafore-cotton-on-dress
Pink-cord-dungaree-dress-for-ladies
Smartflower-solar-season
Smartflower-cost-outlet
Smartflower-solar-cost-sale
Newest-bvlgari-ring-cost
Cartier-wedding-ring-man
Cosmetics-store-ideas
Latest-good-sallys-hair-store
Nasty-gal-dresses-uk
Nasty-gal-clothing-us
Free-dirty-gal-dresses
Nasty-gal-ruffle-dress
Nasty-gal-tuxe-clothes
Nasty-gal-pinafore-wear
Nasty-gal-zebra-dress-us
Polka-dot-dress-promo