{"id":2779,"date":"2026-09-12T06:18:30","date_gmt":"2026-09-12T06:18:30","guid":{"rendered":"https:\/\/quadrosysteme.fr\/?post_type=product&#038;p=2779"},"modified":"2026-10-05T14:52:42","modified_gmt":"2026-10-05T14:52:42","slug":"guide-strategique-vers-le-million","status":"publish","type":"product","link":"https:\/\/quadrosysteme.fr\/en\/product\/guide-strategique-vers-le-million\/","title":{"rendered":"Guide strat\u00e9gique vers le million (French edition)"},"content":{"rendered":"<div class=\"gsm-feuilletage-bloc\">\n.gsm { &#8211;bleu: #0B1F3A; &#8211;bleu2: #13305A; &#8211;dore: #C9A227; &#8211;dore2: #F1D27A; &#8211;gris: #4E5866; &#8211;blanc: #fff; font-family: Georgia, \u00ab\u00a0Times New Roman\u00a0\u00bb, serif; color: var(&#8211;bleu); box-sizing: border-box; } .gsm *, .gsm *::before, .gsm *::after { box-sizing: inherit; } .gsm-sans { font-family: Montserrat, \u00ab\u00a0Segoe UI\u00a0\u00bb, Arial, sans-serif; } .gsm-produit { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(280px, 1.1fr); gap: 2.5rem; align-items: center; max-width: 1100px; margin: 0 auto; padding: 2rem 1.25rem; } .gsm-scene { background: radial-gradient(ellipse at 50% 35%, #1a3a66 0%, #0b1f3a 62%, #06152b 100%); border-radius: 14px; padding: 3rem 1.5rem 2.6rem; display: flex; justify-content: center; align-items: center; min-height: 480px; perspective: 1600px; overflow: hidden; } .gsm-livre { position: relative; width: min(280px, 60vw); aspect-ratio: 864 \/ 1296; transform-style: preserve-3d; transform: rotateY(-26deg) rotateX(4deg); transition: transform .8s cubic-bezier(.2,.7,.2,1); &#8211;ep: 22px;  } .gsm-scene:hover .gsm-livre { transform: rotateY(-16deg) rotateX(3deg); } .gsm-livre &gt; div { position: absolute; inset: 0; backface-visibility: hidden; } .gsm-livre .face { background: #0b1f3a center\/cover no-repeat; border-radius: 2px 6px 6px 2px; box-shadow: inset 6px 0 14px -8px rgba(0,0,0,.55), 0 30px 60px -20px rgba(0,0,0,.75); transform: translateZ(calc(var(&#8211;ep) \/ 2)); } .gsm-livre .dos { background: #0b1f3a center\/cover no-repeat; border-radius: 6px 2px 2px 6px; transform: rotateY(180deg) translateZ(calc(var(&#8211;ep) \/ 2)); } .gsm-livre .tranche { width: var(&#8211;ep); left: 0; background: #102a4c center\/cover no-repeat; transform: rotateY(-90deg) translateZ(calc(var(&#8211;ep) \/ 2)); transform-origin: left center; left: calc(var(&#8211;ep) \/ 2); } .gsm-livre .pages { width: var(&#8211;ep); right: 0; left: auto; top: 3px; bottom: 3px; background: repeating-linear-gradient(90deg, #f3f1ec 0 1px, #d9d5cc 1px 2px); transform: rotateY(90deg) translateZ(calc(var(&#8211;ep) \/ 2)); transform-origin: right center; right: calc(var(&#8211;ep) \/ 2); } .gsm-livre .haut { height: var(&#8211;ep); top: 0; bottom: auto; background: repeating-linear-gradient(0deg, #f3f1ec 0 1px, #d9d5cc 1px 2px); transform: rotateX(90deg) translateZ(calc(var(&#8211;ep) \/ 2)); transform-origin: center top; top: calc(var(&#8211;ep) \/ 2); left: 2px; right: 2px; } .gsm-ombre { position: absolute; left: 50%; bottom: 1.4rem; width: 60%; height: 22px; transform: translateX(-46%); background: radial-gradient(ellipse, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 70%); filter: blur(4px); pointer-events: none; } .gsm-infos h1 { font-family: Montserrat, \u00ab\u00a0Segoe UI\u00a0\u00bb, Arial, sans-serif; font-weight: 800; font-size: clamp(1.5rem, 3vw, 2.2rem); line-height: 1.1; margin: 0 0 .4rem; } .gsm-infos h1 span { color: var(&#8211;dore); display: block; } .gsm-infos .sous { font-style: italic; color: var(&#8211;gris); margin: 0 0 1.2rem; line-height: 1.45; } .gsm-infos ul { padding-left: 1.1rem; margin: 0 0 1.4rem; line-height: 1.55; } .gsm-infos li::marker { color: var(&#8211;dore); } .gsm-actions { display: flex; flex-wrap: wrap; gap: .8rem; } .gsm-btn { font-family: Montserrat, \u00ab\u00a0Segoe UI\u00a0\u00bb, Arial, sans-serif; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; font-size: .82rem; padding: .95rem 1.4rem; border-radius: 6px; border: 2px solid var(&#8211;bleu); cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: .55rem; line-height: 1; min-height: 48px; transition: transform .15s, box-shadow .15s; } .gsm-btn:hover, .gsm-btn:focus-visible { transform: translateY(-1px); box-shadow: 0 6px 18px -8px rgba(11,31,58,.6); outline: none; } .gsm-btn:focus-visible { outline: 3px solid var(&#8211;dore); outline-offset: 2px; } .gsm-btn-primaire { background: var(&#8211;bleu); color: #fff; } .gsm-btn-or { background: var(&#8211;dore); color: var(&#8211;bleu); border-color: var(&#8211;dore); } .gsm-btn-second { background: transparent; color: var(&#8211;bleu); } .gsm-mention { font-size: .8rem; color: var(&#8211;gris); margin-top: 1rem; line-height: 1.45; } .gsm-lecteur { position: fixed; inset: 0; z-index: 9999; background: radial-gradient(ellipse at 50% 40%, #16345c 0%, #0b1f3a 55%, #050f20 100%); display: none; flex-direction: column; color: #fff; } .gsm-lecteur[open] { display: flex; } .gsm-lecteur.gsm-ouvre { animation: gsm-fondu .35s ease both; } @keyframes gsm-fondu { from { opacity: 0 } to { opacity: 1 } } .gsm-barre { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .7rem 1rem; background: rgba(0,0,0,.25); font-family: Montserrat, \u00ab\u00a0Segoe UI\u00a0\u00bb, Arial, sans-serif; font-size: .8rem; } .gsm-barre .titre { font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(&#8211;dore2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .gsm-barre .compteur { color: #cfd6e2; white-space: nowrap; } .gsm-fermer { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.5); border-radius: 6px; width: 44px; height: 44px; font-size: 1.4rem; line-height: 1; cursor: pointer; flex: none; } .gsm-fermer:hover, .gsm-fermer:focus-visible { border-color: var(&#8211;dore); color: var(&#8211;dore2); outline: none; } .gsm-zone { flex: 1; display: grid; grid-template-columns: 56px minmax(0, 1fr) 56px; grid-template-areas: \u00ab\u00a0prev cadre next\u00a0\u00bb; align-items: center; gap: .3rem; padding: .4rem .3rem; min-height: 0; } .gsm-zone &gt; [data-gsm-prev] { grid-area: prev; } .gsm-zone &gt; [data-gsm-next] { grid-area: next; } .gsm-zone &gt; .gsm-cadre { grid-area: cadre; } .gsm-zone &gt; .gsm-nav-mobile { grid-area: nav; } .gsm p:empty { display: none !important; } .gsm-cadre { width: 100%; } .gsm-lecteur.gsm-zoom .gsm-zone { overflow: auto; align-items: start; } .gsm-lecteur.gsm-zoom .gsm-cadre { transform: scale(1.35); transform-origin: top center; margin-bottom: 36%; } .gsm-barre .gsm-outils { display: flex; gap: .4rem; } .gsm-outil { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.5); border-radius: 6px; min-width: 44px; height: 44px; font-size: 1.1rem; line-height: 1; cursor: pointer; padding: 0 .5rem; font-family: Montserrat, Arial, sans-serif; } .gsm-outil:hover, .gsm-outil:focus-visible { border-color: var(&#8211;dore); color: var(&#8211;dore2); outline: none; } .gsm-lecteur:fullscreen { width: 100vw; height: 100vh; } .gsm-fleche { width: 48px; height: 64px; border-radius: 8px; border: 0; background: rgba(255,255,255,.12); color: #fff; font-size: 1.6rem; cursor: pointer; justify-self: center; } .gsm-fleche:hover, .gsm-fleche:focus-visible { background: var(&#8211;dore); color: var(&#8211;bleu); outline: none; } .gsm-fleche[disabled] { opacity: .25; cursor: default; } .gsm-cadre { position: relative; height: 100%; min-height: 0; display: flex; align-items: center; justify-content: center; } .gsm-livre-ouvert { width: 100%; height: 100%; } .gsm-page { background: #fff; overflow: hidden; height: 100%; box-shadow: inset 0 0 30px -18px rgba(0,0,0,.4); } .gsm-page.gsm-cta { font-size: clamp(11px, 2.35vh, 22px); } .gsm-page img { width: 100%; height: 100%; object-fit: contain; display: block; background: #fff; } .gsm-page.gsm-couv { background: #0b1f3a; } .gsm-page.gsm-couv img { object-fit: cover; } .gsm-page.gsm-cta { background: var(&#8211;bleu); text-align: center; } .gsm-page.gsm-cta .cta-wrap { display: flex; align-items: center; justify-content: center; height: 100%; padding: 6%; } .gsm-page.gsm-cta .cta { color: #fff; max-width: 100%; } .gsm-page.gsm-cta .cta .fin { font-family: Montserrat, Arial, sans-serif; font-size: .62em; letter-spacing: .22em; color: var(&#8211;dore2); } .gsm-page.gsm-cta .cta h2 { font-family: Montserrat, Arial, sans-serif; margin: .8em 0 .2em; font-size: 1.05em; letter-spacing: .1em; } .gsm-page.gsm-cta .cta h2 span { display: block; color: var(&#8211;dore); font-size: 1.7em; font-weight: 800; letter-spacing: 0; } .gsm-page.gsm-cta .cta p { margin: .6em 0; line-height: 1.4; font-size: .85em; } .gsm-page.gsm-cta .cta .liste { font-family: Montserrat, Arial, sans-serif; font-weight: 700; color: var(&#8211;dore2); font-size: .7em; letter-spacing: .08em; line-height: 2; } .gsm-page.gsm-cta .cta .achat { display: inline-block; margin: .9em 0 .5em; } .gsm-page.gsm-cta .cta small { display: block; font-size: .6em; color: rgba(255,255,255,.6); font-style: italic; line-height: 1.4; margin-top: 1em; } .gsm-page.gsm-cta .cta a.gsm-btn { font-size: .68em; padding: .75em 1.2em; min-height: 0; } .gsm-page.gsm-cta .cta a.lien { color: var(&#8211;dore2); font-family: Montserrat, Arial, sans-serif; font-size: .6em; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; display: block; margin-top: .6em; } .gsm-reste { position: absolute; right: -6px; top: 8%; bottom: 8%; width: 34px; pointer-events: none; opacity: .9; transition: opacity .3s, transform .3s; } .gsm-reste .feuilles { position: absolute; inset: 0; background: repeating-linear-gradient(90deg, #f6f4ef 0 2px, #cfcac0 2px 3px); border-radius: 0 4px 4px 0; box-shadow: 6px 0 16px -6px rgba(0,0,0,.6); } .gsm-reste .cadenas { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 30px; height: 30px; border-radius: 50%; background: var(&#8211;dore); display: flex; align-items: center; justify-content: center; box-shadow: 0 3px 10px rgba(0,0,0,.5); } .gsm-reste .cadenas svg { width: 16px; height: 16px; fill: var(&#8211;bleu); } .gsm-verrou-texte { position: absolute; right: 0; bottom: -2px; transform: translateY(100%); font-family: Montserrat, Arial, sans-serif; font-size: .68rem; letter-spacing: .04em; color: #cfd6e2; text-align: right; padding-top: .4rem; width: 100%; } .gsm-verrou-texte strong { color: var(&#8211;dore2); } .gsm-lecteur.gsm-fin .gsm-reste { opacity: 1; transform: translateX(6px); } .gsm-lecteur.gsm-fin .gsm-verrou-texte { color: #fff; } .gsm-pied { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .6rem 1rem; padding: .7rem 1rem; background: rgba(0,0,0,.28); font-family: Montserrat, Arial, sans-serif; font-size: .78rem; } .gsm-pied .msg { color: #cfd6e2; } .gsm-pied .msg strong { color: var(&#8211;dore2); } .gsm-lecteur.gsm-fin .gsm-pied .msg { color: #fff; } @media (max-width: 720px) { .gsm-produit { grid-template-columns: 1fr; gap: 1.4rem; padding: 1.2rem .9rem; } .gsm-scene { min-height: 380px; padding: 2.2rem 1rem 2rem; } .gsm-zone { grid-template-columns: 1fr; grid-template-rows: minmax(0, 1fr) auto; grid-template-areas: \u00ab\u00a0cadre\u00a0\u00bb \u00ab\u00a0nav\u00a0\u00bb; } .gsm-barre .gsm-outils .gsm-outil-zoom { display: none; } .gsm-fleche { display: none; } .gsm-nav-mobile { display: flex; justify-content: center; gap: 1rem; padding: .3rem 0 .1rem; } .gsm-nav-mobile .gsm-fleche { display: block; height: 48px; width: 96px; font-size: 1.3rem; } .gsm-reste { width: 18px; right: -2px; } .gsm-reste .cadenas { width: 24px; height: 24px; } .gsm-verrou-texte { font-size: .62rem; } .gsm-barre .titre { font-size: .7rem; } .gsm-pied { padding: .5rem .8rem; gap: .4rem .8rem; } .gsm-pied .gsm-btn-second { display: none; } .gsm-pied .gsm-btn { padding: .7rem 1rem; min-height: 44px; } } @media (min-width: 721px) { .gsm-nav-mobile { display: none; } } @media (prefers-reduced-motion: reduce) { .gsm-lecteur.gsm-ouvre { animation: none; } .gsm-livre, .gsm-btn { transition: none; } }<\/p>\n<div class=\"gsm\">\n<section class=\"gsm-produit\" data-gsm-feuilleter data-pages=\"13\" data-dossier=\"https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/apercu-\" data-achat-url=\"https:\/\/quadrosysteme.fr\/?add-to-cart=2779\" data-contenu-url=\"#tab-description\" data-pages-total=\"331\">\n<div class=\"gsm-scene\" aria-label=\"Le livre Guide strat\u00e9gique vers le million, vue en trois dimensions\">\n<div class=\"gsm-livre\" role=\"img\" aria-label=\"Couverture du livre Guide strat\u00e9gique vers le million \u2014 Le parcours A \u00e0 Z pour augmenter ses revenus, cr\u00e9er des actifs et construire un patrimoine net de 1 000 000 \u2014 Souleymane Isma\u00ebl, QuadroSyst\u00e8me\">\n<div class=\"face\" style=\"background-image:url(&apos;https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/apercu-avant.webp&apos;)\"><\/div>\n<div class=\"dos\" style=\"background-image:url(&apos;https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/apercu-arriere.webp&apos;)\"><\/div>\n<div class=\"tranche\" style=\"background-image:url(&apos;https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/apercu-tranche.webp&apos;)\"><\/div>\n<div class=\"pages\"><\/div>\n<div class=\"haut\"><\/div>\n<\/p>\n<\/div>\n<div class=\"gsm-ombre\" aria-hidden=\"true\"><\/div>\n<\/p>\n<\/div>\n<div class=\"gsm-infos\">\n<div class=\"gsm-actions\"><button type=\"button\" class=\"gsm-btn gsm-btn-primaire\" data-gsm-ouvrir>Feuilleter le livre<\/button><a class=\"gsm-btn gsm-btn-or\" data-gsm-acheter href=\"https:\/\/quadrosysteme.fr\/?add-to-cart=2779\">Acheter le livre \u2014 22 \u20ac<\/a><\/div>\n<p class=\"gsm-mention\">Aper\u00e7u gratuit de 12 pages. Ouvrage d\u2019information et de formation : il ne promet aucun r\u00e9sultat financier.<\/p>\n<\/div>\n<\/section>\n<div id=\"gsm-lecteur\" class=\"gsm-lecteur\" role=\"dialog\" aria-label=\"Aper\u00e7u du livre : Guide strat\u00e9gique vers le million\">\n<div class=\"gsm-barre\"> <span class=\"titre\">Guide strat\u00e9gique vers le million \u2014 aper\u00e7u<\/span> <span class=\"compteur\" aria-live=\"polite\">Couverture<\/span> <span class=\"gsm-outils\"> <button type=\"button\" class=\"gsm-outil gsm-outil-zoom\" data-gsm-zoom aria-label=\"Agrandir les pages\" title=\"Zoom\">\uff0b<\/button> <button type=\"button\" class=\"gsm-outil\" data-gsm-plein aria-label=\"Plein \u00e9cran\" title=\"Plein \u00e9cran\">\u26f6<\/button> <button type=\"button\" class=\"gsm-fermer\" aria-label=\"Fermer l\u2019aper\u00e7u\">\u00d7<\/button> <\/span> <\/div>\n<div class=\"gsm-zone\"> <button type=\"button\" class=\"gsm-fleche\" data-gsm-prev aria-label=\"Page pr\u00e9c\u00e9dente\">\u2039<\/button> <\/p>\n<div class=\"gsm-cadre\">\n<div class=\"gsm-livre-ouvert\"><\/div>\n<div class=\"gsm-reste\" aria-hidden=\"true\">\n<div class=\"feuilles\"><\/div>\n<div class=\"cadenas\"><svg viewbox=\"0 0 24 24\"><path d=\"M17 9V7a5 5 0 0 0-10 0v2H5v13h14V9zm-8-2a3 3 0 0 1 6 0v2H9zm3 12a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" \/><\/svg><\/div>\n<\/p>\n<\/div>\n<p class=\"gsm-verrou-texte\">Suite r\u00e9serv\u00e9e \u00e0 l\u2019\u00e9dition compl\u00e8te \u2014 <strong>331 pages<\/strong><\/p>\n<\/p>\n<\/div>\n<p> <button type=\"button\" class=\"gsm-fleche\" data-gsm-next aria-label=\"Page suivante\">\u203a<\/button> <\/p>\n<div class=\"gsm-nav-mobile\"> <button type=\"button\" class=\"gsm-fleche\" data-gsm-prev aria-label=\"Page pr\u00e9c\u00e9dente\">\u2039 Pr\u00e9c.<\/button> <button type=\"button\" class=\"gsm-fleche\" data-gsm-next aria-label=\"Page suivante\">Suiv. \u203a<\/button> <\/div>\n<\/p>\n<\/div>\n<div class=\"gsm-pied\"> <span class=\"msg\">Vous lisez un extrait. <strong>Achetez le livre pour continuer votre lecture.<\/strong><\/span> <a class=\"gsm-btn gsm-btn-or\" data-gsm-acheter href=\"https:\/\/quadrosysteme.fr\/?add-to-cart=2779\">Acheter le livre<\/a> <a class=\"gsm-btn gsm-btn-second\" style=\"color:#fff\" data-gsm-contenu href=\"#contenu\">Voir ce que contient l\u2019\u00e9dition compl\u00e8te<\/a> <\/div>\n<\/p>\n<\/div>\n<\/div>\n<p>(function(){var s=atob(\u00ab\u00a0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgIEd1aWRlIHN0cmF0w6lnaXF1ZSB2ZXJzIGxlIG1pbGxpb24g4oCUIGxlY3RldXIgwqsgRmV1aWxsZXRlciDCuwogICBEw6lwZW5kYW5jZSA6IHBhZ2UtZmxpcCAyLjAuNyAoU3RQYWdlRmxpcCwgTUlUKSDigJQgbGliL3BhZ2UtZmxpcC5icm93c2VyLmpzCiAgIExlIGxlY3RldXIgbmUgY2hhcmdlIFFVRSBsZXMgcGFnZXMgYXV0b3Jpc8OpZXMgKGltYWdlcyBXZWJQIGRlIGFwZXJjdS9wYWdlcy8pLgogICBMZSBQREYgY29tcGxldCBuJ2VzdCBqYW1haXMgZW52b3nDqSBhdSBuYXZpZ2F0ZXVyLgogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KKGZ1bmN0aW9uICgpIHsKICAidXNlIHN0cmljdCI7CgogIC8qIHBhZ2VzIDogcDAxIChjb3V2ZXJ0dXJlKSDigKYgcDEzIChwYWdlIGZpbmFsZSkgOyBkb3NzaWVyIDogcHLDqWZpeGUgZGVzIFdlYlAgKHJlbGF0aWYgb3UgVVJMIGFic29sdWUpIDsKICAgICBsYXJnZXVyL2hhdXRldXIgOiBwcm9wb3J0aW9ucyBkJ3VuZSBwYWdlICgyIDogMykgOyBhY2hhdFVybCA6IFVSTCBXb29Db21tZXJjZSAoP2FkZC10by1jYXJ0PUlEKSA7CiAgICAgY29udGVudVVybCA6IMKrIGNlIHF1ZSBjb250aWVudCBsJ8OpZGl0aW9uIGNvbXBsw6h0ZSDCuyA7IHBhZ2VzVG90YWwgOiBwYWdlcyBkdSB2b2x1bWUgMSAodmVycm91KSAqLwogIHZhciBDT05GID0gewogICAgcGFnZXM6IDEzLAogICAgZG9zc2llcjogImFwZXJjdS9wYWdlcy8iLAogICAgbGFyZ2V1cjogNjAwLCBoYXV0ZXVyOiA5MDAsCiAgICBhY2hhdFVybDogImh0dHBzOi8vcXVhZHJvc3lzdGVtZS5mci8\/YWRkLXRvLWNhcnQ9Mjc3OSIsCiAgICBjb250ZW51VXJsOiAiI2NvbnRlbnUiLAogICAgcGFnZXNUb3RhbDogMzMxCiAgfTsKCiAgdmFyIHJhY2luZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIltkYXRhLWdzbS1mZXVpbGxldGVyXSIpOwogIGlmICghcmFjaW5lKSByZXR1cm47CiAgLyogV09SRFBSRVNTIEVOVkVMT1BQRS4gU29uIGZpbHRyZSB3cGF1dG9wIHBvc2UgZGVzIDxwPjwvcD4gdmlkZXMgZW50cmUgbGVzIGJsb2NzIGV0IGVudmVsb3BwZSB1bgogICAgIGJvdXRvbiBpc29sZSBkYW5zIDxwPi4uLjwvcD4gKGxlIGJvdXRvbiDCqyBwYWdlIHN1aXZhbnRlIMK7IGwnZXRhaXQsIGV0IGxhIGdyaWxsZSBkdSBsZWN0ZXVyIHNlCiAgICAgZGVjYWxhaXQpLiBPbiBkZWZhaXQgY2VzIDxwPiBzYW5zIGNsYXNzZSBhdmFudCBkZSBtZXN1cmVyIHF1b2kgcXVlIGNlIHNvaXQgOyBsZXMgdnJhaXMKICAgICBwYXJhZ3JhcGhlcyBkdSBjb21wb3NhbnQgcG9ydGVudCB0b3VzIHVuZSBjbGFzc2UuICovCiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmdzbSBwIikuZm9yRWFjaChmdW5jdGlvbiAocCkgewogICAgaWYgKHAuY2xhc3NOYW1lKSByZXR1cm47CiAgICBpZiAocC5jaGlsZHJlbi5sZW5ndGggfHwgIXAudGV4dENvbnRlbnQucmVwbGFjZSgvXHN8wqAvZywgIiIpKSB7CiAgICAgIHdoaWxlIChwLmZpcnN0Q2hpbGQpIHAucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUocC5maXJzdENoaWxkLCBwKTsKICAgICAgcC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHApOwogICAgfQogIH0pOwogIE9iamVjdC5rZXlzKENPTkYpLmZvckVhY2goZnVuY3Rpb24gKGspIHsKICAgIHZhciB2ID0gcmFjaW5lLmdldEF0dHJpYnV0ZSgiZGF0YS0iICsgay5yZXBsYWNlKC9bQS1aXS9nLCBmdW5jdGlvbiAobSkgeyByZXR1cm4gIi0iICsgbS50b0xvd2VyQ2FzZSgpOyB9KSk7CiAgICBpZiAodiAhPT0gbnVsbCkgQ09ORltrXSA9IGlzTmFOKHYpID8gdiA6IE51bWJlcih2KTsKICB9KTsKCiAgdmFyIGxlY3RldXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3NtLWxlY3RldXIiKTsKICB2YXIgYm91dG9uT3V2cmlyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtZ3NtLW91dnJpcl0iKTsKICB2YXIgYm91dG9uRmVybWVyID0gbGVjdGV1ci5xdWVyeVNlbGVjdG9yKCIuZ3NtLWZlcm1lciIpOwogIHZhciBjb250ZW5ldXIgPSBsZWN0ZXVyLnF1ZXJ5U2VsZWN0b3IoIi5nc20tbGl2cmUtb3V2ZXJ0Iik7CiAgdmFyIGNvbXB0ZXVyID0gbGVjdGV1ci5xdWVyeVNlbGVjdG9yKCIuY29tcHRldXIiKTsKICB2YXIgZmxlY2hlcyA9IGxlY3RldXIucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtZ3NtLXByZXZdLCBbZGF0YS1nc20tbmV4dF0iKTsKICB2YXIgcmVkdWl0ID0gd2luZG93Lm1hdGNoTWVkaWEgJiYgd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIikubWF0Y2hlczsKICB2YXIgbGl2cmUgPSBudWxsLCBkZXJuaWVyRm9jdXMgPSBudWxsOwoKICAvLyAtLS0tIGNvbnN0cnVjdGlvbiBkZXMgcGFnZXMgKERPTSkgLS0tLQogIGZ1bmN0aW9uIGNvbnN0cnVpcmVQYWdlcygpIHsKICAgIHZhciBmcmFnID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwogICAgZm9yICh2YXIgaSA9IDE7IGkgPD0gQ09ORi5wYWdlczsgaSsrKSB7CiAgICAgIHZhciBwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgIHAuY2xhc3NOYW1lID0gImdzbS1wYWdlIjsKICAgICAgaWYgKGkgPT09IDEpIHsgcC5jbGFzc05hbWUgKz0gIiBnc20tY291diI7IHAuc2V0QXR0cmlidXRlKCJkYXRhLWRlbnNpdHkiLCAiaGFyZCIpOyB9CiAgICAgIGlmIChpID09PSBDT05GLnBhZ2VzKSB7IHAuY2xhc3NOYW1lICs9ICIgZ3NtLWN0YSI7IHAuc2V0QXR0cmlidXRlKCJkYXRhLWRlbnNpdHkiLCAiaGFyZCIpOyB9CiAgICAgIGlmIChpID09PSBDT05GLnBhZ2VzKSB7CiAgICAgICAgcC5pbm5lckhUTUwgPQogICAgICAgICAgJzxkaXYgY2xhc3M9ImN0YS13cmFwIj48ZGl2IGNsYXNzPSJjdGEiPicgKwogICAgICAgICAgJzxkaXYgY2xhc3M9ImZpbiI+RklOIERFIEzigJlBUEVSw4dVPC9kaXY+JyArCiAgICAgICAgICAnPHA+Vm91cyB2ZW5leiBkZSBkw6ljb3V2cmlyIHVuIGFwZXLDp3UgZHU8L3A+JyArCiAgICAgICAgICAnPGgyPkdVSURFIFNUUkFUw4lHSVFVRSA8c3Bhbj5WRVJTIExFIE1JTExJT048L3NwYW4+PC9oMj4nICsKICAgICAgICAgICc8cD5MYSBzdWl0ZSBkdSBwYXJjb3VycyBlc3QgZGlzcG9uaWJsZSBkYW5zIGxlIGxpdnJlIGNvbXBsZXQuPC9wPicgKwogICAgICAgICAgJzxkaXYgY2xhc3M9Imxpc3RlIj4zOCBDSEFQSVRSRVM8YnI+OCBST1VURVM8YnI+OCBQUk9GSUxTPGJyPlBMQU5TIDMwIEpPVVJTIOKAoiAxIEFOIOKAoiA1IEFOUyDigKIgMTAgQU5TPGJyPkNBTENVTEFURVVSUyDigKIgw4lUVURFUyBERSBDQVMg4oCiIENIRUNLTElTVFMg4oCiIFJFU1NPVVJDRVM8L2Rpdj4nICsKICAgICAgICAgICc8cD48c3Ryb25nPkFjaGV0ZXogbGUgbGl2cmUgcG91ciBjb250aW51ZXIgdm90cmUgbGVjdHVyZS48L3N0cm9uZz48L3A+JyArCiAgICAgICAgICAnPHNwYW4gY2xhc3M9ImFjaGF0Ij48YSBjbGFzcz0iZ3NtLWJ0biBnc20tYnRuLW9yIiBkYXRhLWdzbS1hY2hldGVyIGhyZWY9IicgKyBDT05GLmFjaGF0VXJsICsgJyI+QWNoZXRlciBsZSBsaXZyZTwvYT48L3NwYW4+JyArCiAgICAgICAgICAnPGEgY2xhc3M9ImxpZW4iIGRhdGEtZ3NtLWNvbnRlbnUgaHJlZj0iJyArIENPTkYuY29udGVudVVybCArICciPlZvaXIgY2UgcXVlIGNvbnRpZW50IGzigJnDqWRpdGlvbiBjb21wbMOodGU8L2E+JyArCiAgICAgICAgICAnPHNtYWxsPkNlIGxpdnJlIGVzdCB1biBvdXZyYWdlIGTigJlpbmZvcm1hdGlvbiBldCBkZSBmb3JtYXRpb24uIElsIG5lIHByb21ldCBhdWN1biByw6lzdWx0YXQgZmluYW5jaWVyLjwvc21hbGw+JyArCiAgICAgICAgICAnPC9kaXY+PC9kaXY+JzsKICAgICAgfSBlbHNlIHsKICAgICAgICB2YXIgaW1nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7CiAgICAgICAgaW1nLnNyYyA9IENPTkYuZG9zc2llciArICJwIiArIChpIDwgMTAgPyAiMCIgKyBpIDogaSkgKyAiLndlYnAiOwogICAgICAgIGltZy5hbHQgPSBpID09PSAxID8gIkNvdXZlcnR1cmUgOiBHdWlkZSBzdHJhdMOpZ2lxdWUgdmVycyBsZSBtaWxsaW9uLCBTb3VsZXltYW5lIElzbWHDq2wsIFF1YWRyb1N5c3TDqG1lIiA6ICJQYWdlICIgKyBpICsgIiBkZSBs4oCZYXBlcsOndSI7CiAgICAgICAgaW1nLmxvYWRpbmcgPSBpIDw9IDMgPyAiZWFnZXIiIDogImxhenkiOwogICAgICAgIGltZy5kZWNvZGluZyA9ICJhc3luYyI7CiAgICAgICAgaW1nLmRyYWdnYWJsZSA9IGZhbHNlOwogICAgICAgIHAuYXBwZW5kQ2hpbGQoaW1nKTsKICAgICAgfQogICAgICBmcmFnLmFwcGVuZENoaWxkKHApOwogICAgfQogICAgY29udGVuZXVyLmlubmVySFRNTCA9ICIiOwogICAgY29udGVuZXVyLmFwcGVuZENoaWxkKGZyYWcpOwogIH0KCiAgZnVuY3Rpb24gbWFqQ29tcHRldXIoaW5kZXgpIHsKICAgIHZhciBwb3J0cmFpdCA9IGxpdnJlICYmIGxpdnJlLmdldE9yaWVudGF0aW9uICYmIGxpdnJlLmdldE9yaWVudGF0aW9uKCkgPT09ICJwb3J0cmFpdCI7CiAgICB2YXIgbiA9IENPTkYucGFnZXMsIHRleHRlOwogICAgaWYgKGluZGV4ID09PSAwKSB0ZXh0ZSA9ICJDb3V2ZXJ0dXJlIjsKICAgIGVsc2UgaWYgKGluZGV4ID49IG4gLSAxKSB0ZXh0ZSA9ICJQYWdlICIgKyBuICsgIiAvICIgKyBuICsgIiDigJQgZmluIGRlIGzigJlhcGVyw6d1IjsKICAgIGVsc2UgaWYgKHBvcnRyYWl0KSB0ZXh0ZSA9ICJQYWdlICIgKyAoaW5kZXggKyAxKSArICIgLyAiICsgbjsKICAgIGVsc2UgdGV4dGUgPSAiUGFnZXMgIiArIChpbmRleCArIDEpICsgIuKAkyIgKyBNYXRoLm1pbihpbmRleCArIDIsIG4pICsgIiAvICIgKyBuOwogICAgY29tcHRldXIudGV4dENvbnRlbnQgPSB0ZXh0ZTsKICAgIGxlY3RldXIuY2xhc3NMaXN0LnRvZ2dsZSgiZ3NtLWZpbiIsIGluZGV4ID49IG4gLSAyKTsKICAgIHZhciBwcmV2ID0gbGVjdGV1ci5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1nc20tcHJldl0iKSwgbmV4dCA9IGxlY3RldXIucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtZ3NtLW5leHRdIik7CiAgICBwcmV2LmZvckVhY2goZnVuY3Rpb24gKGIpIHsgYi5kaXNhYmxlZCA9IGluZGV4ID09PSAwOyB9KTsKICAgIG5leHQuZm9yRWFjaChmdW5jdGlvbiAoYikgeyBiLmRpc2FibGVkID0gaW5kZXggPj0gbiAtIDE7IH0pOwogIH0KCiAgZnVuY3Rpb24gY3JlZXJMaXZyZSgpIHsKICAgIGNvbnN0cnVpcmVQYWdlcygpOwogICAgdmFyIG9wdHMgPSB7CiAgICAgIHdpZHRoOiBDT05GLmxhcmdldXIsIGhlaWdodDogQ09ORi5oYXV0ZXVyLCBzaXplOiAic3RyZXRjaCIsCiAgICAgIG1pbldpZHRoOiAyNjAsIG1heFdpZHRoOiA4MjAsIG1pbkhlaWdodDogMzkwLCBtYXhIZWlnaHQ6IDEyMzAsCiAgICAgIHNob3dDb3ZlcjogdHJ1ZSwgdXNlUG9ydHJhaXQ6IHRydWUsIGF1dG9TaXplOiB0cnVlLAogICAgICBtb2JpbGVTY3JvbGxTdXBwb3J0OiBmYWxzZSwgdXNlTW91c2VFdmVudHM6IHRydWUsIHN3aXBlRGlzdGFuY2U6IDI0LAogICAgICBmbGlwcGluZ1RpbWU6IHJlZHVpdCA\/IDEgOiA2NTAsIG1heFNoYWRvd09wYWNpdHk6IHJlZHVpdCA\/IDAgOiAwLjQ1LCBkcmF3U2hhZG93OiAhcmVkdWl0LAogICAgICBzdGFydFBhZ2U6IDAsIGRpc2FibGVGbGlwQnlDbGljazogZmFsc2UsIHNob3dQYWdlQ29ybmVyczogIXJlZHVpdAogICAgfTsKICAgIGxpdnJlID0gbmV3IFN0LlBhZ2VGbGlwKGNvbnRlbmV1ciwgb3B0cyk7CiAgICBsaXZyZS5sb2FkRnJvbUhUTUwoY29udGVuZXVyLnF1ZXJ5U2VsZWN0b3JBbGwoIi5nc20tcGFnZSIpKTsKICAgIGxpdnJlLm9uKCJmbGlwIiwgZnVuY3Rpb24gKGUpIHsgbWFqQ29tcHRldXIoZS5kYXRhKTsgfSk7CiAgICBsaXZyZS5vbigiY2hhbmdlT3JpZW50YXRpb24iLCBmdW5jdGlvbiAoKSB7IG1hakNvbXB0ZXVyKGxpdnJlLmdldEN1cnJlbnRQYWdlSW5kZXgoKSk7IH0pOwogICAgbWFqQ29tcHRldXIoMCk7CiAgICAvLyByZWRlc3NpbmVyIHF1YW5kIGxlcyBwcmVtacOocmVzIGltYWdlcyBhcnJpdmVudCAoc2lub24gbGEgY291dmVydHVyZSBwZXV0IHJlc3RlciBibGFuY2hlIMOgIGwnb3V2ZXJ0dXJlIGltbcOpZGlhdGUpCiAgICBjb250ZW5ldXIucXVlcnlTZWxlY3RvckFsbCgiaW1nIikuZm9yRWFjaChmdW5jdGlvbiAoaW1nLCBpKSB7CiAgICAgIGlmIChpIDwgNCAmJiAhaW1nLmNvbXBsZXRlKSBpbWcuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uICgpIHsgaWYgKGxpdnJlKSBsaXZyZS51cGRhdGUoKTsgfSwgeyBvbmNlOiB0cnVlIH0pOwogICAgfSk7CiAgICAvLyBwcmVtaWVyIHJlbmR1IGZvcmPDqSB1bmUgZm9pcyBsYSBtaXNlIGVuIHBhZ2UgZGlzcG9uaWJsZSAob3V2ZXJ0dXJlIGltbcOpZGlhdGUgYXUgY2hhcmdlbWVudCkKICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyBpZiAobGl2cmUpIGxpdnJlLnVwZGF0ZSgpOyB9LCA4MCk7CiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uICgpIHsgaWYgKGxpdnJlKSBsaXZyZS51cGRhdGUoKTsgfSk7CiAgfQoKICBmdW5jdGlvbiBvdXZyaXIoZXYpIHsKICAgIGlmIChldikgZXYucHJldmVudERlZmF1bHQoKTsKICAgIGRlcm5pZXJGb2N1cyA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7CiAgICBsZWN0ZXVyLnNldEF0dHJpYnV0ZSgib3BlbiIsICIiKTsKICAgIGxlY3RldXIuY2xhc3NMaXN0LmFkZCgiZ3NtLW91dnJlIik7CiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gImhpZGRlbiI7CiAgICBpZiAoIWxpdnJlKSBjcmVlckxpdnJlKCk7IGVsc2UgeyBsaXZyZS51cGRhdGUoKTsgfQogICAgYm91dG9uRmVybWVyLmZvY3VzKCk7CiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgY2xhdmllcik7CiAgfQogIGZ1bmN0aW9uIGZlcm1lcigpIHsKICAgIGxlY3RldXIucmVtb3ZlQXR0cmlidXRlKCJvcGVuIik7CiAgICBsZWN0ZXVyLmNsYXNzTGlzdC5yZW1vdmUoImdzbS1vdXZyZSIpOwogICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICIiOwogICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIGNsYXZpZXIpOwogICAgaWYgKGRlcm5pZXJGb2N1cyAmJiBkZXJuaWVyRm9jdXMuZm9jdXMpIGRlcm5pZXJGb2N1cy5mb2N1cygpOwogIH0KICBmdW5jdGlvbiBjbGF2aWVyKGUpIHsKICAgIGlmIChlLmtleSA9PT0gIkVzY2FwZSIpIHsgZmVybWVyKCk7IH0KICAgIGVsc2UgaWYgKGUua2V5ID09PSAiQXJyb3dSaWdodCIgfHwgZS5rZXkgPT09ICJQYWdlRG93biIpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyBsaXZyZS5mbGlwTmV4dCgpOyB9CiAgICBlbHNlIGlmIChlLmtleSA9PT0gIkFycm93TGVmdCIgfHwgZS5rZXkgPT09ICJQYWdlVXAiKSB7IGUucHJldmVudERlZmF1bHQoKTsgbGl2cmUuZmxpcFByZXYoKTsgfQogICAgZWxzZSBpZiAoZS5rZXkgPT09ICJIb21lIikgeyBlLnByZXZlbnREZWZhdWx0KCk7IGxpdnJlLnR1cm5Ub1BhZ2UoMCk7IGxpdnJlLnVwZGF0ZSgpOyBtYWpDb21wdGV1cigwKTsgfQogICAgZWxzZSBpZiAoZS5rZXkgPT09ICJFbmQiKSB7IGUucHJldmVudERlZmF1bHQoKTsgbGl2cmUudHVyblRvUGFnZShDT05GLnBhZ2VzIC0gMSk7IGxpdnJlLnVwZGF0ZSgpOyBtYWpDb21wdGV1cihDT05GLnBhZ2VzIC0gMSk7IH0KICAgIGVsc2UgaWYgKGUua2V5ID09PSAiVGFiIikgeyAvKiBnYXJkZXIgbGUgZm9jdXMgZGFucyBsZSBsZWN0ZXVyICovCiAgICAgIHZhciBmID0gbGVjdGV1ci5xdWVyeVNlbGVjdG9yQWxsKCJidXR0b246bm90KFtkaXNhYmxlZF0pLCBhW2hyZWZdIik7CiAgICAgIGlmICghZi5sZW5ndGgpIHJldHVybjsKICAgICAgdmFyIHByZW1pZXIgPSBmWzBdLCBkZXJuaWVyID0gZltmLmxlbmd0aCAtIDFdOwogICAgICBpZiAoZS5zaGlmdEtleSAmJiBkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBwcmVtaWVyKSB7IGUucHJldmVudERlZmF1bHQoKTsgZGVybmllci5mb2N1cygpOyB9CiAgICAgIGVsc2UgaWYgKCFlLnNoaWZ0S2V5ICYmIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGRlcm5pZXIpIHsgZS5wcmV2ZW50RGVmYXVsdCgpOyBwcmVtaWVyLmZvY3VzKCk7IH0KICAgIH0KICB9CgogIGJvdXRvbk91dnJpci5mb3JFYWNoKGZ1bmN0aW9uIChiKSB7IGIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBvdXZyaXIpOyB9KTsKICAvKiBwbGVpbiDDqWNyYW4gKEFQSSBGdWxsc2NyZWVuIDsgU2FmYXJpIGlPUyBuZSBsJ29mZnJlIHBhcyA6IGxlIGJvdXRvbiByZXN0ZSBzYW5zIGVmZmV0LCBsZSBsZWN0ZXVyIGNvdXZyZSBkw6lqw6AgbCfDqWNyYW4pICovCiAgdmFyIGJvdXRvblBsZWluID0gbGVjdGV1ci5xdWVyeVNlbGVjdG9yKCJbZGF0YS1nc20tcGxlaW5dIik7CiAgaWYgKGJvdXRvblBsZWluKSBib3V0b25QbGVpbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uICgpIHsKICAgIHZhciBlbCA9IGxlY3RldXI7CiAgICBpZiAoZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnQpIHsgaWYgKGRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKSBkb2N1bWVudC5leGl0RnVsbHNjcmVlbigpOyB9CiAgICBlbHNlIGlmIChlbC5yZXF1ZXN0RnVsbHNjcmVlbikgeyBlbC5yZXF1ZXN0RnVsbHNjcmVlbigpLmNhdGNoKGZ1bmN0aW9uICgpIHt9KTsgfQogICAgZWxzZSBpZiAoZWwud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4pIHsgZWwud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTsgfQogICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7IGlmIChsaXZyZSkgbGl2cmUudXBkYXRlKCk7IH0sIDMwMCk7CiAgfSk7CiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmNoYW5nZSIsIGZ1bmN0aW9uICgpIHsgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7IGlmIChsaXZyZSkgbGl2cmUudXBkYXRlKCk7IH0sIDIwMCk7IH0pOwogIC8qIHpvb20gOiBiYXNjdWxlIMOXMSwzNSBzdXIgbGUgY2FkcmUsIGxlIGxlY3RldXIgZMOpZmlsZSAqLwogIHZhciBib3V0b25ab29tID0gbGVjdGV1ci5xdWVyeVNlbGVjdG9yKCJbZGF0YS1nc20tem9vbV0iKTsKICBpZiAoYm91dG9uWm9vbSkgYm91dG9uWm9vbS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uICgpIHsKICAgIHZhciBhY3RpZiA9IGxlY3RldXIuY2xhc3NMaXN0LnRvZ2dsZSgiZ3NtLXpvb20iKTsKICAgIGJvdXRvblpvb20udGV4dENvbnRlbnQgPSBhY3RpZiA\/ICLvvI0iIDogIu+8iyI7CiAgICBib3V0b25ab29tLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIGFjdGlmID8gIlRhaWxsZSBub3JtYWxlIiA6ICJBZ3JhbmRpciBsZXMgcGFnZXMiKTsKICB9KTsKICBib3V0b25GZXJtZXIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmZXJtZXIpOwogIC8qIGdsaXNzZW1lbnQgaG9yaXpvbnRhbCBmcmFuYyAoZG9pZ3QsIHN0eWxldCwgc291cmlzKSA6IHBhZ2Ugc3VpdmFudGUgLyBwcmVjZWRlbnRlLCBzYW5zIGRvdWJsZXIgU3RQYWdlRmxpcCAqLwogIChmdW5jdGlvbiAoKSB7IHZhciB4MCA9IDAsIHkwID0gMCwgaTAgPSAtMSwgYWN0aWYgPSBmYWxzZTsKICAgIGNvbnRlbmV1ci5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIsIGZ1bmN0aW9uIChlKSB7IGlmIChlLmJ1dHRvbiAmJiBlLmJ1dHRvbiAhPT0gMCkgcmV0dXJuOyBhY3RpZiA9IHRydWU7IHgwID0gZS5jbGllbnRYOyB5MCA9IGUuY2xpZW50WTsgaTAgPSBsaXZyZSA\/IGxpdnJlLmdldEN1cnJlbnRQYWdlSW5kZXgoKSA6IC0xOyB9LCB7IHBhc3NpdmU6IHRydWUgfSk7CiAgICBjb250ZW5ldXIuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIiwgZnVuY3Rpb24gKGUpIHsgaWYgKCFhY3RpZikgcmV0dXJuOyBhY3RpZiA9IGZhbHNlOyB2YXIgZHggPSBlLmNsaWVudFggLSB4MCwgZHkgPSBlLmNsaWVudFkgLSB5MDsgaWYgKE1hdGguYWJzKGR4KSA8IDYwIHx8IE1hdGguYWJzKGR5KSA+IDgwIHx8ICFsaXZyZSkgcmV0dXJuOwogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgaWYgKGxpdnJlLmdldEN1cnJlbnRQYWdlSW5kZXgoKSAhPT0gaTApIHJldHVybjsgaWYgKGR4IDwgMCkgbGl2cmUuZmxpcE5leHQoKTsgZWxzZSBsaXZyZS5mbGlwUHJldigpOyB9LCA2MCk7IH0sIHsgcGFzc2l2ZTogdHJ1ZSB9KTsKICAgIGNvbnRlbmV1ci5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyY2FuY2VsIiwgZnVuY3Rpb24gKCkgeyBhY3RpZiA9IGZhbHNlOyB9LCB7IHBhc3NpdmU6IHRydWUgfSk7CiAgfSkoKTsKICBmbGVjaGVzLmZvckVhY2goZnVuY3Rpb24gKGIpIHsKICAgIGIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiAoKSB7CiAgICAgIGlmIChiLmhhc0F0dHJpYnV0ZSgiZGF0YS1nc20tcHJldiIpKSBsaXZyZS5mbGlwUHJldigpOyBlbHNlIGxpdnJlLmZsaXBOZXh0KCk7CiAgICB9KTsKICB9KTsKICAvLyBsaWVucyBkJ2FjaGF0IChmaWNoZSArIHBhZ2UgZmluYWxlICsgcGllZCBkdSBsZWN0ZXVyKSA6IHVuZSBzZXVsZSBhZHJlc3NlIMOgIHLDqWdsZXIKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1nc20tYWNoZXRlcl0iKS5mb3JFYWNoKGZ1bmN0aW9uIChhKSB7IGlmIChDT05GLmFjaGF0VXJsKSBhLnNldEF0dHJpYnV0ZSgiaHJlZiIsIENPTkYuYWNoYXRVcmwpOyB9KTsKICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1nc20tY29udGVudV0iKS5mb3JFYWNoKGZ1bmN0aW9uIChhKSB7IGlmIChDT05GLmNvbnRlbnVVcmwpIGEuc2V0QXR0cmlidXRlKCJocmVmIiwgQ09ORi5jb250ZW51VXJsKTsgfSk7CiAgdmFyIHZlcnJvdSA9IGxlY3RldXIucXVlcnlTZWxlY3RvcigiLmdzbS12ZXJyb3UtdGV4dGUgc3Ryb25nIik7CiAgaWYgKHZlcnJvdSkgdmVycm91LnRleHRDb250ZW50ID0gQ09ORi5wYWdlc1RvdGFsICsgIiBwYWdlcyI7CiAgLy8gb3V2ZXJ0dXJlIGRpcmVjdGUgKGxpZW4gcGFydGFnw6kgb3UgdGVzdCkgOiDigKYvZmljaGUtcHJvZHVpdC8\/YXBlcmN1PW91dmVydAogIGlmICgvWz8mXWFwZXJjdT1vdXZlcnRcYi8udGVzdCh3aW5kb3cubG9jYXRpb24uc2VhcmNoKSkgb3V2cmlyKCk7Cn0pKCk7Cg==\u00a0\u00bb);s=decodeURIComponent(Array.prototype.map.call(s,function(c){return \u00ab\u00a0%\u00a0\u00bb+(\u00ab\u00a000&Prime;+c.charCodeAt(0).toString(16)).slice(-2);}).join(\u00ab\u00a0\u00a0\u00bb));var f=document.createElement(\u00ab\u00a0script\u00a0\u00bb);f.text=s;document.body.appendChild(f);})();<\/p><\/div>\n<p>.gsm-video-bloc{margin:1.6rem auto 2rem;max-width:1100px;padding:0 1rem;font-family:Georgia,&rsquo;Times New Roman&rsquo;,serif;color:#0B1F3A} .gsm-video-bloc h2{font-family:Montserrat,&rsquo;Segoe UI&rsquo;,Arial,sans-serif;font-weight:800;font-size:1.3rem;margin:0 0 .3rem;color:#0B1F3A} .gsm-video-bloc .gsm-video-sous{font-style:italic;color:#4E5866;margin:0 0 1rem} .gsm-video-cadre{margin:0 auto;width:min(100%,380px);aspect-ratio:9\/16;background:#0B1F3A;border-radius:14px;overflow:hidden;box-shadow:0 22px 44px -22px rgba(11,31,58,.7)} .gsm-video-cadre video{display:block;width:100%;height:100%;object-fit:cover;background:#0B1F3A} .gsm-video-bloc .gsm-video-note{font-size:.8rem;color:#4E5866;text-align:center;margin:.7rem 0 0} @media (max-width:720px){.gsm-video-cadre{width:min(100%,420px)}}<\/p>\n<div class=\"gsm-video-bloc\">\n<h2>La vid\u00e9o de pr\u00e9sentation<\/h2>\n<p class=\"gsm-video-sous\">40 secondes pour voir le livre, ses deux volumes et ce qu\u2019il contient.<\/p>\n<div class=\"gsm-video-cadre\"><video controls preload=\"none\" playsinline width=\"720\" height=\"1280\" poster=\"https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/guide-million-pub-vignette.jpg\" aria-label=\"Vid\u00e9o de pr\u00e9sentation du Guide strat\u00e9gique vers le million\"><track kind=\"subtitles\" srclang=\"fr\" label=\"Fran\u00e7ais\" src=\"https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/guide-million-pub.vtt\">Votre navigateur ne lit pas la vid\u00e9o.<\/video><\/div>\n<p class=\"gsm-video-note\">Sous-titres inclus. La vid\u00e9o ne se charge qu\u2019au clic sur lecture.<\/p>\n<\/div>\n<h2>Un parcours, pas une promesse<\/h2>\n<p>Le <strong>Guide strat\u00e9gique vers le million<\/strong> est un ouvrage d\u2019information et de formation : il donne une m\u00e9thode compl\u00e8te, dans l\u2019ordre, avec des crit\u00e8res v\u00e9rifiables \u00e0 chaque \u00e9tape \u2014 de la premi\u00e8re feuille de papier (votre patrimoine net, ce soir) jusqu\u2019\u00e0 la protection d\u2019un patrimoine qui existe. Il ne promet pas que vous deviendrez millionnaire : il explique ce qui augmente les chances et ce qui les d\u00e9truit, avec des sources officielles, des \u00e9tiquettes sur chaque chiffre et des dates.<\/p>\n<h2>Ce que vous recevez apr\u00e8s achat<\/h2>\n<ul>\n<li><strong>Volume 1 \u2014 Guide strat\u00e9gique vers le million<\/strong> (PDF, 331 pages) : avant-propos, COMMENCE ICI, 38 chapitres en trois phases, \u00e9pilogue.<\/li>\n<li><strong>Volume 2 \u2014 Annexes, outils et ressources<\/strong> (PDF, 118 pages) : lexique, dix calculateurs avec formules, treize mod\u00e8les \u00e0 remplir, annexes par pays (Union europ\u00e9enne, France, Allemagne, Royaume-Uni, \u00c9tats-Unis, Afrique\/OHADA, autres r\u00e9gions), r\u00e9pertoire des formations, logiciels libres et outils GitHub avec licence v\u00e9rifi\u00e9e, bibliographie et journal de v\u00e9rification.<\/li>\n<\/ul>\n<h2>Ce que contient le parcours<\/h2>\n<ul>\n<li><strong>38 chapitres<\/strong> \u2014 PHASE I Comprendre (1-12), PHASE II Construire (13-25), PHASE III Acc\u00e9l\u00e9rer et prot\u00e9ger (26-35), cl\u00f4ture (36-38).<\/li>\n<li><strong>8 routes<\/strong> vers le point B et <strong>8 profils<\/strong> simul\u00e9s (1 500 \u20ac, 2 500 \u20ac, 4 000 \u20ac par mois, entrepreneur, personne endett\u00e9e, d\u00e9part \u00e0 20, 40 et 55 ans).<\/li>\n<li><strong>Plans d\u2019action<\/strong> \u00e0 30 jours, 1 an, 5 ans et 10 ans, chacun avec ses crit\u00e8res.<\/li>\n<li><strong>\u00c9tudes de cas<\/strong> \u00e0 chaque chapitre, <strong>calculateurs<\/strong> (int\u00e9r\u00eats compos\u00e9s, dettes, pr\u00eat, rendement locatif, point mort, ind\u00e9pendance financi\u00e8re\u2026), <strong>checklists<\/strong> et <strong>crit\u00e8res de sortie<\/strong>.<\/li>\n<li>Les <strong>comp\u00e9tences qui valent de l\u2019argent<\/strong> : douze fiches ex\u00e9cutables (o\u00f9 apprendre gratuitement, combien de temps, quelle preuve produire, quel premier objectif).<\/li>\n<li>Emploi, freelance, entreprise, vente, prix et marge, tr\u00e9sorerie, investissement (ETF, actions, obligations, immobilier, autres actifs), fiscalit\u00e9 et structures, protection, arnaques \u00e0 reconna\u00eetre.<\/li>\n<\/ul>\n<h2>Feuilleter avant d\u2019acheter<\/h2>\n<p>Un <a href=\"https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/apercu-gratuit-guide-strategique-vers-le-million.pdf\" target=\"_blank\" rel=\"noopener\">aper\u00e7u gratuit de 12 pages (PDF)<\/a> vous montre la page de titre, l\u2019avertissement, le sommaire, COMMENCE ICI, le d\u00e9but du chapitre 1 et les encadr\u00e9s du chapitre 4.<\/p>\n<h2>Avertissement<\/h2>\n<p>Ce livre est un contenu \u00e9ducatif. Il ne constitue ni un conseil en investissement, ni un conseil fiscal ou juridique personnalis\u00e9. Aucun r\u00e9sultat financier n\u2019est garanti ; les rendements pass\u00e9s ne pr\u00e9jugent pas des rendements futurs ; tout investissement comporte un risque de perte. Les r\u00e8gles fiscales et r\u00e9glementaires varient selon le pays et la date : v\u00e9rifiez celles de votre pays avant toute d\u00e9cision.<\/p>\n<p><em>Auteur : Souleymane Isma\u00ebl \u2014 QuadroSyst\u00e8me. Version 1.1, \u00e9dition 2026. Format PDF, lecture sur tout appareil. Aucune livraison physique.<\/em><\/p>\n<p><!-- qs-guide-seo-2026-10 --><\/p>\n<p class=\"qs-guide-lien\"><strong>Guide gratuit :<\/strong> <a href=\"https:\/\/quadrosysteme.fr\/ressources\/independance-financiere\/\">Ind\u00e9pendance financi\u00e8re : d\u00e9finition, calcul et m\u00e9thode<\/a> \u2014 ou <a href=\"https:\/\/quadrosysteme.fr\/ressources\/\">tous nos guides par th\u00e8me<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The A-to-Z path to higher income, real assets and a net worth of 1,000,000. <strong>38 chapters, 8 routes, 8 profiles<\/strong>, plans for 30 days, 1 year, 5 years and 10 years \u2014 with calculators, case studies and checklists. <strong>Volume 2 included<\/strong> : annexes, outils et ressources. Deux PDF, deux EPUB et une \u00e9dition feuilletable livr\u00e9s imm\u00e9diatement apr\u00e8s achat.<\/p>","protected":false},"author":1,"featured_media":2946,"comment_status":"open","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}}},"product_brand":[],"product_cat":[138],"product_tag":[],"class_list":["post-2779","product","type-product","status-publish","has-post-thumbnail","product_cat-guides-strategiques","desktop-align-left","tablet-align-left","mobile-align-left","first","instock","downloadable","virtual","sold-individually","taxable","purchasable","product-type-simple"],"uagb_featured_image_src":{"full":["https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/guide-million-01-livre-ferme.jpg",1600,1600,false],"thumbnail":["https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/guide-million-01-livre-ferme-150x150.jpg",150,150,true],"medium":["https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/guide-million-01-livre-ferme-300x300.jpg",300,300,true],"medium_large":["https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/guide-million-01-livre-ferme-768x768.jpg",768,768,true],"large":["https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/guide-million-01-livre-ferme-1024x1024.jpg",1024,1024,true],"1536x1536":["https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/guide-million-01-livre-ferme-1536x1536.jpg",1536,1536,true],"2048x2048":["https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/guide-million-01-livre-ferme.jpg",1600,1600,false],"trp-custom-language-flag":["https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/guide-million-01-livre-ferme.jpg",12,12,false],"woocommerce_thumbnail":["https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/guide-million-01-livre-ferme-300x300.jpg",300,300,true],"woocommerce_single":["https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/guide-million-01-livre-ferme-600x600.jpg",600,600,true],"woocommerce_gallery_thumbnail":["https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/guide-million-01-livre-ferme-100x100.jpg",100,100,true],"wcpr-photo-reviews":["https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/guide-million-01-livre-ferme-500x500.jpg",500,500,true]},"uagb_author_info":{"display_name":"Souleymane Ismael","author_link":"https:\/\/quadrosysteme.fr\/en\/author\/souleymane-ismael\/"},"uagb_comment_info":0,"uagb_excerpt":"Le parcours A \u00e0 Z pour augmenter ses revenus, cr\u00e9er des actifs et construire un patrimoine net de 1 000 000. 38 chapitres, 8 routes, 8 profils, plans \u00e0 30 jours, 1 an, 5 ans et 10 ans \u2014 avec calculateurs, \u00e9tudes de cas et checklists. Volume 2 inclus : annexes, outils et ressources. Deux&hellip;","featured_img":"https:\/\/quadrosysteme.fr\/wp-content\/uploads\/2026\/09\/guide-million-01-livre-ferme.jpg","coauthors":[],"author_meta":{"author_link":"https:\/\/quadrosysteme.fr\/en\/author\/souleymane-ismael\/","display_name":"Souleymane Ismael"},"relative_dates":{"created":"Posted 3 weeks ago","modified":"Updated 1 day ago"},"absolute_dates":{"created":"Posted on 12 September 2026","modified":"Updated on 5 October 2026"},"absolute_dates_time":{"created":"Posted on 12 September 2026 6 h 18 min","modified":"Updated on 5 October 2026 14 h 52 min"},"featured_img_caption":"","tax_additional":{"product_brand":{"linked":[],"unlinked":[],"slug":"product_brand","name":"Product brands"},"product_type":{"linked":["<a href=\"https:\/\/quadrosysteme.fr\/en\/?taxonomy=product_type&#038;term=simple\" class=\"advgb-post-tax-term\">simple<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">simple<\/span>"],"slug":"product_type","name":"Product type"},"product_visibility":{"linked":[],"unlinked":[],"slug":"product_visibility","name":"Product visibility"},"product_cat":{"linked":["<a href=\"https:\/\/quadrosysteme.fr\/en\/product-category\/guides-strategiques\/\" class=\"advgb-post-tax-term\">Guides strat\u00e9giques<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">Guides strat\u00e9giques<\/span>"],"slug":"product_cat","name":"Product categories"},"product_tag":{"linked":[],"unlinked":[],"slug":"product_tag","name":"Product tags"},"product_shipping_class":{"linked":[],"unlinked":[],"slug":"product_shipping_class","name":"Product shipping classes"},"pos_product_visibility":{"linked":[],"unlinked":[],"slug":"pos_product_visibility","name":"POS Product visibility"}},"series_order":"","_links":{"self":[{"href":"https:\/\/quadrosysteme.fr\/en\/wp-json\/wp\/v2\/product\/2779","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/quadrosysteme.fr\/en\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/quadrosysteme.fr\/en\/wp-json\/wp\/v2\/types\/product"}],"replies":[{"embeddable":true,"href":"https:\/\/quadrosysteme.fr\/en\/wp-json\/wp\/v2\/comments?post=2779"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/quadrosysteme.fr\/en\/wp-json\/wp\/v2\/media\/2946"}],"wp:attachment":[{"href":"https:\/\/quadrosysteme.fr\/en\/wp-json\/wp\/v2\/media?parent=2779"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/quadrosysteme.fr\/en\/wp-json\/wp\/v2\/product_brand?post=2779"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/quadrosysteme.fr\/en\/wp-json\/wp\/v2\/product_cat?post=2779"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/quadrosysteme.fr\/en\/wp-json\/wp\/v2\/product_tag?post=2779"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}