Help
RSS
API
Feed
Maltego
Contact
Domain > gadalka-predskazatelnica.ru
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2019-10-25
185.98.7.116
(
ClassC
)
2024-09-09
37.140.192.73
(
ClassC
)
Port 80
HTTP/1.1 302 FoundServer: nginxDate: Mon, 09 Sep 2024 16:31:32 GMTContent-Type: text/html; charsetiso-8859-1Transfer-Encoding: chunkedConnection: keep-aliveLocation: https://gadalka-predskazatelnica.ru/ !DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN>html>head>title>302 Found/title>/head>body>h1>Found/h1>p>The document has moved a hrefhttps://gadalka-predskazatelnica.ru/>here/a>./p>/body>/html>
Port 443
HTTP/1.1 200 OKServer: nginxDate: Mon, 09 Sep 2024 16:31:33 GMTContent-Type: text/html; charsetUTF-8Transfer-Encoding: chunkedConnection: keep-aliveVary: Accept-EncodingX-Powered-By: PHP/8.2.20 br />b>Deprecated/b>: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in b>/var/www/u2702808/data/www/gadalka-predskazatelnica.ru/scripts/lib/php-liquid-0.9.2/lib/LiquidTemplate.class.php/b> on line b>153/b>br />br />b>Deprecated/b>: preg_split(): Passing null to parameter #3 ($limit) of type int is deprecated in b>/var/www/u2702808/data/www/gadalka-predskazatelnica.ru/scripts/lib/php-liquid-0.9.2/lib/LiquidRegexp.class.php/b> on line b>119/b>br />!DOCTYPE html>html classnojs html css_verticalspacer langru-RU> head> meta http-equivContent-type contenttext/html;charsetUTF-8/> meta namegenerator content2018.1.0.386/> meta nameviewport contentwidth380/> script typetext/javascript> // Update the nojs/js class on the html nodedocument.documentElement.className document.documentElement.className.replace(/\bnojs\b/g, js);// Check that all required assets are uploaded and up-to-dateif(typeof Muse undefined) window.Muse {}; window.Muse.assets {required:museutils.js, museconfig.js, jquery.musepolyfill.bgsize.js, jquery.watch.js, webpro.js, musewpslideshow.js, jquery.museoverlay.js, touchswipe.js, musewpdisclosure.js, jquery.scrolleffects.js, require.js, index.css, outOfDate:};/script> link relshortcut icon hrefimages/%d0%bc%d0%b0%d1%82%d1%83%d1%88%d0%ba%d0%b0-%d0%bd%d0%b0%d0%b4%d0%b5%d0%b6%d0%b4%d0%b0-%d1%81%d0%b5%d1%80%d0%b3%d0%b5%d0%b5%d0%b2%d0%bd%d0%b0%2c-%d0%bf%d1%80%d0%b5%d0%b4%d1%81%d0%ba%d0%b0%d0%b7%d0%b0%d1%82%d0%b5%d0%bb%d1%8c%d0%bd%d0%b8%d1%86%d0%b0.-100--%d1%80%d0%b5%d0%b0%d0%bb%d1%8c%d0%bd%d0%b0%d1%8f-%d0%bc%d0%b0%d0%b3%d0%b8%d1%8f!-favicon.ico?crc23912018/> title>Матушка Надежда Сергеевна, предсказательница. 100% реальная магия!/title> !-- CSS --> link relstylesheet typetext/css hrefcss/site_global.css?crc4198025676/> link relstylesheet typetext/css hrefcss/master_______-a.css?crc4100116451/> link relstylesheet typetext/css hrefcss/index.css?crc536385511 idpagesheet/> !--custom head HTML--> h2>style>.supergold{ background: rgb(180,136,68);background: linear-gradient(172deg, rgba(180,136,68,1) 25%, rgba(249,236,169,1) 50%, rgba(179,138,69,1) 75%);}.supergold{color: #000;background-clip: text;text-fill-color: transparent;-webkit-background-clip: text;-webkit-text-fill-color: transparent;}/style> !--HTML Widget code--> style> .js body { visibility: visible!important; } /style> !-- JS in HEAD --> !-- Code in HEAD --> !-- CSS in HEAD --> style> /style> !-- JS in HEAD --> script> /script> !-- CSS --> link relstylesheet typetext/css hrefassets/anim.css> !-- CSS --> !-- CSS --> !-- native JS --> link relstylesheet href//cdnjs.cloudflare.com/ajax/libs/mediaelement/2.13.2/css/mediaelementplayer.min.css />style>#u16721 .mejs-container .mejs-controls { background: #000000 !important;}#u16721 .mejs-controls .mejs-time-rail .mejs-time-total { background: #22a5bf !important;}#u16721 .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current { background: #22a5bf !important;}#u16721 .mejs-container .mejs-controls .mejs-time span { color: #ffffff !important; display: block !important;}#u16721 .mejs-controls .mejs-time-rail .mejs-time-loaded { background: #000000 !important;}Add additional CSS styles to this area/style>style>html,body{overflow-x:hidden!important;position:relative;}body{overflow-y:hidden!important;}.d1{-webkit-animation-delay:.2s!important;animation-delay:.2s!important;-webkit-transition-delay:.2s!important;transition-delay:.2s!important}.d2{-webkit-animation-delay:.3s!important;animation-delay:.3s!important;-webkit-transition-delay:.3s!important;transition-delay:.3s!important}.d3{-webkit-animation-delay:.4s!important;animation-delay:.4s!important;-webkit-transition-delay:.4s!important;transition-delay:.4s!important}.d4{-webkit-animation-delay:.6s!important;animation-delay:.6s!important;-webkit-transition-delay:.6s!important;transition-delay:.6s!important}.d5{-webkit-animation-delay:.8s!important;animation-delay:.8s!important;-webkit-transition-delay:.8s!important;transition-delay:.8s!important}.d6{-webkit-animation-delay:1s!important;animation-delay:1s!important;-webkit-transition-delay:1s!important;transition-delay:1s!important}.d7{-webkit-animation-delay:1.2s!important;animation-delay:1.4s!important;-webkit-transition-delay:1.4s!important;transition-delay:1.4s!important}.d8{-webkit-animation-delay:1.6s!important;animation-delay:1.8s!important;-webkit-transition-delay:1.8s!important;transition-delay:1.8s!important}.d9{-webkit-animation-delay:2s!important;animation-delay:2s!important;-webkit-transition-delay:2s!important;transition-delay:2s!important}.d10{-webkit-animation-delay:3s!important;animation-delay:3s!important;-webkit-transition-delay:3s!important;transition-delay:3s!important}.s1{-webkit-animation-duration:.6s!important;animation-duration:.6s!important}.s2{-webkit-animation-duration:.8s!important;animation-duration:.8s!important}.s3{-webkit-animation-duration:.9s!important;animation-duration:.9!important}.s4{-webkit-animation-duration:1.2s!important;animation-duration:1.2s!important}.s5{-webkit-animation-duration:1.5s!important;animation-duration:1s!important}.s6{-webkit-animation-duration:2s!important;animation-duration:2s!important}.s7{-webkit-animation-duration:4s!important;animation-duration:4s!important}.s8{-webkit-animation-duration:6s!important;animation-duration:6s!important}.s9{-webkit-animation-duration:8s!important;animation-duration:8s!important}.s10{-webkit-animation-duration:10s!important;animation-duration:10s!important}.hideAnimation{opacity:0}.showAnimation{opacity:1}.animate{-webkit-transform:translateZ(0);-webkit-animation-duration:1s;animation-duration:1s;-webkit-font-smoothing:antialiased}.animate.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}@-webkit-keyframes hang{0%{-webkit-transform:perspective(400px) rotateX(40deg);opacity:0}25%{-webkit-transform:perspective(400px) rotateX(-15deg);opacity:1}50%{-webkit-transform:perspective(400px) rotateX(10deg)}75%{-webkit-transform:perspective(400px) rotateX(-5deg)}100%{-webkit-transform:perspective(400px) rotateX(0deg)}}@keyframes hang{0%{-ms-transform:perspective(400px) rotateX(40deg);transform:perspective(400px) rotateX(40deg);opacity:0}25%{-ms-transform:perspective(400px) rotateX(-15deg);transform:perspective(400px) rotateX(-15deg);opacity:1}50%{-ms-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg)}75%{-ms-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}100%{-ms-transform:perspective(400px) rotateX(0deg);transform:perspective(400px) rotateX(0deg)}}.hang{-webkit-animation-name:hang;animation-name:hang;-webkit-transform-origin:center top;-ms-transform-origin:center top;transform-origin:center top}@-webkit-keyframes blow{0%{-webkit-transform:perspective(400px) rotateX(90deg) scaleX(.1);opacity:0}30%{-webkit-transform:perspective(400px) rotateX(-6deg);opacity:1}60%{-webkit-transform:perspective(400px) rotateX(3deg) scaleX(1)}100%{-webkit-transform:perspective(400px) rotateX(0deg) skewX(0deg)}}@keyframes blow{0%{-ms-transform:perspective(400px) rotateX(90deg) scaleX(.1);transform:perspective(400px) rotateX(90deg) scaleX(.1);opacity:0}30%{-ms-transform:perspective(400px) rotateX(-6deg);transform:perspective(400px) rotateX(-6deg);opacity:1}60%{-ms-transform:perspective(400px) rotateX(-3deg) scaleX(1);transform:perspective(400px) rotateX(-3deg) scaleX(1)}100%{-ms-transform:perspective(400px) rotateX(0deg);transform:perspective(400px) rotateX(0deg)}}.blow{-webkit-animation-name:blow;animation-name:blow;-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0}50%{-webkit-transform:perspective(400px) rotateY(-15deg)}75%{-webkit-transform:perspective(400px) rotateY(10deg)}100%{-webkit-transform:perspective(400px) rotateY(0deg);opacity:1}}@keyframes flip{0%{-ms-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}50%{-ms-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-10deg)}75%{-ms-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg)}100%{-ms-transform:perspective(400px) rotateY(0deg);transform:perspective(400px) rotateY(0deg);opacity:1}}.flip{-webkit-animation-name:flip;animation-name:flip;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}@-webkit-keyframes magnet{0%{opacity:0;-webkit-transform-origin:50% 50%;-webkit-transform:scale(0,0)}90%{opacity:1;-webkit-transform-origin:50% 50%;-webkit-transform:scale(0.9,.9)}100%{opacity:1;-webkit-transform-origin:50% 50%;-webkit-transform:scale(1,1)}}@keyframes magnet{0%{opacity:0;transform-origin:50% 50%;transform:scale(0,0)}90%{opacity:1;transform-origin:50% 50%;transform:scale(0.9,.9)}100%{opacity:1;transform-origin:50% 50%;transform:scale(1,1)}}.magnet{-webkit-animation-name:magnet;animation-name:magnet}@-webkit-keyframes blur{0%{opacity:0;-webkit-transform-origin:50% 50%;-webkit-transform:scale(2,2);-webkit-filter:blur(2px)}100%{opacity:1;-webkit-transform-origin:50% 50%;-webkit-transform:scale(1,1);-webkit-filter:blur(0px)}}@keyframes blur{0%{opacity:0;transform-origin:50% 50%;transform:scale(2,2);filter:blur(2px)}100%{opacity:1;transform-origin:50% 50%;transform:scale(1,1);filter:blur(0px)}}.blur{-webkit-animation-name:blur;animation-name:blur}@-webkit-keyframes drop{0%{-webkit-transform:translateY(-2000px)}40%,60%,80%{-webkit-transform:translateY(0)}50%{-webkit-transform:translateY(-30px)}70%{-webkit-transform:translateY(-6px)}}@keyframes drop{0%{-ms-transform:translateY(-2000px);transform:translateY(-2000px)}40%,60%,80%{-ms-transform:translateY(0);transform:translateY(0)}50%{-ms-transform:translateY(-30px);transform:translateY(-30px)}70%{-ms-transform:translateY(-6px);transform:translateY(-6px)}}.drop{-webkit-animation-name:drop;animation-name:drop;-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.1);transform:scale(1.1)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes pulse{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);transform:scale(1.1)}100%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}@-webkit-keyframes band{0%{-webkit-transform:scale(1);transform:scale(1);opacity:0}30%{-webkit-transform:scaleX(1.25) scaleY(0.75);transform:scaleX(1.25) scaleY(0.75);opacity:1}40%{-webkit-transform:scaleX(0.75) scaleY(1.25);transform:scaleX(0.75) scaleY(1.25)}60%{-webkit-transform:scaleX(1.15) scaleY(0.85);transform:scaleX(1.15) scaleY(0.85)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes band{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:0}30%{-webkit-transform:scaleX(1.25) scaleY(0.75);-ms-transform:scaleX(1.25) scaleY(0.75);transform:scaleX(1.25) scaleY(0.75);opacity:1}40%{-webkit-transform:scaleX(0.75) scaleY(1.25);-ms-transform:scaleX(0.75) scaleY(1.25);transform:scaleX(0.75) scaleY(1.25)}60%{-webkit-transform:scaleX(1.15) scaleY(0.85);-ms-transform:scaleX(1.15) scaleY(0.85);transform:scaleX(1.15) scaleY(0.85)}100%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.band{-webkit-animation-name:band;animation-name:band;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}@-webkit-keyframes alert{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes alert{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.alert{-webkit-animation-name:alert;animation-name:alert;-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);-ms-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);-ms-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);-ms-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);-ms-transform:rotate(-5deg);transform:rotate(-5deg)}100%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-animation-name:swing;animation-name:swing;animation-timing-function:cubic-bezier(0,.6,.8,1);-webkit-animation-timing-function:cubic-bezier(0,.6,.8,1)}@-webkit-keyframes tada{0%{-webkit-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg);transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}}@keyframes tada{0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg);-ms-transform:scale(0.9) rotate(-3deg);transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);-ms-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);-ms-transform:scale(1.1) rotate(-3deg);transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0);-ms-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}}.tada{-webkit-animation-name:tada;animation-name:tada;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}@-webkit-keyframes shake{0%{-webkit-transform:translateX(0%);transform:translateX(0%)}15%{-webkit-transform:translateX(-25%) rotate(-5deg);transform:translateX(-25%) rotate(-5deg)}30%{-webkit-transform:translateX(20%) rotate(3deg);transform:translateX(20%) rotate(3deg)}45%{-webkit-transform:translateX(-15%) rotate(-3deg);transform:translateX(-15%) rotate(-3deg)}60%{-webkit-transform:translateX(10%) rotate(2deg);transform:translateX(10%) rotate(2deg)}75%{-webkit-transform:translateX(-5%) rotate(-1deg);transform:translateX(-5%) rotate(-1deg)}100%{-webkit-transform:translateX(0%);transform:translateX(0%)}}@keyframes shake{0%{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}15%{-webkit-transform:translateX(-25%) rotate(-5deg);-ms-transform:translateX(-25%) rotate(-5deg);transform:translateX(-25%) rotate(-5deg)}30%{-webkit-transform:translateX(20%) rotate(3deg);-ms-transform:translateX(20%) rotate(3deg);transform:translateX(20%) rotate(3deg)}45%{-webkit-transform:translateX(-15%) rotate(-3deg);-ms-transform:translateX(-15%) rotate(-3deg);transform:translateX(-15%) rotate(-3deg)}60%{-webkit-transform:translateX(10%) rotate(2deg);-ms-transform:translateX(10%) rotate(2deg);transform:translateX(10%) rotate(2deg)}75%{-webkit-transform:translateX(-5%) rotate(-1deg);-ms-transform:translateX(-5%) rotate(-1deg);transform:translateX(-5%) rotate(-1deg)}100%{-webkit-transform:translateX(0%);-ms-transform:translateX(0%);transform:translateX(0%)}}.shake{-webkit-animation-name:shake;animation-name:shake;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}@-webkit-keyframes bounce{0%{opacity:0;-webkit-transform:scale(.3);transform:scale(.3)}50%{opacity:1;-webkit-transform:scale(1.05);transform:scale(1.05)}70%{-webkit-transform:scale(.9);transform:scale(.9)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounce{0%{opacity:0;-webkit-transform:scale(.3);-ms-transform:scale(.3);transform:scale(.3)}50%{opacity:1;-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}70%{-webkit-transform:scale(.9);-ms-transform:scale(.9);transform:scale(.9)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}@-webkit-keyframes bounceDown{0%{opacity:0;-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px);transform:translateY(30px)}80%{-webkit-transform:translateY(-10px);transform:translateY(-10px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes bounceDown{0%{opacity:0;-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px);-ms-transform:translateY(30px);transform:translateY(30px)}80%{-webkit-transform:translateY(-10px);-ms-transform:translateY(-10px);transform:translateY(-10px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.bounceDown{-webkit-animation-name:bounceDown;animation-name:bounceDown}@-webkit-keyframes bounceLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px);transform:translateX(30px)}80%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes bounceLeft{0%{opacity:0;-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px);-ms-transform:translateX(30px);transform:translateX(30px)}80%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.bounceLeft{-webkit-animation-name:bounceLeft;animation-name:bounceLeft}@-webkit-keyframes bounceRight{0%{opacity:0;-webkit-transform:translateX(2000px);transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px);transform:translateX(-30px)}80%{-webkit-transform:translateX(10px);transform:translateX(10px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes bounceRight{0%{opacity:0;-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px);-ms-transform:translateX(-30px);transform:translateX(-30px)}80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.bounceRight{-webkit-animation-name:bounceRight;animation-name:bounceRight}@-webkit-keyframes bounceUp{0%{opacity:0;-webkit-transform:translateY(300px);transform:translateY(300px)}60%{opacity:1;-webkit-transform:translateY(-30px);transform:translateY(-30px)}80%{-webkit-transform:translateY(10px);transform:translateY(10px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes bounceUp{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(0px)}60%{opacity:1;-webkit-transform:translateY(-30px);-ms-transform:translateY(-30px);transform:translateY(-30px)}80%{-webkit-transform:translateY(10px);-ms-transform:translateY(10px);transform:translateY(10px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.bounceUp{-webkit-animation-name:bounceUp;animation-name:bounceUp}@-webkit-keyframes fade{0%{opacity:0}100%{opacity:1}}@keyframes fade{0%{opacity:0}100%{opacity:1}}.fade{-webkit-animation-name:fade;animation-name:fade}@-webkit-keyframes fadeDown{0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeDown{0%{opacity:0;-webkit-transform:translateY(-20px);-ms-transform:translateY(-20px);transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeDown{-webkit-animation-name:fadeDown;animation-name:fadeDown}@-webkit-keyframes fadeLeft{0%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeLeft{0%{opacity:0;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeLeft{-webkit-animation-name:fadeLeft;animation-name:fadeLeft}@-webkit-keyframes fadeRight{0%{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeRight{0%{opacity:0;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeRight{-webkit-animation-name:fadeRight;animation-name:fadeRight}@-webkit-keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeUp{-webkit-animation-name:fadeUp;animation-name:fadeUp}@-webkit-keyframes rotate{0%{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}100%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes rotate{0%{-webkit-transform:rotate(-360deg);-ms-transform:rotate(-360deg);transform:rotate(-360deg)}100%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}}.rotate{-webkit-animation-name:rotate;animation-name:rotate;-webkit-animation-timing-function:linear;animation-timing-function:linear;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}@-webkit-keyframes rotateLeft{0%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes rotateLeft{0%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}100%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}}.rotateLeft{-webkit-animation-name:rotateLeft;animation-name:rotateLeft;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes rotateRight{0%{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}100%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes rotateRight{0%{-webkit-transform:rotate(-360deg);-ms-transform:rotate(-360deg);transform:rotate(-360deg)}100%{-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}}.rotateRight{-webkit-animation-name:rotateRight;animation-name:rotateRight;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes glide{0%{-webkit-transform:translateY(-300px);transform:translateY(-300px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes glide{0%{-webkit-transform:translateY(-300px);-ms-transform:translateY(-300px);transform:translateY(-300px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.glide{-webkit-animation-name:glide;animation-name:glide;-webkit-animation-timing-function:cubic-bezier(.01,.84,.04,.99);animation-timing-function:cubic-bezier(.01,.84,.04,.99);-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}@-webkit-keyframes glideDown{0%{-webkit-transform:translateY(-2000px);transform:translateY(-2000px)}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes glideDown{0%{-webkit-transform:translateY(-2000px);-ms-transform:translateY(-2000px);transform:translateY(-2000px)}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.glideDown{-webkit-animation-name:glideDown;animation-name:glideDown;-webkit-animation-timing-function:cubic-bezier(.01,.84,.04,.99);animation-timing-function:cubic-bezier(.01,.84,.04,.99);-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}@-webkit-keyframes glideLeft{0%{-webkit-transform:translateX(-2000px);transform:translateX(-2000px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes glideLeft{0%{-webkit-transform:translateX(-2000px);-ms-transform:translateX(-2000px);transform:translateX(-2000px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.glideLeft{-webkit-animation-name:glideLeft;animation-name:glideLeft;animation-timing-function:cubic-bezier(.01,.84,.04,.99);-webkit-animation-timing-function:cubic-bezier(.01,.84,.04,.99);-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}@-webkit-keyframes glideRight{0%{-webkit-transform:translateX(2000px);transform:translateX(2000px)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes glideRight{0%{-webkit-transform:translateX(2000px);-ms-transform:translateX(2000px);transform:translateX(2000px)}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.glideRight{-webkit-animation-name:glideRight;animation-name:glideRight;-webkit-animation-timing-function:cubic-bezier(.01,.84,.04,.99);animation-timing-function:cubic-bezier(.01,.84,.04,.99);-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}@-webkit-keyframes glideUp{0%{-webkit-transform:translateY(300px);transform:translateY(300px);opacity:0}20%{opacity:1}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes glideUp{0%{-webkit-transform:translateY(300px);-ms-transform:translateY(300px);transform:translateY(300px);opacity:0}20%{opacity:1}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.glideUp{-webkit-animation-name:glideUp;animation-name:glideUp;-webkit-animation-timing-function:cubic-bezier(.01,.84,.04,.99);animation-timing-function:cubic-bezier(.01,.84,.04,.99);-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}@-webkit-keyframes space{0%{opacity:0;-webkit-transform-origin:50% 50%;-webkit-transform:scale(.2) translate(0%,0)}100%{opacity:1;-webkit-transform-origin:50% 50%;-webkit-transform:scale(1) translate(0%,0)}}@keyframes space{0%{opacity:0;transform-origin:50% 50%;transform:scale(.2) translate(0%,0)}100%{opacity:1;transform-origin:50% 50%;transform:scale(1) translate(0%,0)}}.space{-webkit-animation-name:space;animation-name:space;animation-timing-function:cubic-bezier(0,.75,.85,1);-webkit-animation-timing-function:cubic-bezier(0,.75,.85,1);-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}@-webkit-keyframes spaceUp{0%{opacity:0;-webkit-transform-origin:50% 0;-webkit-transform:scale(.2) translate(0%,-200%)}100%{opacity:1;-webkit-transform-origin:50% 0;-webkit-transform:scale(1) translate(0%,0)}}@keyframes spaceUp{0%{opacity:0;transform-origin:50% 0;transform:scale(.2) translate(0%,-200%)}100%{opacity:1;transform-origin:50% 0;transform:scale(1) translate(0%,0)}}.spaceUp{-webkit-animation-name:spaceUp;animation-name:spaceUp;animation-timing-function:cubic-bezier(0,.75,.85,1);-webkit-animation-timing-function:cubic-bezier(0,.75,.85,1);-webkit-transform-origin:50% 0;-ms-transform-origin:50% 0;transform-origin:50% 0}@-webkit-keyframes spaceRight{0%{opacity:0;-webkit-transform-origin:100% 50%;-webkit-transform:scale(.2) translate(200%,0)}100%{opacity:1;-webkit-transform-origin:100% 50%;-webkit-transform:scale(1) translate(0%,0)}}@keyframes spaceRight{0%{opacity:0;transform-origin:100% 50%;transform:scale(.2) translate(200%,0)}100%{opacity:1;transform-origin:100% 50%;transform:scale(1) translate(0%,0)}}.spaceRight{-webkit-animation-name:spaceRight;animation-name:spaceRight;animation-timing-function:cubic-bezier(0,.75,.85,1);-webkit-animation-timing-function:cubic-bezier(0,.75,.85,1);-webkit-transform-origin:100% 50%;-ms-transform-origin:100% 50%;transform-origin:100% 50%}@-webkit-keyframes spaceDown{0%{opacity:0;-webkit-transform-origin:50% 100%;-webkit-transform:scale(.2) translate(0%,200%)}100%{opacity:1;-webkit-transform-origin:50% 100%;-webkit-transform:scale(1) translate(0%,0)}}@keyframes spaceDown{0%{opacity:0;transform-origin:50% 100%;transform:scale(.2) translate(0%,200%)}100%{opacity:1;transform-origin:50% 100%;transform:scale(1) translate(0%,0)}}.spaceDown{-webkit-animation-name:spaceDown;animation-name:spaceDown;animation-timing-function:cubic-bezier(0,.75,.85,1);-webkit-animation-timing-function:cubic-bezier(0,.75,.85,1);-webkit-transform-origin:50% 100%;-ms-transform-origin:50% 100%;transform-origin:50% 100%}@-webkit-keyframes spaceLeft{0%{opacity:0;-webkit-transform-origin:0 50%;-webkit-transform:scale(.2) translate(-200%,0)}100%{opacity:1;-webkit-transform-origin:0 50%;-webkit-transform:scale(1) translate(0%,0)}}@keyframes spaceLeft{0%{opacity:0;transform-origin:0 50%;transform:scale(.2) translate(-200%,0)}100%{opacity:1;transform-origin:0 50%;transform:scale(1) translate(0%,0)}}.spaceLeft{-webkit-animation-name:spaceLeft;animation-name:spaceLeft;animation-timing-function:cubic-bezier(0,.75,.85,1);-webkit-animation-timing-function:cubic-bezier(0,.75,.85,1);-webkit-transform-origin:0 50%;-ms-transform-origin:0 50%;transform-origin:0 50%}@-webkit-keyframes bar{0%{-webkit-transform:scale(.2);transform:scale(.2);opacity:0}20%{opacity:1}50%{-webkit-transform:scaleX(1) scaleY(.2);transform:scaleX(1)}100%{-webkit-transform:scaleY(1);transform:scaleY(1)}}@keyframes bar{0%{-ms-transform:scale(.2);transform:scale(.2);opacity:0}20%{opacity:1}50%{-ms-transform:scaleX(1) scaleY(.2);transform:scaleX(1)}100%{-ms-transform:scaleY(1);transform:scaleY(1)}}.bar{-webkit-animation-name:bar;animation-name:bar;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}@-webkit-keyframes barRight{0%{-webkit-transform:scaleX(.1);opacity:0}20%{opacity:1}100%{-webkit-transform:scaleX(1)}}@keyframes barRight{0%{-webkit-transform:scaleX(.1);-ms-transform:scaleX(.1);transform:scaleX(.1);opacity:0}20%{opacity:1}100%{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1)}}.barRight{-webkit-animation-name:barRight;animation-name:barRight;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left}@-webkit-keyframes barLeft{0%{-webkit-transform:scaleX(.1);-ms-transform:scaleX(.1);transform:scaleX(.1);opacity:0}20%{opacity:1}100%{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1)}}@keyframes barLeft{0%{-webkit-transform:scaleX(.1);-ms-transform:scaleX(.1);transform:scaleX(.1);opacity:0}20%{opacity:1}100%{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1)}}.barLeft{-webkit-animation-name:barLeft;animation-name:barLeft;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform-origin:top right;-ms-transform-origin:top right;transform-origin:top right}@-webkit-keyframes barUp{0%{-webkit-transform:scaleY(.1);-ms-transform:scaleY(.1);transform:scaleY(.1);opacity:0}20%{opacity:1}100%{-webkit-transform:scaleY(1);-ms-transform:scaleY(1);transform:scaleY(1)}}@keyframes barUp{0%{-webkit-transform:scaleY(.1);-ms-transform:scaleY(.1);transform:scaleY(.1);opacity:0}20%{opacity:1}100%{-webkit-transform:scaleY(1);-ms-transform:scaleY(1);transform:scaleY(1)}}.barUp{-webkit-animation-name:barUp;animation-name:barUp;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform-origin:bottom center;-ms-transform-origin:bottom center;transform-origin:bottom center}@-webkit-keyframes barDown{0%{-webkit-transform:scaleY(.1);-ms-transform:scaleY(.1);transform:scaleY(.1);opacity:0}20%{opacity:1}100%{-webkit-transform:scaleY(1);-ms-transform:scaleY(1);transform:scaleY(1)}}@keyframes barDown{0%{-webkit-transform:scaleY(.1);-ms-transform:scaleY(.1);transform:scaleY(.1);opacity:0}20%{opacity:1}100%{-webkit-transform:scaleY(1);-ms-transform:scaleY(1);transform:scaleY(1)}}.barDown{-webkit-animation-name:barDown;animation-name:barDown;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center}/style> !--/**/--> /head> body> !--HTML Widget code--> !-- Native JS Body Begin --> !-- native JS --> div classclearfix idpage>!-- group --> div classclearfix grpelem idpu202>!-- column --> div classsize_fixed colelem idu202>!-- custom html --> /div> div classsize_fixed colelem idu6542>!-- custom html --> /div> div classcolelem idu6541>!-- custom html --> div classanim stylez-index: 0;> div classt826__galaxy> div classt826__galaxy-wrapper styleanimation-name: t826__galaxy-fadeIn; z-index: 1;> div classt826__galaxy-far t826__galaxy-far-rec78788520>/div> div classt826__galaxy-mid t826__galaxy-mid-rec78788520>/div> div classt826__galaxy-near t826__galaxy-near-rec78788520>/div> /div> /div> /div> /div> /div> div classclearfix grpelem idppuntitled>!-- column --> div classclearfix colelem idpuntitled>!-- group --> a classanchor_item grpelem iduntitled>/a> div classsize_fixed grpelem idu13315>!-- custom html --> /div> div classgrpelem idu20863>!-- custom html --> !-- Yandex.Metrika counter -->script typetext/javascript > (function(m,e,t,r,i,k,a){mimi||function(){(mi.ami.a||).push(arguments)}; mi.l1*new Date(); for (var j 0; j document.scripts.length; j++) {if (document.scriptsj.src r) { return; }} ke.createElement(t),ae.getElementsByTagName(t)0,k.async1,k.srcr,a.parentNode.insertBefore(k,a)}) (window, document, script, https://mc.yandex.ru/metrika/tag.js, ym); ym(95531472, init, { clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true });/script>noscript>div>img srchttps://mc.yandex.ru/watch/95531472 styleposition:absolute; left:-9999px; alt />/div>/noscript>!-- /Yandex.Metrika counter --> /div> div classclearfix grpelem idu14155>!-- group --> div classmuseBGSize clearfix grpelem idu18310>!-- column --> div classposition_content idu18310_position_content> div classclearfix colelem idpu13323>!-- group --> div classsize_fixed grpelem idu13323>!-- custom html --> /div> div classsize_fixed grpelem idu16721>!-- custom html --> audio controlscontrols preloadauto autoplay>source srcassets/matnad.mp3 typeaudio/mp3 />/audio> /div> /div> div classclearfix colelem idpu16002-4>!-- group --> div classsupergold clearfix grpelem idu16002-4 data-muse-uidU16002 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>матушка провидица/h2> /div> div classsupergold clearfix grpelem idu17993-4 data-muse-uidU17993 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>матушка провидица/h2> /div> /div> div classgradienttext2 clearfix colelem idu15933-4 data-muse-uidU15933 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h1>надежда/h1> /div> /div> /div> /div> div classmuseBGSize grpelem idu14158>!-- simple frame -->/div> div classbrowser_width grpelem idu18753-bw> div classmuseBGSize idu18753>!-- group --> div classclearfix idu18753_align_to_page> div classclearfix grpelem idu16603-5 data-muse-uidU16603 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu16603-2>Одна из сильнейших провидиц России Матушка надеждА, помогает старинными обрядами, заговорами и молитвами. Многолетний опыт безупречной работы. Тысячи благодарных сердец./p> p> /p> /div> /div> /div> /div> div classgradienttext2 clearfix grpelem idu20160-4 data-muse-uidU20160 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h1>сергеевна/h1> /div> div classmuseBGSize grpelem idu20555>!-- simple frame -->/div> div classmuseBGSize grpelem idu20552>!-- simple frame -->/div> div classgrpelem idu20549>!-- rasterized frame -->/div> /div> div classmuseBGSize colelem idu16657>!-- simple frame -->/div> div classclearfix colelem idu20493>!-- column --> div classposition_content idu20493_position_content> div classclearfix colelem idu17629-5 data-muse-uidU17629 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu17629-2>уникальные обряды, основанные на использовании святой воды, посещении святых мест и молитвенных свечей./p> p> /p> /div> div classclearfix colelem idpu14609-5>!-- group --> div classsupergold clearfix grpelem idu14609-5 titleanimate glideLeft s6 d0 data-muse-uidU14609 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>МОИ СИЛЬНЫЕ МОЛИТВЫ И ДРЕВНИЕ ОБРЯДЫ ПОМОГУТ ВАМ В ЛЮБОЙ СЛОЖНОЙ ЖИЗНЕННОЙ СИТУАЦИИ/h2> h2> /h2> /div> div classsupergold clearfix grpelem idu17619-5 titleanimate glideLeft s6 d0 data-muse-uidU17619 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>МОИ СИЛЬНЫЕ МОЛИТВЫ И ДРЕВНИЕ ОБРЯДЫ ПОМОГУТ ВАМ В ЛЮБОЙ СЛОЖНОЙ ЖИЗНЕННОЙ СИТУАЦИИ/h2> h2> /h2> /div> /div> div classmuseBGSize colelem idu18399>!-- simple frame -->/div> /div> /div> div classmuseBGSize clearfix colelem idu20163>!-- group --> div classclearfix grpelem idu20531-13 data-muse-uidU20531 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20531-2>Многие люди страдают от проблем/p> p idu20531-4> и теряют время жизни,/p> p idu20531-6>которую можно прожить совсем по-другому./p> p idu20531-7> /p> p idu20531-9>Пришло время все изменить!/p> p idu20531-10> /p> h2 classsupergold idu20531-11> /h2> /div> /div> div classmuseBGSize clearfix colelem idu20596>!-- column --> div classmuseBGSize colelem idu18402>!-- simple frame -->/div> a classnonblock nontext shadow clearfix colelem idu14825-4 hreftel:+79258799542 data-muse-uidU14825 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content -->p>+7 925 879 95 42/p>/a> /div> div classclearfix colelem idpu20525>!-- group --> div classmuseBGSize grpelem idu20525>!-- simple frame -->/div> div classmuseBGSize grpelem idu18552>!-- simple frame -->/div> /div> div classclearfix colelem idpu20479>!-- group --> div classclearfix grpelem idu20479>!-- group --> div classmuseBGSize grpelem idu8096>!-- simple frame -->/div> div classsupergold clearfix grpelem idu18413-10 titleanimate glideLeft s6 d0 data-muse-uidU18413 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>«Уныние — великий грех! Если вы оказались в сложной ситуации, кажется, что выхода нет, а жизнь безрадостна и приносит страдания — не сдавайтесь и не опускайте рук! Даже для самой безвыходной ситуации найдется решение! С божьей помощью и молитвами укажу вам верную дорогу и огражу от любых несчастий./h2> h2> /h2> h2>Моя помощь и работа — без греха и вреда для всех, над кем совершаются обряды. Для помощи людям я обращаюсь к Богу, Ангелам-Хранителям, Архангелам, именным Святым через иконы, молитвы. Использую только белые ритуалы и старинные заговоры, проверенные временем./h2> h2>Для быстрого решения вашей проблемы или ответа на вопросы обратитесь ко мне уже сегодня и вы сразу получите ощутимые результаты .»/h2> h2> /h2> /div> div classclearfix grpelem idu18416-10 titleanimate glideLeft s6 d0 data-muse-uidU18416 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu18416-2>«Уныние — великий грех! Если вы оказались в сложной ситуации, кажется, что выхода нет, а жизнь безрадостна и приносит страдания — не сдавайтесь и не опускайте рук! Даже для самой безвыходной ситуации найдется решение! С божьей помощью и молитвами укажу вам верную дорогу и огражу от любых несчастий./p> p idu18416-3> /p> p idu18416-5>Моя помощь и работа — без греха и вреда для всех, над кем совершаются обряды. Для помощи людям я обращаюсь к Богу, Ангелам-Хранителям, Архангелам, именным Святым через иконы, молитвы. Использую только белые ритуалы и старинные заговоры, проверенные временем./p> p idu18416-7>Для быстрого решения вашей проблемы или ответа на вопросы обратитесь ко мне уже сегодня и вы сразу получите ощутимые результаты .»/p> h2 classsupergold idu18416-8> /h2> /div> /div> div classgrpelem idu20390>!-- rasterized frame -->/div> /div> div classclearfix colelem idpu20198>!-- group --> div classmuseBGSize grpelem idu20198>!-- simple frame -->/div> div classmuseBGSize grpelem idu20428>!-- simple frame -->/div> /div> div classclearfix colelem idpu20657>!-- group --> div classmuseBGSize clearfix grpelem idu20657>!-- column --> div classmuseBGSize colelem idu20431>!-- simple frame -->/div> div classclearfix colelem idpu9746-4>!-- group --> div classclearfix grpelem idu9746-4 data-muse-uidU9746 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>ПОСМОТРИТЕ, ЧЕМ Я МОГУ ВАМ ПОМОЧЬ.../p> /div> div classsupergold clearfix grpelem idu4494-4 data-muse-uidU4494 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>ПОСМОТРИТЕ, ЧЕМ Я МОГУ ВАМ ПОМОЧЬ.../h2> /div> /div> /div> div classmuseBGSize grpelem idu14828 titleanimate flash infinite s6 d0 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M110.866,M12-0.5,M210.5,M220.866,SizingMethodauto expand) data-mu-ie-matrix-dx-13 data-mu-ie-matrix-dy-12>!-- simple frame -->/div> div classclearfix grpelem idu18436-11 data-muse-uidU18436 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu18436-2>ЕСЛИ ОТЧАЯНИЕ И БЕЗНАДЕЖНОСТЬ НАКРЫВАЮТ ВАС ЧЕРНЫМ ПОКРЫВАЛОМ, ЕСЛИ ВСЕ СПОСОБЫ ИСПРОБОВАНЫ И КАЖЕТСЯ, ЧТО ВЫХОДА НЕТ-/p> p idu18436-4>ОБРАЩАЙТЕСЬ!/p> p idu18436-6>Я ПОМОГУ ВАМ ОБРЕСТИ ИЛИ ВЕРНУТЬ ДОЛГОЖДАННОЕ СЧАСТЬЕ И БЛАГОПОЛУЧИЕ/p> p idu18436-7> /p> p idu18436-8> /p> p> /p> /div> div classclearfix grpelem idu20642-13 data-muse-uidU20642 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20642-2>Предскажу события в вашей жизни!/p> p idu20642-4>Полный расклад на события время и ситуацию…./p> p idu20642-6> Ответы на любые ваши вопросы…/p> p idu20642-8>называю имена, говорю/p> p idu20642-9> /p> p idu20642-11>прошлое, настоящее, будущее!…./p> /div> /div> div classmuseBGSize clearfix colelem idu20660>!-- column --> div classclearfix colelem idu20641-52 titleanimate spaceDown data-muse-uidU20641 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>• расклад на ситуацию, проблему/p> p> /p> p>• на развитие текущих событий/p> p> /p> p>• что сделать, как поступить/p> p> /p> p>• на что обратить внимание/p> p> /p> p>• на исход дела/p> p> /p> p>• узнать что именно сейчас важно/p> p> /p> p>• в чем причина проблем/p> p> /p> p>• на деньги, финансовое благополучие/p> p> /p> p>• что у вас на пути/p> p> /p> p>• сбудется ли желание/p> p> /p> p>• что или кто может Вам помешать/p> p> /p> p>• укажу ваших завистников и врагов/p> p> /p> p>• чего вам стоит остерегаться/p> p> /p> p>• любовный расклад на отношения/p> p> /p> p>• когда Вам повезет в любви/p> p> /p> p>• что мешает Вашему успеху/p> p> /p> p>• совет успешному человеку/p> /div> div classclearfix colelem idpu5729-4>!-- group --> a classnonblock nontext supergold clearfix grpelem idu5729-4 hrefhttps://wa.me/79055552554?text%D0%97%D0%B4%D1%80%D0%B0%D0%B2%D1%81%D1%82%D0%B2%D1%83%D0%B9%D1%82%D0%B5%20%D0%90%D0%BB%D0%BB%D0%B0%20%D0%92%D0%BB%D0%B0%D0%B4%D0%B8%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%BD%D0%B0,%20%D0%BC%D0%BD%D0%B5%20%D0%BD%D1%83%D0%B6%D0%BD%D0%B0%20%D0%B2%D0%B0%D1%88%D0%B0%20%D0%BA%D0%BE%D0%BD%D1%81%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%86%D0%B8%D1%8F! titleanimate space s6 d1 data-muse-uidU5729 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content -->h2>ОБРЯДЫ НА ЛЮБОВЬ/h2>/a> div classsupergold clearfix grpelem idu12578-4 titleanimate space s6 d1 data-muse-uidU12578 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>ОБРЯДЫ НА ЛЮБОВЬ/h2> /div> /div> div classclearfix colelem idpu17542-4>!-- group --> div classsupergold clearfix grpelem idu17542-4 data-muse-uidU17542 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>без вреда и греха/h2> /div> div classsupergold clearfix grpelem idu17545-4 data-muse-uidU17545 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>без вреда и греха/h2> /div> /div> /div> div classclearfix colelem idpu14551-18>!-- group --> div classclearfix grpelem idu14551-18 data-muse-uidU14551 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>Помогу вернуть любимого/любимую без греха./p> p>Уникальный обряд на скорый брак/p> p>Привлеку новую Любовь/p> p>Возврат любимого человека, отворот/p> p>Спасение семьи от развода/p> p>Обряд на верность/p> p>Сниму венец безбрачия./p> p>Восстановление отношений с любимым человеком./p> /div> div classPamphletWidget clearfix grpelem idpamphletu19540>!-- none box --> div classThumbGroup clearfix grpelem idu19543>!-- none box --> div classpopup_anchor idu19548popup> div classThumb popup_element idu19548>!-- simple frame -->/div> /div> div classpopup_anchor idu19547popup> div classThumb popup_element idu19547>!-- simple frame -->/div> /div> div classpopup_anchor idu19546popup> div classThumb popup_element idu19546>!-- simple frame -->/div> /div> div classpopup_anchor idu19545popup> div classThumb popup_element idu19545>!-- simple frame -->/div> /div> div classpopup_anchor idu19544popup> div classThumb popup_element idu19544>!-- simple frame -->/div> /div> /div> div classpopup_anchor idu19552popup> div classContainerGroup clearfix idu19552>!-- stack box --> div classContainer clearfix grpelem idu19592>!-- column --> div classgradient clearfix colelem idu19598>!-- group --> div classmuseBGSize grpelem idu19600>!-- simple frame -->/div> div classmuseBGSize clearfix grpelem idu19594>!-- group --> div classmuseBGSize grpelem idu19597>!-- simple frame -->/div> /div> /div> div classgradient clearfix colelem idu19599>!-- group --> div classgradient clearfix grpelem idu19596>!-- group --> div classsupergold clearfix grpelem idu19601-7 titleanimate space s6 d1 data-muse-uidU19601 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>ОБРЯД НА/h2> h2>МУЖА ИЛИ ЖЕНУ/h2> h2> /h2> /div> div classsupergold clearfix grpelem idu20507-7 titleanimate space s6 d1 data-muse-uidU20507 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>ОБРЯД НА/h2> h2>МУЖА ИЛИ ЖЕНУ/h2> h2> /h2> /div> /div> /div> div classgradient clearfix colelem idu19595>!-- group --> div classclearfix grpelem idu19593-4 data-muse-uidU19593 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>Верну в семью человека. Приведу страсть и огонь в семейную жизнь! Обряды на семейное благополучие!/p> /div> /div> /div> div classContainer invi clearfix grpelem idu19553>!-- column --> div classgradient clearfix colelem idu19558>!-- group --> div classmuseBGSize clearfix grpelem idu19562>!-- group --> div classmuseBGSize grpelem idu19555>!-- simple frame -->/div> div classmuseBGSize grpelem idu19560>!-- simple frame -->/div> /div> /div> div classclearfix colelem idpu19561>!-- group --> div classgradient clearfix grpelem idu19561>!-- group --> div classmuseBGSize grpelem idu19559>!-- simple frame -->/div> /div> div classsupergold clearfix grpelem idu19556-5 titleanimate space s6 d1 data-muse-uidU19556 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2 idu19556-2>СЛИЯНИЕ СУДЕБ/h2> h2 idu19556-3> /h2> /div> div classsupergold clearfix grpelem idu20510-5 titleanimate space s6 d1 data-muse-uidU20510 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2 idu20510-2>СЛИЯНИЕ СУДЕБ/h2> h2 idu20510-3> /h2> /div> /div> div classgradient clearfix colelem idu19554>!-- group --> div classclearfix grpelem idu19557-4 data-muse-uidU19557 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>Сделаю ОБРЯД НА любимого человека, при помощи сильнейших любовных обрядов и заговоров. Человек будет Вашим - навсегда!/p> /div> /div> /div> div classContainer invi clearfix grpelem idu19573>!-- column --> div classgradient clearfix colelem idu19578>!-- group --> div classmuseBGSize clearfix grpelem idu19579>!-- group --> div classmuseBGSize grpelem idu19575>!-- simple frame -->/div> div classmuseBGSize grpelem idu19580>!-- simple frame -->/div> /div> /div> div classgradient clearfix colelem idu19577>!-- group --> div classsupergold clearfix grpelem idu19581-5 titleanimate space s6 d1 data-muse-uidU19581 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2 idu19581-2>ЛЮБОВНЫЙ ОТВОРОТ СОПЕРНИков/h2> h2 idu19581-3> /h2> /div> div classsupergold clearfix grpelem idu20513-5 titleanimate space s6 d1 data-muse-uidU20513 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2 idu20513-2>ЛЮБОВНЫЙ ОТВОРОТ СОПЕРНИков/h2> h2 idu20513-3> /h2> /div> /div> div classgradient clearfix colelem idu19576>!-- group --> div classclearfix grpelem idu19574-4 data-muse-uidU19574 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>Помощь в отвороте соперника или разлучницы в любовных отношениях. Защита семьи и брака от разрушения и воздействий черных сил!/p> /div> /div> /div> div classContainer invi clearfix grpelem idu19582>!-- column --> div classgradient clearfix colelem idu19589>!-- group --> div classmuseBGSize clearfix grpelem idu19586>!-- group --> div classmuseBGSize grpelem idu19590>!-- simple frame -->/div> div classmuseBGSize grpelem idu19585>!-- simple frame -->/div> /div> /div> div classclearfix colelem idpu19584>!-- group --> div classgradient clearfix grpelem idu19584>!-- group --> div classclearfix grpelem idu19583-4 data-muse-uidU19583 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>Помощь в очистке от венца безбрачия и покрывала одиночества, сведение судеб. Помогу Вам найти вторую половину и обрести счастье семейное жизни!/p> /div> /div> div classgradient clearfix grpelem idu19588>!-- group --> div classmuseBGSize grpelem idu19587>!-- simple frame -->/div> /div> div classsupergold clearfix grpelem idu19591-8 titleanimate space s6 d1 data-muse-uidU19591 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2 idu19591-2>ОДИНОЧЕСТВО/h2> h2 idu19591-4> И БЕЗБРАЧИЕ/h2> h2 idu19591-5> /h2> h2 idu19591-6> /h2> /div> div classsupergold clearfix grpelem idu20519-8 titleanimate space s6 d1 data-muse-uidU20519 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2 idu20519-2>ОДИНОЧЕСТВО/h2> h2 idu20519-4> И БЕЗБРАЧИЕ/h2> h2 idu20519-5> /h2> h2 idu20519-6> /h2> /div> /div> /div> div classContainer invi clearfix grpelem idu19563>!-- column --> div classgradient clearfix colelem idu19572>!-- group --> div classmuseBGSize clearfix grpelem idu19566>!-- group --> div classmuseBGSize grpelem idu19570>!-- simple frame -->/div> div classmuseBGSize grpelem idu19564>!-- simple frame -->/div> /div> /div> div classgradient clearfix colelem idu19565>!-- group --> div classmuseBGSize clearfix grpelem idu19569>!-- group --> div classsupergold clearfix grpelem idu19571-5 titleanimate space s6 d1 data-muse-uidU19571 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>СИЛЬНЕЙШИЕ ОБРЯДЫ И ЗАГОВОРЫ/h2> h2> /h2> /div> div classsupergold clearfix grpelem idu20522-5 titleanimate space s6 d1 data-muse-uidU20522 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>СИЛЬНЕЙШИЕ ОБРЯДЫ И ЗАГОВОРЫ/h2> h2> /h2> /div> /div> /div> div classgradient clearfix colelem idu19567>!-- group --> div classclearfix grpelem idu19568-4 data-muse-uidU19568 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>Уникальные родовые обряды и заговоры для отношений и семьи, верность мужа и жены, а так же на благополучие и стабильность отношений!/p> /div> /div> /div> /div> /div> div classpopup_anchor idu19549popup> div classPamphletPrevButton PamphletLightboxPart popup_element clearfix idu19549>!-- group --> div classclearfix grpelem idu19550-4 data-muse-uidU19550 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu19550-2>Назад/p> /div> /div> /div> div classpopup_anchor idu19541popup> div classPamphletNextButton PamphletLightboxPart popup_element clearfix idu19541>!-- group --> div classclearfix grpelem idu19542-4 data-muse-uidU19542 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu19542-2>Далее/p> /div> /div> /div> /div> div classPamphletWidget clearfix grpelem idpamphletu19958>!-- none box --> div classThumbGroup clearfix grpelem idu20011>!-- none box --> div classpopup_anchor idu20013popup> div classThumb popup_element idu20013>!-- simple frame -->/div> /div> div classpopup_anchor idu20012popup> div classThumb popup_element idu20012>!-- simple frame -->/div> /div> div classpopup_anchor idu20015popup> div classThumb popup_element idu20015>!-- simple frame -->/div> /div> div classpopup_anchor idu20014popup> div classThumb popup_element idu20014>!-- simple frame -->/div> /div> /div> div classpopup_anchor idu19961popup> div classContainerGroup clearfix idu19961>!-- stack box --> div classContainer clearfix grpelem idu19995>!-- column --> div classgradient clearfix colelem idu20003>!-- group --> div classmuseBGSize clearfix grpelem idu20000>!-- group --> div classmuseBGSize clearfix grpelem idu19996>!-- group --> div classmuseBGSize grpelem idu19999>!-- simple frame -->/div> /div> /div> /div> div classshadow gradient clearfix colelem idu20001>!-- group --> div classsupergold clearfix grpelem idu20002-4 data-muse-uidU20002 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>ЗАЩИТНЫЕ ОБРЯДЫ/h2> /div> div classsupergold clearfix grpelem idu20004-4 data-muse-uidU20004 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>ЗАЩИТНЫЕ ОБРЯДЫ/h2> /div> div classmuseBGSize clearfix grpelem idu19998>!-- group --> div classsupergold clearfix grpelem idu20006-4 data-muse-uidU20006 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>ЗАЩИТНЫЕ ОБРЯДЫ/h2> /div> /div> /div> div classgradient clearfix colelem idu20005>!-- group --> div classclearfix grpelem idu19997-19 data-muse-uidU19997 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p> /p> p>Снятие порчи, сглаза, наговора,/p> p>Снятие магических воздействий/p> p>Отворот завистников и недоброжелателей/p> p>Защитные булавки от негатива/p> p>Изготовление оберегов и амулетов/p> p>Энергетическая чистка, Очищение кармы/p> p>Установка защиты от негатива/p> p>Заговор для защиты дома/p> /div> /div> /div> div classContainer invi clearfix grpelem idu19984>!-- column --> div classgradient clearfix colelem idu19993>!-- group --> div classmuseBGSize clearfix grpelem idu19994>!-- group --> div classmuseBGSize grpelem idu19990>!-- simple frame -->/div> div classmuseBGSize grpelem idu19991>!-- simple frame -->/div> /div> /div> div classgradient clearfix colelem idu19992>!-- group --> div classsupergold clearfix grpelem idu19987-4 data-muse-uidU19987 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>ПРЕДСКАЗАНИЯ И ГАДАНИЕ/h2> /div> div classmuseBGSize clearfix grpelem idu19985>!-- group --> div classsupergold clearfix grpelem idu19989-4 data-muse-uidU19989 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>ПРЕДСКАЗАНИЯ И ГАДАНИЕ/h2> /div> /div> /div> div classclearfix colelem idpu19986>!-- group --> div classgradient grpelem idu19986>!-- simple frame -->/div> div classts----------H21 clearfix grpelem idu19988-23 data-muse-uidU19988 data-muse-typesync_txt_frame data-IBE-flagstxtStyleSrc>!-- content --> !-- content --> p>онлайнГадания на картах Таро./p> p>Диагностика.Отлив на воске/p> p>Просмотрю ситуацию через дар ясновидения/p> p>Чувствую энергетику человека,/p> p>Смотрю, пробита ли аура, есть ли сглаз, порча, проклятие, приворот, венец безбрачия, болезни./p> p>Озвучу причины ваших проблем,/p> p>дам советы./p> p>Ответы на все ваши вопросы/p> p>Корректировка судьбы/p> p> /p> p> /p> p> /p> /div> /div> /div> div classContainer invi clearfix grpelem idu19962>!-- column --> div classgradient clearfix colelem idu19965>!-- group --> div classmuseBGSize clearfix grpelem idu19967>!-- group --> div classmuseBGSize grpelem idu19969>!-- simple frame -->/div> div classmuseBGSize grpelem idu19963>!-- simple frame -->/div> /div> /div> div classgradient clearfix colelem idu19971>!-- group --> div classsupergold clearfix grpelem idu19964-4 data-muse-uidU19964 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>ДЕНЬГИ, УДАЧА, ТОРГОВЛЯ/h2> /div> div classmuseBGSize clearfix grpelem idu19972>!-- group --> div classsupergold clearfix grpelem idu19966-4 data-muse-uidU19966 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>ДЕНЬГИ, УДАЧА, ТОРГОВЛЯ/h2> /div> /div> /div> div classgradient clearfix colelem idu19968>!-- group --> div classclearfix grpelem idu19970-17 data-muse-uidU19970 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu19970-2>Привлечение денег:/p> p idu19970-4>открытие денежного канала, обряд на финансовое благополучие/p> p idu19970-6>Расширение денежного потока/p> p idu19970-8>Заговор на деньги и удачу/p> p idu19970-10>Обряд на успех в деле/p> p idu19970-12>Защита, отворот от завистников, конкурентов/p> p idu19970-14>Защита от финансовых потерь/p> p> /p> /div> /div> /div> div classContainer invi clearfix grpelem idu19973>!-- column --> div classgradient clearfix colelem idu19982>!-- group --> div classmuseBGSize clearfix grpelem idu19975>!-- group --> div classmuseBGSize grpelem idu19978>!-- simple frame -->/div> div classmuseBGSize grpelem idu19981>!-- simple frame -->/div> /div> /div> div classgradient clearfix colelem idu19983>!-- group --> div classsupergold clearfix grpelem idu19979-4 data-muse-uidU19979 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>СНЯТИЕ ПОРЧИ/h2> /div> div classmuseBGSize clearfix grpelem idu19980>!-- group --> div classsupergold clearfix grpelem idu19976-4 data-muse-uidU19976 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>СНЯТИЕ ПОРЧИ/h2> /div> /div> /div> div classgradient clearfix colelem idu19974>!-- group --> div classclearfix grpelem idu19977-24 data-muse-uidU19977 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>Заговоры на здоровье/p> p>Помощь бездетным парам/p> p>Энергетическая чистка/p> p>Ставлю сильную защиту/p> p>Сниму даже самую застарелую порчу/p> p>Раскрою порочный круг неудач./p> p>Очищу ваше жилье и помещение от негатива./p> p>Отвязка негативного прошлого/p> p>Избавление от страха/p> p>Вывод с черной полосы/p> p>Сниму родовое проклятие/p> /div> /div> /div> /div> /div> div classpopup_anchor idu20007popup> div classPamphletPrevButton PamphletLightboxPart popup_element clearfix idu20007>!-- group --> div classclearfix grpelem idu20008-4 data-muse-uidU20008 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20008-2><</p> /div> /div> /div> div classpopup_anchor idu19959popup> div classPamphletNextButton PamphletLightboxPart popup_element clearfix idu19959>!-- group --> div classclearfix grpelem idu19960-4 data-muse-uidU19960 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu19960-2>>>/p> /div> /div> /div> /div> div classmuseBGSize grpelem idu20434>!-- simple frame -->/div> /div> div classclearfix colelem idpu20443>!-- group --> div classmuseBGSize grpelem idu20443>!-- simple frame -->/div> div classmuseBGSize grpelem idu20437>!-- simple frame -->/div> /div> div classclearfix colelem idpu20490>!-- group --> div classclearfix grpelem idu20490>!-- column --> div classposition_content idu20490_position_content> div classclearfix colelem idpu20843>!-- group --> div classclearfix grpelem idu20843>!-- group --> div classmuseBGSize grpelem idu17144 titleanimate rotateRight infinite s9 d0>!-- simple frame -->/div> div classmuseBGSize grpelem idu20440>!-- simple frame -->/div> div classclearfix grpelem idu17158>!-- column --> div classclearfix colelem idu17165-4 data-muse-uidU17165 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>все обращения строго конфиденциальны!/p> /div> div classmuseBGSize colelem idu17161>!-- simple frame -->/div> div classrgba-background clearfix colelem idu17160>!-- group --> div classclearfix grpelem idu17163-4 data-muse-uidU17163 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>- о работе со мной -/p> /div> /div> div classmuseBGSize colelem idu17162>!-- simple frame -->/div> div classclearfix colelem idu17164-4 data-muse-uidU17164 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>Работаю он-лайн со всеми старше 18 лет!/p> /div> /div> /div> div classclearfix grpelem idu20210-30 data-muse-uidU20210 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20210-2>ОБРАЩАЙТЕСЬ КО МНЕ, ЕСЛИ/p> p idu20210-3> /p> p idu20210-4> /p> p idu20210-6>не можете найти взаимную настоящую любовь/p> p idu20210-8>устали от постоянного одиночества/p> p idu20210-10>вас измучили измены мужа, связи на стороне/p> p idu20210-12>хотите избавиться от порчи, сглаза, негатива/p> p idu20210-14>обидчик незаслуженно причинил вам зло/p> p idu20210-16>вы попали в черную полосу и не можете выбраться/p> p idu20210-18>хотите знать прогноз вашей ситуации/p> p idu20210-20>вам нужен правильный совет, как поступить/p> p idu20210-22>испытываете страх перед будущим/p> p idu20210-24>терпите убытки и неудачи в бизнесе/p> p idu20210-25> /p> p idu20210-27>Я СМОГУ ВАМ ПОМОЧЬ/p> p idu20210-28> /p> /div> div classmuseBGSize grpelem idu20211>!-- simple frame -->/div> div classmuseBGSize grpelem idu20212>!-- simple frame -->/div> div classmuseBGSize grpelem idu20213>!-- simple frame -->/div> div classmuseBGSize grpelem idu20214>!-- simple frame -->/div> div classmuseBGSize grpelem idu20215>!-- simple frame -->/div> div classmuseBGSize grpelem idu20216>!-- simple frame -->/div> div classmuseBGSize grpelem idu20217>!-- simple frame -->/div> div classmuseBGSize grpelem idu20218>!-- simple frame -->/div> div classmuseBGSize grpelem idu20219>!-- simple frame -->/div> div classmuseBGSize grpelem idu20220>!-- simple frame -->/div> /div> div classmuseBGSize colelem idu20593>!-- simple frame -->/div> div classclearfix colelem idpu20583>!-- group --> div classshadow museBGSize grpelem idu20583>!-- simple frame -->/div> div classclearfix grpelem idu20262-5 data-muse-uidU20262 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20262-2>Я провожу ритуалы по фотографии - именно она запечатляет энергетику человека. Дата рождения позволяет выбрать нужный ритуал в соответствие со стихией. Имя также имеет большое значение. В совокупности вся эта информация позволяет подобрать ритуал, который будет максимально действенным и быстрым./p> p idu20262-3> /p> /div> /div> div classmuseBGSize colelem idu20256>!-- simple frame -->/div> /div> /div> div classgrpelem idu20496 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M11-1,M120,M210,M22-1,SizingMethodauto expand) data-mu-ie-matrix-dx0 data-mu-ie-matrix-dy0>!-- simple frame -->/div> div classmuseBGSize grpelem idu18367>!-- simple frame -->/div> div classmuseBGSize grpelem idu17252 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M11-1,M120,M210,M22-1,SizingMethodauto expand) data-mu-ie-matrix-dx0 data-mu-ie-matrix-dy0>!-- simple frame -->/div> div classmuseBGSize grpelem idu18373 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M11-1,M120,M210,M22-1,SizingMethodauto expand) data-mu-ie-matrix-dx0 data-mu-ie-matrix-dy0>!-- simple frame -->/div> div classmuseBGSize clearfix grpelem idu17159>!-- group --> div classgradient clearfix grpelem idu17622>!-- group --> div classsupergold clearfix grpelem idu17226-9 data-muse-uidU17226 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2 idu17226-2>Оказываю качественную/h2> h2 idu17226-4>магическую помощь./h2> h2 idu17226-5> /h2> h2 idu17226-7> РАБОТАЮ НА РЕЗУЛЬТАТ/h2> /div> div classsupergold clearfix grpelem idu17229-9 data-muse-uidU17229 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2 idu17229-2>Оказываю качественную/h2> h2 idu17229-4>магическую помощь./h2> h2 idu17229-5> /h2> h2 idu17229-7> РАБОТАЮ НА РЕЗУЛЬТАТ/h2> /div> /div> /div> div classmuseBGSize grpelem idu20259 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M110,M121,M21-1,M220,SizingMethodauto expand) data-mu-ie-matrix-dx112 data-mu-ie-matrix-dy-112>!-- simple frame -->/div> div classmuseBGSize grpelem idu20260 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M110,M121,M21-1,M220,SizingMethodauto expand) data-mu-ie-matrix-dx111 data-mu-ie-matrix-dy-111>!-- simple frame -->/div> div classclearfix grpelem idu20263-4 data-muse-uidU20263 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>Многолетний опыт помощи людям с использованием ритуалов и заговоров практической магии позволяет в кратчайшие сроки добиваться желаемого результата./p> /div> div classclearfix grpelem idu20264-7 data-muse-uidU20264 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2 classsupergold idu20264-2>Особенностью моей деятельности является проведение ритуалов на расстоянии. Сейчас о таких способностях заявляют многие ясновидящие, экстрасенсы. Но на деле достичь результата на расстоянии могут единицы./h2> h2 classsupergold idu20264-3> /h2> h2 classsupergold idu20264-4> /h2> p idu20264-5> /p> /div> div classclearfix grpelem idu20265-7 data-muse-uidU20265 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2 classsupergold idu20265-2>Особенностью моей деятельности является проведение ритуалов на расстоянии. Сейчас о таких способностях заявляют многие ясновидящие, экстрасенсы. Но на деле достичь результата на расстоянии могут единицы./h2> h2 classsupergold idu20265-3> /h2> h2 classsupergold idu20265-4> /h2> p idu20265-5> /p> /div> /div> div classclearfix colelem idpu18370>!-- group --> div classmuseBGSize grpelem idu18370>!-- simple frame -->/div> div classmuseBGSize grpelem idu17146 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M11-1,M120,M210,M22-1,SizingMethodauto expand) data-mu-ie-matrix-dx0 data-mu-ie-matrix-dy0>!-- simple frame -->/div> /div> div classmuseBGSize colelem idu18376 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M11-1,M120,M210,M22-1,SizingMethodauto expand) data-mu-ie-matrix-dx0 data-mu-ie-matrix-dy0>!-- simple frame -->/div> div classmuseBGSize colelem idu8742>!-- simple frame -->/div> div classclearfix colelem idu14246-4 data-muse-uidU14246 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>Обещают многие, помогают избранные/p> /div> div classmuseBGSize colelem idu5261>!-- simple frame -->/div> div classclearfix colelem idpu14244-9>!-- group --> div classclearfix grpelem idu14244-9 titleanimate space s6 d1 data-muse-uidU14244 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu14244-2>я счастлива, когда/p> p idu14244-4>у моих клиентов результаты превосходят ожидания/p> p idu14244-5> /p> p idu14244-7>отзывы/p> /div> div classsupergold clearfix grpelem idu14245-9 titleanimate space s6 d1 data-muse-uidU14245 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2 idu14245-2>я счастлива, когда/h2> h2 idu14245-4>у моих клиентов результаты превосходят ожидания/h2> h2 idu14245-5> /h2> h2 idu14245-7>отзывы/h2> /div> /div> div classclearfix colelem idpu14372-11>!-- group --> div classsupergold clearfix grpelem idu14372-11 data-muse-uidU14372 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>ЕСЛИ ВЫ ОТЧАЯЛИСЬ САМОСТОЯТЕЛЬНО НАЙТИ ВЫХОД,/h2> h2>ЕСЛИ ДРУГИЕ ОБЕЩАЛИ ВАМ ПОМОЧЬ И НЕ ОПРАВДАЛИ НАДЕЖД,/h2> h2>ОБРАЩАЙТЕСЬ КО МНЕ/h2> h2>Я ПРЕДЛАГАЮ РЕАЛЬНОЕ РЕШЕНИЕ ПРОБЛЕМ С ПЕРВОГО СЕАНСА/h2> h2> /h2> /div> div classsupergold clearfix grpelem idu14373-11 data-muse-uidU14373 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>ЕСЛИ ВЫ ОТЧАЯЛИСЬ САМОСТОЯТЕЛЬНО НАЙТИ ВЫХОД,/h2> h2>ЕСЛИ ДРУГИЕ ОБЕЩАЛИ ВАМ ПОМОЧЬ И НЕ ОПРАВДАЛИ НАДЕЖД,/h2> h2>ОБРАЩАЙТЕСЬ КО МНЕ/h2> h2>Я ПРЕДЛАГАЮ РЕАЛЬНОЕ РЕШЕНИЕ ПРОБЛЕМ С ПЕРВОГО СЕАНСА/h2> h2> /h2> /div> div classmuseBGSize grpelem idu15897>!-- simple frame -->/div> div classgrpelem idu20558>!-- rasterized frame -->/div> div classPamphletWidget clearfix grpelem idpamphletu20668>!-- none box --> div classThumbGroup clearfix grpelem idu20708>!-- none box --> div classpopup_anchor idu20709popup> div classThumb popup_element idu20709>!-- simple frame -->/div> /div> div classpopup_anchor idu20710popup> div classThumb popup_element idu20710>!-- simple frame -->/div> /div> div classpopup_anchor idu20714popup> div classThumb popup_element idu20714>!-- simple frame -->/div> /div> div classpopup_anchor idu20712popup> div classThumb popup_element idu20712>!-- simple frame -->/div> /div> div classpopup_anchor idu20713popup> div classThumb popup_element idu20713>!-- simple frame -->/div> /div> div classpopup_anchor idu20711popup> div classThumb popup_element idu20711>!-- simple frame -->/div> /div> /div> div classpopup_anchor idu20671popup> div classContainerGroup clearfix idu20671>!-- stack box --> div classContainer clearfix grpelem idu20678>!-- column --> div classrounded-corners clearfix colelem idu20683>!-- group --> div classmuseBGSize grpelem idu20680>!-- simple frame -->/div> /div> div classrounded-corners clearfix colelem idu20679>!-- group --> div classclearfix grpelem idu20682-7 data-muse-uidU20682 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20682-2> Марина, 31 год Красноярск/p> p idu20682-3> /p> p idu20682-5> С благодарностью и восхищением пишу – спасибо, матушка Надежда! Многие обещали вернуть моего мужа, но все без толку. Свалил к любовнице, на звонки не реагировал, даже заблокировал мой номер. Надежда распутала ситуацию, как клубок, нашла причину измены. Вы действительно мастер, спасли нашу семью./p> /div> /div> div classmuseBGSize clearfix colelem idu20681-3 data-muse-uidU20681 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20681> /p> /div> /div> div classContainer invi clearfix grpelem idu20696>!-- column --> div classrounded-corners clearfix colelem idu20698>!-- group --> div classmuseBGSize grpelem idu20697>!-- simple frame -->/div> /div> div classrounded-corners clearfix colelem idu20700>!-- group --> div classclearfix grpelem idu20701-7 data-muse-uidU20701 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20701-2> Виктория, 26 лет Москва/p> p idu20701-3> /p> p idu20701-5>Спасибо Вам большое за помощь и поддержку, которую я получаю не первый месяц. Вы помогли мне не боятся изменений в жизни. Очень ценно, когда не знаешь как поступить,а тебе раскладывают все по полочкам, и ты принимаешь верное решение. Вы прекрасный специалист,отзывчивый и понимающий человек. Советую всем однозначно. Успехов Вам!/p> /div> /div> div classmuseBGSize clearfix colelem idu20699-3 data-muse-uidU20699 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20699> /p> /div> /div> div classContainer invi clearfix grpelem idu20690>!-- column --> div classrounded-corners clearfix colelem idu20691>!-- group --> div classmuseBGSize grpelem idu20695>!-- simple frame -->/div> /div> div classrounded-corners clearfix colelem idu20692>!-- group --> div classclearfix grpelem idu20693-7 data-muse-uidU20693 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20693-2> Валентина, 29 лет Курск/p> p idu20693-3> /p> p idu20693-5> Хочу Вас поблагодарить матушка Надежда, вы смогли решить мою проблему на расстоянии по телефону, удивительно, я если честно, даже сначала сомневалась, но поверила Вам, уже есть результат и я очень довольна. Буду рекомендовать Вас своим подругам. Спасибо! Спасибо! Спасибо!/p> /div> /div> div classmuseBGSize clearfix colelem idu20694-3 data-muse-uidU20694 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20694> /p> /div> /div> div classContainer invi clearfix grpelem idu20702>!-- column --> div classrounded-corners clearfix colelem idu20706>!-- group --> div classmuseBGSize grpelem idu20707>!-- simple frame -->/div> /div> div classrounded-corners clearfix colelem idu20703>!-- group --> div classclearfix grpelem idu20705-7 data-muse-uidU20705 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20705-2> Виктор, 42 года Иркутск/p> p idu20705-3> /p> p idu20705-5>У меня собственное небольшое дело. Вроде и дела шли неплохо, работал в сфере торговли. Потому появилась у меня конкурентка. Вела себя дружелюбно, только у нее дела в гору пошли, а у меня наоборот все стало плохо. Матушка Надежда сразу сказала про конкурентку и даже описала ее. Мне поставили защиту и провели обряд, после чего все стало наконец-то налаживаться./p> /div> /div> div classmuseBGSize clearfix colelem idu20704-3 data-muse-uidU20704 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20704> /p> /div> /div> div classContainer invi clearfix grpelem idu20672>!-- column --> div classrounded-corners clearfix colelem idu20676>!-- group --> div classmuseBGSize grpelem idu20675>!-- simple frame -->/div> /div> div classrounded-corners clearfix colelem idu20674>!-- group --> div classclearfix grpelem idu20677-7 data-muse-uidU20677 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20677-2> Оля, 34 года, Сочи/p> p idu20677-3> /p> p idu20677-5>Муж ушел к другой женщине, оставив меня одну с детьми. Сложно было представить, как это вообще возможно, ведь больших проблем у нас с ним не было, мы даже ссорились редко и по мелочи. Разлучница сделала на моего мужа приворот против его воли. Матушка сняла этот приворот и вернула мне мужа за один обряд-возврат. Большое спасибо за спасение нашей семьи!/p> /div> /div> div classmuseBGSize clearfix colelem idu20673-3 data-muse-uidU20673 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20673> /p> /div> /div> div classContainer invi clearfix grpelem idu20684>!-- column --> div classrounded-corners clearfix colelem idu20685>!-- group --> div classmuseBGSize grpelem idu20688>!-- simple frame -->/div> /div> div classrounded-corners clearfix colelem idu20689>!-- group --> div classclearfix grpelem idu20686-7 data-muse-uidU20686 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20686-2> Светлана, 37 лет, г. Тюмень/p> p idu20686-3> /p> p idu20686-5>Спасибо Вам большое! Мне было очень плохо морально, я была подавлена. Сомнения одолели меня изнутри. Я не могла найти ответы, не знала что мне делать дальше, как поступить. Обратилась к матушка Надежда и она четко увидела мою ситуацию, помогла мне. Теперь я знаю как действовать. Спасибо Вам огромное еще раз!/p> /div> /div> div classmuseBGSize clearfix colelem idu20687-3 data-muse-uidU20687 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20687> /p> /div> /div> /div> /div> div classpopup_anchor idu20715popup> div classPamphletPrevButton PamphletLightboxPart popup_element idu20715>!-- simple frame -->/div> /div> div classpopup_anchor idu20716popup> div classPamphletNextButton PamphletLightboxPart popup_element idu20716>!-- simple frame -->/div> /div> /div> /div> div classmuseBGSize colelem idu18481>!-- simple frame -->/div> div classclearfix colelem idpu17232>!-- group --> div classmuseBGSize clearfix grpelem idu17232>!-- group --> div classsupergold clearfix grpelem idu17246-6 data-muse-uidU17246 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2 idu17246-2>ВСЕ МОИ ОБРЯДЫ БЕЗ ВРЕДА И ГРЕХА/h2> h2 idu17246-4>ЧЕРЕЗ МОЛИТВЫ, ХРАМЫ И МОНАСТЫРИ/h2> /div> div classsupergold clearfix grpelem idu17249-6 data-muse-uidU17249 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2 idu17249-2>ВСЕ МОИ ОБРЯДЫ БЕЗ ВРЕДА И ГРЕХА/h2> h2 idu17249-4>ЧЕРЕЗ МОЛИТВЫ, ХРАМЫ И МОНАСТЫРИ/h2> /div> /div> div classmuseBGSize grpelem idu18484 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M11-1,M120,M210,M22-1,SizingMethodauto expand) data-mu-ie-matrix-dx0 data-mu-ie-matrix-dy0>!-- simple frame -->/div> /div> div classmuseBGSize colelem idu20370 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M11-1,M120,M210,M22-1,SizingMethodauto expand) data-mu-ie-matrix-dx0 data-mu-ie-matrix-dy0>!-- simple frame -->/div> div classmuseBGSize colelem idu20373>!-- simple frame -->/div> div classmuseBGSize colelem idu20379 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M11-1,M120,M210,M22-1,SizingMethodauto expand) data-mu-ie-matrix-dx0 data-mu-ie-matrix-dy0>!-- simple frame -->/div> div classclearfix colelem idu14410-6 data-muse-uidU14410 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>Мои двери всегда открыты для Вас, с какой бы проблемой Вы ко мне не обратились! У каждого человека есть свой уникальный путь./p> p> А моя задача – помогать людям решать проблемы которые возникают на этом пути./p> /div> div classclearfix colelem idu20323-4 data-muse-uidU20323 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>ПОРЯДОК РАБОТЫ/p> /div> div classclearfix colelem idpu20316>!-- group --> div classgradient clearfix grpelem idu20316>!-- group --> div classclearfix grpelem idu20322-6 titleanimate spaceDown data-muse-uidU20322 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20322-2>ОБРАЩЕНИЕ/p> p idu20322-4>Позвоните или напишите в мессенджеры/p> /div> /div> div classmuseBGSize grpelem idu20317>!-- simple frame -->/div> /div> div classgradient clearfix colelem idu20315>!-- group --> div classmuseBGSize grpelem idu20318>!-- simple frame -->/div> div classclearfix grpelem idu20324-6 titleanimate spaceDown data-muse-uidU20324 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20324-2>КОНСУЛЬТАЦИЯ/p> p idu20324-4>Свяжется с Вами, ответит на вопросы, проведет диагностику/p> /div> /div> div classgradient clearfix colelem idu20314>!-- group --> div classmuseBGSize grpelem idu20319>!-- simple frame -->/div> div classclearfix grpelem idu20325-6 titleanimate spaceDown data-muse-uidU20325 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20325-2>РЕШЕНИЕ/p> p idu20325-4>Провидица предложит способ решения, подберет действенный ритуал/p> /div> /div> div classshadow gradient clearfix colelem idu20313>!-- group --> div classmuseBGSize grpelem idu20320>!-- simple frame -->/div> div classclearfix grpelem idu20326-6 titleanimate spaceDown data-muse-uidU20326 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20326-2>РИТУАЛ/p> p idu20326-4>Проведет ритуал. Обозначит сроки достижения результата/p> /div> /div> div classgradient clearfix colelem idu20312>!-- group --> div classmuseBGSize grpelem idu20321>!-- simple frame -->/div> div classclearfix grpelem idu20327-6 titleanimate spaceDown data-muse-uidU20327 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20327-2>РЕЗУЛЬТАТ/p> p idu20327-4>Вы получите желаемый результат в обозначенный срок. Без вреда и греха/p> /div> /div> div classclearfix colelem idpu14375>!-- group --> div classmuseBGSize clearfix grpelem idu14375>!-- column --> div classposition_content idu14375_position_content> div classmuseBGSize colelem idu20446>!-- simple frame -->/div> div classclearfix colelem idpu20449>!-- group --> div classmuseBGSize grpelem idu20449>!-- simple frame -->/div> div classmuseBGSize grpelem idu20452>!-- simple frame -->/div> /div> div classmuseBGSize colelem idu20455>!-- simple frame -->/div> div classperlamutr clearfix colelem idu14376-4 data-muse-uidU14376 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h4>РАССТОЯНИЕ ДЛЯ ОБРАЩЕНИЯ НЕ ИМЕЕТ ЗНАЧЕНИЯ/h4> /div> div classperlamutr clearfix colelem idu14377-4 data-muse-uidU14377 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h4>НАПИШИТЕ МНЕ!/h4> /div> /div> /div> div classmuseBGSize grpelem idu20470 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M11-1,M120,M210,M22-1,SizingMethodauto expand) data-mu-ie-matrix-dx0 data-mu-ie-matrix-dy0>!-- simple frame -->/div> div classmuseBGSize grpelem idu20476 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M11-1,M120,M210,M22-1,SizingMethodauto expand) data-mu-ie-matrix-dx0 data-mu-ie-matrix-dy0>!-- simple frame -->/div> /div> div classclearfix colelem idpu20499>!-- group --> div classclearfix grpelem idu20499>!-- group --> div classmuseBGSize grpelem idu7793>!-- simple frame -->/div> div classclearfix grpelem idu20612-5 data-muse-uidU20612 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu20612-2>ПРОСИТЕ – И ПОЛУЧИТЕ, ИЩИТЕ – И НАЙДЕТЕ, СТУЧИТЕ – И ВАМ ОТКРОЮТ! НИКОГДА НЕ БОЙТЕСЬ ОБРАТИТЬСЯ ЗА ПОМОЩЬЮ!/p> h2 classsupergold idu20612-3> /h2> /div> /div> div classmuseBGSize grpelem idu20473 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M11-1,M120,M210,M22-1,SizingMethodauto expand) data-mu-ie-matrix-dx0 data-mu-ie-matrix-dy0>!-- simple frame -->/div> div classmuseBGSize grpelem idu17528 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M11-1,M120,M210,M22-1,SizingMethodauto expand) data-mu-ie-matrix-dx0 data-mu-ie-matrix-dy0>!-- simple frame -->/div> div classmuseBGSize grpelem idu18478>!-- simple frame -->/div> /div> div classmuseBGSize colelem idu18498 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M11-1,M120,M210,M22-1,SizingMethodauto expand) data-mu-ie-matrix-dx0 data-mu-ie-matrix-dy0>!-- simple frame -->/div> div classmuseBGSize clearfix colelem idu175>!-- group --> div classclearfix grpelem idu8541-6 data-muse-uidU8541 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>Я ЧЕЛОВЕК С НЕ ПРОСТОЙ СУДЬБОЙ,/p> p> НО С БОЛЬШИМ СЕРДЦЕМ – КОТОРОЕ ОТКРЫТО ДЛЯ ВАС!/p> /div> /div> div classclearfix colelem idpu18501>!-- group --> div classmuseBGSize grpelem idu18501 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M11-1,M120,M210,M22-1,SizingMethodauto expand) data-mu-ie-matrix-dx0 data-mu-ie-matrix-dy0>!-- simple frame -->/div> div classmuseBGSize grpelem idu18487>!-- simple frame -->/div> /div> div classclearfix colelem idpu7490>!-- group --> div classmuseBGSize grpelem idu7490>!-- simple frame -->/div> div classmuseBGSize grpelem idu17531 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M11-1,M120,M210,M22-1,SizingMethodauto expand) data-mu-ie-matrix-dx0 data-mu-ie-matrix-dy0>!-- simple frame -->/div> /div> div classclearfix colelem idu16563-6 titleanimate pulse infinite s8 d1 data-muse-uidU16563 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p idu16563-2>частые вопросы/p> p idu16563-4>которые задают мне/p> /div> div classclearfix colelem idpaccordionu16333>!-- group --> ul classAccordionWidget clearfix grpelem idaccordionu16333>!-- vertical box --> li classAccordionPanel clearfix colelem idu16334>!-- vertical box -->div classAccordionPanelTab clearfix colelem idu16336-4 data-muse-uidU16336 data-muse-typetxt_frame>!-- content -->p>Как с вами связаться/p>/div>div classAccordionPanelContent disn clearfix colelem idu16335>!-- group -->div classclearfix grpelem idu16435-4 data-muse-uidU16435 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content -->p>Для связи со мной вы можете позвонить по номеру телефона или использовать любой мессенджер, который есть на сайте/p>/div>/div>/li> li classAccordionPanel clearfix colelem idu16337>!-- vertical box -->div classAccordionPanelTab clearfix colelem idu16339-4 data-muse-uidU16339 data-muse-typetxt_frame>!-- content -->p>Сколько стоят ваши услуги/p>/div>div classAccordionPanelContent disn clearfix colelem idu16338>!-- group -->div classclearfix grpelem idu16438-4 data-muse-uidU16438 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content -->p>Все зависит от желаемого результата, от сложности обряда и от стороннего магического влияния. Все индивидуально/p>/div>/div>/li> li classAccordionPanel clearfix colelem idu16340>!-- vertical box -->div classAccordionPanelTab clearfix colelem idu16341-4 data-muse-uidU16341 data-muse-typetxt_frame>!-- content -->p>Почему нельзя бесплатно/p>/div>div classAccordionPanelContent disn clearfix colelem idu16342>!-- group -->div classclearfix grpelem idu16441-4 data-muse-uidU16441 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content -->p>Как вы знаете в нашей жизни ничего не бывает просто так. За все нужно платить. Так устроена вселенная. Иной раз лучше оплатить деньгами, чем своей энергетикой, деньги это тоже очень мощная энергетика/p>/div>/div>/li> li classAccordionPanel clearfix colelem idu16426>!-- vertical box -->div classAccordionPanelTab clearfix colelem idu16427-4 data-muse-uidU16427 data-muse-typetxt_frame>!-- content -->p>Что значит гарантия результата/p>/div>div classAccordionPanelContent disn clearfix colelem idu16428>!-- group -->div classclearfix grpelem idu16444-4 data-muse-uidU16444 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content -->p>Я даю гарантию на все свои услуги и обряды. Если я не уверена в своих возможностях я не берусь. Если услуга или результат не выполнен в поставленный срок, я возвращаю оплату./p>/div>/div>/li> /ul> div classmuseBGSize grpelem idu18836>!-- simple frame -->/div> div classmuseBGSize grpelem idu18839>!-- simple frame -->/div> div classmuseBGSize grpelem idu18842>!-- simple frame -->/div> div classmuseBGSize grpelem idu18845>!-- simple frame -->/div> /div> div classclearfix colelem idpu20606>!-- group --> div classmuseBGSize clearfix grpelem idu20606>!-- column --> div classposition_content idu20606_position_content> div classclearfix colelem idpu14612-7>!-- group --> div classclearfix grpelem idu14612-7 titleanimate glideRight s6 d0 data-muse-uidU14612 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>ОБРАЩАЙТЕСЬ СЕГОДНЯ/p> p>ЗАВТРА ВЫ НАЧНЕТЕ ЖИЗНЬ С ЧИСТОГО ЛИСТА!/p> p> /p> /div> div classclearfix grpelem idu20528-6 data-muse-uidU20528 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>Верну в дом мир, любовь и радость/p> p>Избавлю от проблем и несчастья/p> /div> /div> div classclearfix colelem idpu6651-6>!-- group --> div classsupergold clearfix grpelem idu6651-6 data-muse-uidU6651 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2> /h2> h2> /h2> h2>Что бы позвонить или написать мне - просто нажмите ЗДЕСЬ и в Вашем телефоне автоматически откроется чат со мной./h2> /div> div classsupergold clearfix grpelem idu14073-6 data-muse-uidU14073 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2> /h2> h2> /h2> h2>Что бы позвонить или написать мне - просто нажмите ЗДЕСЬ и в Вашем телефоне автоматически откроется чат со мной./h2> /div> div classsize_fixed grpelem idu196>!-- custom html --> pageItemHTML> span idtm_animate>АНИМЭЙТ v.3.7/span>/pageItemHTML> /div> a classnonblock nontext shadow clearfix grpelem idu2861-4 hrefhttps://wa.me/79258799542?text%D0%97%D0%B4%D1%80%D0%B0%D0%B2%D1%81%D1%82%D0%B2%D1%83%D0%B9%D1%82%D0%B5%20%D0%9D%D0%B0%D0%B4%D0%B5%D0%B6%D0%B4%D0%B0%20%D0%A1%D0%B5%D1%80%D0%B3%D0%B5%D0%B5%D0%B2%D0%BD%D0%B0,%20%D0%BC%D0%BD%D0%B5%20%D0%BD%D1%83%D0%B6%D0%BD%D0%B0%20%D0%B2%D0%B0%D1%88%D0%B0%20%D0%BA%D0%BE%D0%BD%D1%81%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%86%D0%B8%D1%8F! data-muse-uidU2861 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content -->p>+7 925 879 95 42/p>/a> div classmuseBGSize grpelem idu13728>!-- simple frame -->/div> /div> div classmuseBGSize colelem idu8163>!-- simple frame -->/div> /div> /div> div classbrowser_width grpelem idu8166-bw> div classmuseBGSize idu8166>!-- simple frame -->/div> /div> div classsupergold clearfix grpelem idu6196-11 data-muse-uidU6196 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>© 2023 Консультации на картах Таро Все права защищены./h2> h2 idu6196-5>span idu6196-3>Копирование материалов сайта и публикация на других ресурсах запрещены. /span>span idu6196-4>18+/span>/h2> h2> /h2> h2> /h2> h2> /h2> h2> /h2> /div> div classgrpelem idu18788 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M110.8988,M12-0.4384,M210.4384,M220.8988,SizingMethodauto expand) data-mu-ie-matrix-dx-23 data-mu-ie-matrix-dy-9>!-- simple frame -->/div> div classmuseBGSize clearfix grpelem idu18475>!-- column --> div classposition_content idu18475_position_content> div classclearfix colelem idpu9006-12>!-- group --> div classclearfix grpelem idu9006-12 data-muse-uidU9006 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2 classsupergold idu9006-2>ВАМ НЕОБХОДИМО ЛИШЬ ПОВЕРИТЬ/h2> h2 classsupergold idu9006-4>В МЕНЯ И МОИ СИЛЫ ДОВЕРИТЬСЯ МНЕ И ПУСТЬ ЭТО БУДЕТ/h2> h2 classsupergold idu9006-6>ПОСЛЕДНИМ ШАНСОМ ИСПЫТАТЬ СУДЬБУ, ОБРЕСТИ ВЕРУ,/h2> h2 classsupergold idu9006-8>НАДЕЖДУ И ЛЮБОВЬ!/h2> h2 classsupergold idu9006-9> /h2> p idu9006-10> /p> /div> div classclearfix grpelem idu14779-12 data-muse-uidU14779 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2 classsupergold idu14779-2>ВАМ НЕОБХОДИМО ЛИШЬ ПОВЕРИТЬ/h2> h2 classsupergold idu14779-4>В МЕНЯ И МОИ СИЛЫ ДОВЕРИТЬСЯ МНЕ И ПУСТЬ ЭТО БУДЕТ/h2> h2 classsupergold idu14779-6>ПОСЛЕДНИМ ШАНСОМ ИСПЫТАТЬ СУДЬБУ, ОБРЕСТИ ВЕРУ,/h2> h2 classsupergold idu14779-8>НАДЕЖДУ И ЛЮБОВЬ!/h2> h2 classsupergold idu14779-9> /h2> p idu14779-10> /p> /div> /div> div classclearfix colelem idpu16606-4>!-- group --> div classgradienttext2 clearfix grpelem idu16606-4 data-muse-uidU16606 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h1>надежда/h1> /div> div classgradienttext2 clearfix grpelem idu17754-4 data-muse-uidU17754 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h1>МАТУШКА/h1> /div> /div> div classclearfix colelem idu18851-9 titleanimate glideRight s6 d0 data-muse-uidU18851 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> p>Одна из сильнейших провидиц России , помогает старинными обрядами, заговорами и молитвами./p> p>Многолетний опыт безупречной работы./p> p>Тысячи благодарных сердец./p> p> /p> /div> /div> /div> /div> /div> div classPamphletWidget clearfix widget_invisible mse_pre_init idpamphletu14615 data-islightboxtrue>!-- none box --> div classThumbGroup clearfix grpelem idu14617>!-- none box --> div classpopup_anchor idu14618popup> div classThumb popup_element transition clearfix idu14618>!-- group --> div classmuseBGSize grpelem idu14621 titleanimate flash infinite s6 d0 data-mu-ie-matrixprogid:DXImageTransform.Microsoft.Matrix(M110.866,M12-0.5,M210.5,M220.866,SizingMethodauto expand) data-mu-ie-matrix-dx-9 data-mu-ie-matrix-dy-10>!-- simple frame -->/div> div classrounded-corners clearfix grpelem idu14619>!-- group --> div classmuseBGSize rounded-corners grpelem idu14624>!-- simple frame -->/div> div classclearfix grpelem idpu14622>!-- group --> div classmuseBGSize grpelem idu14622 titleanimate flash infinite s6 d0>!-- simple frame -->/div> div classsupergold clearfix grpelem idu14625-4 data-muse-uidU14625 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>Whats app - Чат/h2> /div> div classsupergold clearfix grpelem idu14620-4 data-muse-uidU14620 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>Whats app - Чат/h2> /div> div classsupergold clearfix grpelem idu14626-4 data-muse-uidU14626 data-muse-typetxt_frame>!-- content --> h2>ИЛИ ПОЗВОНИТЬ , viber/h2> /div> div classsupergold clearfix grpelem idu14623-4 data-muse-uidU14623 data-muse-typetxt_frame>!-- content --> h2>ИЛИ ПОЗВОНИТЬ , viber/h2> /div> /div> /div> /div> /div> /div> div classpopup_anchor idu14628popup data-lightboxtrue> div classContainerGroup clearfix idu14628>!-- stack box --> div classContainer clearfix grpelem idu14629>!-- column --> div classsupergold clearfix colelem idu16718-4 data-muse-uidU16718 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>закрыть/h2> /div> div classclearfix colelem idpu17969>!-- group --> div classmuseBGSize clearfix grpelem idu17969>!-- column --> div classposition_content idu17969_position_content> div classgradienttext2 clearfix colelem idu16609-4 data-muse-uidU16609 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h1>надежда/h1> /div> div classgradienttext2 clearfix colelem idu17966-4 data-muse-uidU17966 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h1>МАТУШКА/h1> /div> /div> /div> a classnonblock nontext clearfix grpelem idu14640-11 hrefhttps://wa.me/79258799542?text%D0%97%D0%B4%D1%80%D0%B0%D0%B2%D1%81%D1%82%D0%B2%D1%83%D0%B9%D1%82%D0%B5%20%D0%9D%D0%B0%D0%B4%D0%B5%D0%B6%D0%B4%D0%B0%20%D0%A1%D0%B5%D1%80%D0%B3%D0%B5%D0%B5%D0%B2%D0%BD%D0%B0,%20%D0%BC%D0%BD%D0%B5%20%D0%BD%D1%83%D0%B6%D0%BD%D0%B0%20%D0%B2%D0%B0%D1%88%D0%B0%20%D0%BA%D0%BE%D0%BD%D1%81%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%86%D0%B8%D1%8F! data-muse-uidU14640 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content -->h4 classperlamutr idu14640-2>ВСЕ ВИДЫ МАГИЧЕСКОЙ ПОМОЩИ/h4>h4 classperlamutr idu14640-4>Гадания. Любовная магия. Снятие порчи/Сглаза./h4>h4 classperlamutr idu14640-6>Более 500 обрядов древней магии!/h4>h4 classperlamutr idu14640-7> /h4>h4 classperlamutr idu14640-9>+7 (925) 879 95 42/h4>/a> div classclearfix grpelem idu14631>!-- column --> a classnonblock nontext gradient rounded-corners colelem idu14632 hrefhttps://wa.me/79258799542?text%D0%97%D0%B4%D1%80%D0%B0%D0%B2%D1%81%D1%82%D0%B2%D1%83%D0%B9%D1%82%D0%B5%20%D0%9D%D0%B0%D0%B4%D0%B5%D0%B6%D0%B4%D0%B0%20%D0%A1%D0%B5%D1%80%D0%B3%D0%B5%D0%B5%D0%B2%D0%BD%D0%B0,%20%D0%BC%D0%BD%D0%B5%20%D0%BD%D1%83%D0%B6%D0%BD%D0%B0%20%D0%B2%D0%B0%D1%88%D0%B0%20%D0%BA%D0%BE%D0%BD%D1%81%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%86%D0%B8%D1%8F! data-muse-uidU14632>!-- simple frame -->/a> a classnonblock nontext gradient rounded-corners colelem idu15323 hreftel:+79258799542 data-muse-uidU15323>!-- simple frame -->/a> a classnonblock nontext gradient rounded-corners colelem idu18023 hrefviber://add?number79258799542 data-muse-uidU18023>!-- simple frame -->/a> /div> div classsupergold clearfix grpelem idu14630-4 data-muse-uidU14630 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content --> h2>whats app чат/h2> /div> a classnonblock nontext supergold clearfix grpelem idu14653-4 hrefhttps://wa.me/79258799542?text%D0%97%D0%B4%D1%80%D0%B0%D0%B2%D1%81%D1%82%D0%B2%D1%83%D0%B9%D1%82%D0%B5%20%D0%9D%D0%B0%D0%B4%D0%B5%D0%B6%D0%B4%D0%B0%20%D0%A1%D0%B5%D1%80%D0%B3%D0%B5%D0%B5%D0%B2%D0%BD%D0%B0,%20%D0%BC%D0%BD%D0%B5%20%D0%BD%D1%83%D0%B6%D0%BD%D0%B0%20%D0%B2%D0%B0%D1%88%D0%B0%20%D0%BA%D0%BE%D0%BD%D1%81%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%86%D0%B8%D1%8F! data-muse-uidU14653 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content -->h2>whats app чат/h2>/a> a classnonblock nontext supergold clearfix grpelem idu15342-4 hrefhttps://wa.me/79950355609?text%D0%97%D0%B4%D1%80%D0%B0%D0%B2%D1%81%D1%82%D0%B2%D1%83%D0%B9%D1%82%D0%B5%20%D0%90%D0%BB%D0%BB%D0%B0,%20%D0%BC%D0%BD%D0%B5%20%D0%BD%D1%83%D0%B6%D0%BD%D0%B0%20%D0%B2%D0%B0%D1%88%D0%B0%20%D0%BA%D0%BE%D0%BD%D1%81%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%86%D0%B8%D1%8F! data-muse-uidU15342 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content -->h2>ПОЗВОНИТЬ/h2>/a> a classnonblock nontext supergold clearfix grpelem idu15345-4 hreftel:+79258799542 data-muse-uidU15345 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content -->h2>ПОЗВОНИТЬ/h2>/a> a classnonblock nontext supergold clearfix grpelem idu18029-4 hrefviber://add?number79258799542 data-muse-uidU18029 data-muse-typetxt_frame data-IBE-flagstxtStyleSrc>!-- content -->h2>viber/h2>/a> a classnonblock nontext museBGSize grpelem idu15326 hreftel:+79258799542 data-muse-uidU15326>!-- simple frame -->/a> a classnonblock nontext museBGSize grpelem idu18026 hrefviber://add?number79258799542 data-muse-uidU18026>!-- simple frame -->/a> a classnonblock nontext museBGSize grpelem idu14651 hrefhttps://wa.me/79258799542?text%D0%97%D0%B4%D1%80%D0%B0%D0%B2%D1%81%D1%82%D0%B2%D1%83%D0%B9%D1%82%D0%B5%20%D0%9D%D0%B0%D0%B4%D0%B5%D0%B6%D0%B4%D0%B0%20%D0%A1%D0%B5%D1%80%D0%B3%D0%B5%D0%B5%D0%B2%D0%BD%D0%B0,%20%D0%BC%D0%BD%D0%B5%20%D0%BD%D1%83%D0%B6%D0%BD%D0%B0%20%D0%B2%D0%B0%D1%88%D0%B0%20%D0%BA%D0%BE%D0%BD%D1%81%D1%83%D0%BB%D1%8C%D1%82%D0%B0%D1%86%D0%B8%D1%8F! data-muse-uidU14651>!-- simple frame -->/a> /div> div classsupergold clearfix colelem idu14645-4 data-muse-uidU14645 data-muse-typetxt_frame>!-- content --> h2>в моих силах вам помочь!/h2> /div> /div> /div> /div> div classpopup_anchor idu14616popup> div classPamphletCloseButton PamphletLightboxPart popup_element museBGSize idu14616>!-- simple frame -->/div> /div> /div> div classverticalspacer data-offset-top10974 data-content-above-spacer10974 data-content-below-spacer0>/div> /div> div classpreload_images> img classpreload srcimages/img_7284.png?crc469198758 alt/> /div> !-- JS includes --> script typetext/javascript> if (document.location.protocol ! https:) document.write(\x3Cscript srchttp://musecdn.businesscatalyst.com/scripts/4.0/jquery-1.8.3.min.js typetext/javascript>\x3C/script>);/script> script typetext/javascript> window.jQuery || document.write(\x3Cscript srcscripts/jquery-1.8.3.min.js?crc209076791 typetext/javascript>\x3C/script>);/script> !-- Other scripts --> script typetext/javascript> // Decide whether to suppress missing file error or not based on preference settingvar suppressMissingFileError false/script> script typetext/javascript> window.Muse.assets.checkfunction(c){if(!window.Muse.assets.checked){window.Muse.assets.checked!0;var b{},dfunction(a,b){if(window.getComputedStyle){var cwindow.getComputedStyle(a,null);return c&&c.getPropertyValue(b)||c&&cb||}if(document.documentElement.currentStyle)return(ca.currentStyle)&&cb||a.style&&a.styleb||;return},afunction(a){if(a.match(/^rgb/))return aa.replace(/\s+/g,).match(/(\d\,+)/gi)0.split(,),(parseInt(a0)16)+(parseInt(a1)8)+parseInt(a2);if(a.match(/^\#/))return parseInt(a.substr(1),16);return 0},ffunction(f){for(var gdocument.getElementsByTagName(link),j0;jg.length;j++)if(text/cssgj.type){var l(gj.href||).match(/\/?css\/(\w\-+\.css)\?crc(\d+)/);if(!l||!l1||!l2)break;bl1l2}gdocument.createElement(div);g.classNameversion;g.style.cssTextdisplay:none; width:1px; height:1px;;document.getElementsByTagName(body)0.appendChild(g);for(j0;jMuse.assets.required.length;){var lMuse.assets.requiredj,kl.match(/(\w\-\.+)\.(\w+)$/),ik&&k1?k1:null,kk&&k2?k2:null;switch(k.toLowerCase()){case css:ii.replace(/\W/gi,_).replace(/^(^a-z)/gi,_$1);g.className+ +i;ia(d(g,color));ka(d(g,backgroundColor));i!0||k!0?(Muse.assets.required.splice(j,1),undefined!typeof bl&&(i!bl>>>24||k!(bl&16777215))&&Muse.assets.outOfDate.push(l)):j++;g.classNameversion;break;case js:j++;break;default:throw Error(Unsupported file type: +k);}}c?c().jquery!1.8.3&&Muse.assets.outOfDate.push(jquery-1.8.3.min.js):Muse.assets.required.push(jquery-1.8.3.min.js);g.parentNode.removeChild(g);if(Muse.assets.outOfDate.length||Muse.assets.required.length)gНекоторые файлы на сервере могут отсутствовать или быть некорректными. Очистите кэш-память браузера и повторите попытку. Если проблему не удается устранить, свяжитесь с разработчиками сайта.,f&&Muse.assets.outOfDate.length&&(g+\nOut of date: +Muse.assets.outOfDate.join(,)),f&&Muse.assets.required.length&&(g+\nMissing: +Muse.assets.required.join(,)),suppressMissingFileError?(g+\nUse SuppressMissingFileError key in AppPrefs.xml to show missing file error pop up.,console.log(g)):alert(g)};location&&location.search&&location.search.match&&location.search.match(/muse_debug/gi)?setTimeout(function(){f(!0)},5E3):f()}};var muse_initfunction(){require.config({baseUrl:});require(jquery,museutils,whatinput,jquery.musepolyfill.bgsize,jquery.watch,webpro,musewpslideshow,jquery.museoverlay,touchswipe,musewpdisclosure,jquery.scrolleffects,function(c){var $ c;$(document).ready(function(){try{window.Muse.assets.check($);/* body */Muse.Utils.transformMarkupToFixBrowserProblemsPreInit();/* body */Muse.Utils.prepHyperlinks(true);/* body */(function(){ try{ try{S $; anim(S);}catch(e){} } catch(e) { Muse.Assert.fail(Error with Widget:iCode 3.0 от MuseOne ParamHTMLOnDocReady Handler + e.toString()); }})();/* Widget:iCode 3.0 от MuseOne */Muse.Utils.resizeHeight(.browser_width);/* resize height */Muse.Utils.requestAnimationFrame(function() { $(body).addClass(initialized); });/* mark body as initialized */Muse.Utils.makeButtonsVisibleAfterSettingMinWidth();/* body */Muse.Utils.initWidget(#pamphletu19540, #bp_infinity, function(elem) { return new WebPro.Widget.ContentSlideShow(elem, {contentLayout_runtime:stack,event:click,deactivationEvent:none,autoPlay:true,displayInterval:10000,transitionStyle:horizontal,transitionDuration:500,hideAllContentsFirst:false,triggersOnTop:false,shuffle:false,enableSwipe:true,resumeAutoplay:true,resumeAutoplayInterval:3000,playOnce:false,autoActivate_runtime:false,isResponsive:false}); });/* #pamphletu19540 */Muse.Utils.initWidget(#pamphletu19958, #bp_infinity, function(elem) { return new WebPro.Widget.ContentSlideShow(elem, {contentLayout_runtime:stack,event:click,deactivationEvent:none,autoPlay:true,displayInterval:6000,transitionStyle:horizontal,transitionDuration:500,hideAllContentsFirst:false,triggersOnTop:false,shuffle:false,enableSwipe:true,resumeAutoplay:true,resumeAutoplayInterval:3000,playOnce:false,autoActivate_runtime:false,isResponsive:false}); });/* #pamphletu19958 */Muse.Utils.initWidget(#pamphletu20668, #bp_infinity, function(elem) { return new WebPro.Widget.ContentSlideShow(elem, {contentLayout_runtime:stack,event:click,deactivationEvent:none,autoPlay:true,displayInterval:10000,transitionStyle:horizontal,transitionDuration:500,hideAllContentsFirst:false,triggersOnTop:false,shuffle:false,enableSwipe:true,resumeAutoplay:true,resumeAutoplayInterval:3000,playOnce:false,autoActivate_runtime:false,isResponsive:false}); });/* #pamphletu20668 */Muse.Utils.initWidget(#accordionu16333, #bp_infinity, function(elem) { return new WebPro.Widget.Accordion(elem, {canCloseAll:true,defaultIndex:-1}); });/* #accordionu16333 */Muse.Utils.initWidget(#pamphletu14615, #bp_infinity, function(elem) { return new WebPro.Widget.ContentSlideShow(elem, {contentLayout_runtime:lightbox,event:click,deactivationEvent:none,autoPlay:false,displayInterval:3000,transitionStyle:fading,transitionDuration:500,hideAllContentsFirst:false,triggersOnTop:false,shuffle:false,enableSwipe:true,resumeAutoplay:true,resumeAutoplayInterval:3000,playOnce:false,autoActivate_runtime:false,isResponsive:false}); });/* #pamphletu14615 */Muse.Utils.fullPage(#page);/* 100% height page */$(#pamphletu14615).registerPositionScrollEffect({speed:0,0,in:-Infinity,12.7},{speed:0,0,in:12.7,Infinity});/* scroll effect */Muse.Utils.showWidgetsWhenReady();/* body */Muse.Utils.transformMarkupToFixBrowserProblems();/* body */}catch(b){if(b&&functiontypeof b.notify?b.notify():Muse.Assert.fail(Error calling selector function: +b),false)throw b;}})})};/script> !-- RequireJS script --> script srcscripts/require.js?crc7928878 typetext/javascript async data-mainscripts/museconfig.js?crc4286661555 onloadif (requirejs) requirejs.onError function(requireType, requireModule) { if (requireType && requireType.toString && requireType.toString().indexOf && 0 requireType.toString().indexOf(#scripterror)) window.Muse.assets.check(); } onerrorwindow.Muse.assets.check();>/script> !--HTML Widget code--> !-- JS / jQuery My scripts --> !-- JS / jQuery Yandex Metrics --> !-- JS / jQuery Google Analitics --> !-- JS / jQuery Body End --> !-- JS + jQuery --> !-- JS + jQuery --> !-- JS + jQuery --> script typetext/javascript>$(document).ready(function() { $(body).attr(oncopy,return false); $(body).attr(oncontextmenu,return false)});/script> script> /*!* MediaElement.js* HTML5 video> and audio> shim and player* http://mediaelementjs.com/** Creates a JavaScript object that mimics HTML5 MediaElement API* for browsers that dont understand HTML5 or cant play the provided codec* Can play MP4 (H.264), Ogg, WebM, FLV, WMV, WMA, ACC, and MP3** Copyright 2010-2013, John Dyer (http://j.hn)* License: MIT**/// Namespacevar mejs mejs || {};// version numbermejs.version 2.13.2; // player number (for missing, same id attr)mejs.meIndex 0;// media types accepted by pluginsmejs.plugins { silverlight: {version: 3,0, types: video/mp4,video/m4v,video/mov,video/wmv,audio/wma,audio/m4a,audio/mp3,audio/wav,audio/mpeg} , flash: {version: 9,0,124, types: video/mp4,video/m4v,video/mov,video/flv,video/rtmp,video/x-flv,audio/flv,audio/x-flv,audio/mp3,audio/m4a,audio/mpeg, video/youtube, video/x-youtube} //,{version: 12,0, types: video/webm} // for future reference (hopefully!) , youtube: {version: null, types: video/youtube, video/x-youtube, audio/youtube, audio/x-youtube} , vimeo: {version: null, types: video/vimeo, video/x-vimeo} };/*Utility methods*/mejs.Utility { encodeUrl: function(url) { return encodeURIComponent(url); //.replace(/\?/gi,%3F).replace(//gi,%3D).replace(/&/gi,%26); }, escapeHTML: function(s) { return s.toString().split(&).join(&).split().join(<).split().join("); }, absolutizeUrl: function(url) { var el document.createElement(div); el.innerHTML a href + this.escapeHTML(url) + >x/a>; return el.firstChild.href; }, getScriptPath: function(scriptNames) { var i 0, j, codePath , testname , slashPos, filenamePos, scriptUrl, scriptPath, scriptFilename, scripts document.getElementsByTagName(script), il scripts.length, jl scriptNames.length; // go through all script> tags for (; i il; i++) { scriptUrl scriptsi.src; slashPos scriptUrl.lastIndexOf(/); if (slashPos > -1) { scriptFilename scriptUrl.substring(slashPos + 1); scriptPath scriptUrl.substring(0, slashPos + 1); } else { scriptFilename scriptUrl; scriptPath ; } // see if any script> tags have a file name that matches the for (j 0; j jl; j++) { testname scriptNamesj; filenamePos scriptFilename.indexOf(testname); if (filenamePos > -1) { codePath scriptPath; break; } } // if we found a path, then break and return it if (codePath ! ) { break; } } // send the best path back return codePath; }, secondsToTimeCode: function(time, forceHours, showFrameCount, fps) { //add framecount if (typeof showFrameCount undefined) { showFrameCountfalse; } else if(typeof fps undefined) { fps 25; } var hours Math.floor(time / 3600) % 24, minutes Math.floor(time / 60) % 60, seconds Math.floor(time % 60), frames Math.floor(((time % 1)*fps).toFixed(3)), result ( (forceHours || hours > 0) ? (hours 10 ? 0 + hours : hours) + : : ) + (minutes 10 ? 0 + minutes : minutes) + : + (seconds 10 ? 0 + seconds : seconds) + ((showFrameCount) ? : + (frames 10 ? 0 + frames : frames) : ); return result; }, timeCodeToSeconds: function(hh_mm_ss_ff, forceHours, showFrameCount, fps){ if (typeof showFrameCount undefined) { showFrameCountfalse; } else if(typeof fps undefined) { fps 25; } var tc_array hh_mm_ss_ff.split(:), tc_hh parseInt(tc_array0, 10), tc_mm parseInt(tc_array1, 10), tc_ss parseInt(tc_array2, 10), tc_ff 0, tc_in_seconds 0; if (showFrameCount) { tc_ff parseInt(tc_array3)/fps; } tc_in_seconds ( tc_hh * 3600 ) + ( tc_mm * 60 ) + tc_ss + tc_ff; return tc_in_seconds; }, convertSMPTEtoSeconds: function (SMPTE) { if (typeof SMPTE ! string) return false; SMPTE SMPTE.replace(,, .); var secs 0, decimalLen (SMPTE.indexOf(.) ! -1) ? SMPTE.split(.)1.length : 0, multiplier 1; SMPTE SMPTE.split(:).reverse(); for (var i 0; i SMPTE.length; i++) { multiplier 1; if (i > 0) { multiplier Math.pow(60, i); } secs + Number(SMPTEi) * multiplier; } return Number(secs.toFixed(decimalLen)); }, /* borrowed from SWFObject: http://code.google.com/p/swfobject/source/browse/trunk/swfobject/src/swfobject.js#474 */ removeSwf: function(id) { var obj document.getElementById(id); if (obj && /object|embed/i.test(obj.nodeName)) { if (mejs.MediaFeatures.isIE) { obj.style.display none; (function(){ if (obj.readyState 4) { mejs.Utility.removeObjectInIE(id); } else { setTimeout(arguments.callee, 10); } })(); } else { obj.parentNode.removeChild(obj); } } }, removeObjectInIE: function(id) { var obj document.getElementById(id); if (obj) { for (var i in obj) { if (typeof obji function) { obji null; } } obj.parentNode.removeChild(obj); } }};// Core detector, plugins are added belowmejs.PluginDetector { // main public function to test a plug version number PluginDetector.hasPluginVersion(flash,9,0,125); hasPluginVersion: function(plugin, v) { var pv this.pluginsplugin; v1 v1 || 0; v2 v2 || 0; return (pv0 > v0 || (pv0 v0 && pv1 > v1) || (pv0 v0 && pv1 v1 && pv2 > v2)) ? true : false; }, // cached values nav: window.navigator, ua: window.navigator.userAgent.toLowerCase(), // stored version numbers plugins: , // runs detectPlugin() and stores the version number addPlugin: function(p, pluginName, mimeType, activeX, axDetect) { this.pluginsp this.detectPlugin(pluginName, mimeType, activeX, axDetect); }, // get the version number from the mimetype (all but IE) or ActiveX (IE) detectPlugin: function(pluginName, mimeType, activeX, axDetect) { var version 0,0,0, description, i, ax; // Firefox, Webkit, Opera if (typeof(this.nav.plugins) ! undefined && typeof this.nav.pluginspluginName object) { description this.nav.pluginspluginName.description; if (description && !(typeof this.nav.mimeTypes ! undefined && this.nav.mimeTypesmimeType && !this.nav.mimeTypesmimeType.enabledPlugin)) { version description.replace(pluginName, ).replace(/^\s+/,).replace(/\sr/gi,.).split(.); for (i0; iversion.length; i++) { versioni parseInt(versioni.match(/\d+/), 10); } } // Internet Explorer / ActiveX } else if (typeof(window.ActiveXObject) ! undefined) { try { ax new ActiveXObject(activeX); if (ax) { version axDetect(ax); } } catch (e) { } } return version; }};// Add Flash detectionmejs.PluginDetector.addPlugin(flash,Shockwave Flash,application/x-shockwave-flash,ShockwaveFlash.ShockwaveFlash, function(ax) { // adapted from SWFObject var version , d ax.GetVariable($version); if (d) { d d.split( )1.split(,); version parseInt(d0, 10), parseInt(d1, 10), parseInt(d2, 10); } return version;});// Add Silverlight detectionmejs.PluginDetector.addPlugin(silverlight,Silverlight Plug-In,application/x-silverlight-2,AgControl.AgControl, function (ax) { // Silverlight cannot report its version number to IE // but it does have a isVersionSupported function, so we have to loop through it to get a version number. // adapted from http://www.silverlightversion.com/ var v 0,0,0,0, loopMatch function(ax, v, i, n) { while(ax.isVersionSupported(v0+ .+ v1 + . + v2 + . + v3)){ vi+n; } vi - n; }; loopMatch(ax, v, 0, 1); loopMatch(ax, v, 1, 1); loopMatch(ax, v, 2, 10000); // the third place in the version number is usually 5 digits (4.0.xxxxx) loopMatch(ax, v, 2, 1000); loopMatch(ax, v, 2, 100); loopMatch(ax, v, 2, 10); loopMatch(ax, v, 2, 1); loopMatch(ax, v, 3, 1); return v;});// add adobe acrobat/*PluginDetector.addPlugin(acrobat,Adobe Acrobat,application/pdf,AcroPDF.PDF, function (ax) { var version , d ax.GetVersions().split(,)0.split()1.split(.); if (d) { version parseInt(d0, 10), parseInt(d1, 10), parseInt(d2, 10); } return version;});*/// necessary detection (fixes for IE9)mejs.MediaFeatures { init: function() { var t this, d document, nav mejs.PluginDetector.nav, ua mejs.PluginDetector.ua.toLowerCase(), i, v, html5Elements source,track,audio,video; // detect browsers (only the ones that have some kind of quirk we need to work around) t.isiPad (ua.match(/ipad/i) ! null); t.isiPhone (ua.match(/iphone/i) ! null); t.isiOS t.isiPhone || t.isiPad; t.isAndroid (ua.match(/android/i) ! null); t.isBustedAndroid (ua.match(/android 2\.12/) ! null); t.isBustedNativeHTTPS (location.protocol https: && (ua.match(/android 12\./) ! null || ua.match(/macintosh.* version.* safari/) ! null)); t.isIE (nav.appName.toLowerCase().indexOf(microsoft) ! -1 || nav.appName.toLowerCase().match(/trident/gi) ! null); t.isChrome (ua.match(/chrome/gi) ! null); t.isFirefox (ua.match(/firefox/gi) ! null); t.isWebkit (ua.match(/webkit/gi) ! null); t.isGecko (ua.match(/gecko/gi) ! null) && !t.isWebkit && !t.isIE; t.isOpera (ua.match(/opera/gi) ! null); t.hasTouch (ontouchstart in window); // && window.ontouchstart ! null); // this breaks iOS 7 // borrowed from Modernizr t.svg !! document.createElementNS && !! document.createElementNS(http://www.w3.org/2000/svg,svg).createSVGRect; // create HTML5 media elements for IE before 9, get a video> element for fullscreen detection for (i0; ihtml5Elements.length; i++) { v document.createElement(html5Elementsi); } t.supportsMediaTag (typeof v.canPlayType ! undefined || t.isBustedAndroid); // Fix for IE9 on Windows 7N / Windows 7KN (Media Player not installer) try{ v.canPlayType(video/mp4); }catch(e){ t.supportsMediaTag false; } // detect native JavaScript fullscreen (Safari/Firefox only, Chrome still fails) // iOS t.hasSemiNativeFullScreen (typeof v.webkitEnterFullscreen ! undefined); // W3C t.hasNativeFullscreen (typeof v.requestFullscreen ! undefined); // webkit/firefox/IE11+ t.hasWebkitNativeFullScreen (typeof v.webkitRequestFullScreen ! undefined); t.hasMozNativeFullScreen (typeof v.mozRequestFullScreen ! undefined); t.hasMsNativeFullScreen (typeof v.msRequestFullscreen ! undefined); t.hasTrueNativeFullScreen (t.hasWebkitNativeFullScreen || t.hasMozNativeFullScreen || t.hasMsNativeFullScreen); t.nativeFullScreenEnabled t.hasTrueNativeFullScreen; // Enabled? if (t.hasMozNativeFullScreen) { t.nativeFullScreenEnabled document.mozFullScreenEnabled; } else if (t.hasMsNativeFullScreen) { t.nativeFullScreenEnabled document.msFullscreenEnabled; } if (t.isChrome) { t.hasSemiNativeFullScreen false; } if (t.hasTrueNativeFullScreen) { t.fullScreenEventName ; if (t.hasWebkitNativeFullScreen) { t.fullScreenEventName webkitfullscreenchange; } else if (t.hasMozNativeFullScreen) { t.fullScreenEventName mozfullscreenchange; } else if (t.hasMsNativeFullScreen) { t.fullScreenEventName MSFullscreenChange; } t.isFullScreen function() { if (v.mozRequestFullScreen) { return d.mozFullScreen; } else if (v.webkitRequestFullScreen) { return d.webkitIsFullScreen; } else if (v.hasMsNativeFullScreen) { return d.msFullscreenElement ! null; } } t.requestFullScreen function(el) { if (t.hasWebkitNativeFullScreen) { el.webkitRequestFullScreen(); } else if (t.hasMozNativeFullScreen) { el.mozRequestFullScreen(); } else if (t.hasMsNativeFullScreen) { el.msRequestFullscreen(); } } t.cancelFullScreen function() { if (t.hasWebkitNativeFullScreen) { document.webkitCancelFullScreen(); } else if (t.hasMozNativeFullScreen) { document.mozCancelFullScreen(); } else if (t.hasMsNativeFullScreen) { document.msExitFullscreen(); } } } // OS X 10.5 cant do this even if it says it can :( if (t.hasSemiNativeFullScreen && ua.match(/mac os x 10_5/i)) { t.hasNativeFullScreen false; t.hasSemiNativeFullScreen false; } }};mejs.MediaFeatures.init();/*extension methods to video> or audio> object to bring it into parity with PluginMediaElement (see below)*/mejs.HtmlMediaElement { pluginType: native, isFullScreen: false, setCurrentTime: function (time) { this.currentTime time; }, setMuted: function (muted) { this.muted muted; }, setVolume: function (volume) { this.volume volume; }, // for parity with the plugin versions stop: function () { this.pause(); }, // This can be a url string // or an array {src:file.mp4,type:video/mp4},{src:file.webm,type:video/webm} setSrc: function (url) { // Fix for IE9 which cant set .src when there are source> elements. Awesome, right? var existingSources this.getElementsByTagName(source); while (existingSources.length > 0){ this.removeChild(existingSources0); } if (typeof url string) { this.src url; } else { var i, media; for (i0; iurl.length; i++) { media urli; if (this.canPlayType(media.type)) { this.src media.src; break; } } } }, setVideoSize: function (width, height) { this.width width; this.height height; }};/*Mimics the video/audio> element by calling Flashs External Interface or Silverlights ScriptableMember*/mejs.PluginMediaElement function (pluginid, pluginType, mediaUrl) { this.id pluginid; this.pluginType pluginType; this.src mediaUrl; this.events {}; this.attributes {};};// JavaScript values and ExternalInterface methods that match HTML5 video properties methods// http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/fl/video/FLVPlayback.html// http://www.whatwg.org/specs/web-apps/current-work/multipage/video.htmlmejs.PluginMediaElement.prototype { // special pluginElement: null, pluginType: , isFullScreen: false, // not implemented :( playbackRate: -1, defaultPlaybackRate: -1, seekable: , played: , // HTML5 read-only properties paused: true, ended: false, seeking: false, duration: 0, error: null, tagName: , // HTML5 get/set properties, but only set (updated by event handlers) muted: false, volume: 1, currentTime: 0, // HTML5 methods play: function () { if (this.pluginApi ! null) { if (this.pluginType youtube) { this.pluginApi.playVideo(); } else { this.pluginApi.playMedia(); } this.paused false; } }, load: function () { if (this.pluginApi ! null) { if (this.pluginType youtube) { } else { this.pluginApi.loadMedia(); } this.paused false; } }, pause: function () { if (this.pluginApi ! null) { if (this.pluginType youtube) { this.pluginApi.pauseVideo(); } else { this.pluginApi.pauseMedia(); } this.paused true; } }, stop: function () { if (this.pluginApi ! null) { if (this.pluginType youtube) { this.pluginApi.stopVideo(); } else { this.pluginApi.stopMedia(); } this.paused true; } }, canPlayType: function(type) { var i, j, pluginInfo, pluginVersions mejs.pluginsthis.pluginType; for (i0; ipluginVersions.length; i++) { pluginInfo pluginVersionsi; // test if user has the correct plugin version if (mejs.PluginDetector.hasPluginVersion(this.pluginType, pluginInfo.version)) { // test for plugin playback types for (j0; jpluginInfo.types.length; j++) { // find plugin that can play the type if (type pluginInfo.typesj) { return probably; } } } } return ; }, positionFullscreenButton: function(x,y,visibleAndAbove) { if (this.pluginApi ! null && this.pluginApi.positionFullscreenButton) { this.pluginApi.positionFullscreenButton(Math.floor(x),Math.floor(y),visibleAndAbove); } }, hideFullscreenButton: function() { if (this.pluginApi ! null && this.pluginApi.hideFullscreenButton) { this.pluginApi.hideFullscreenButton(); } }, // custom methods since not all JavaScript implementations support get/set // This can be a url string // or an array {src:file.mp4,type:video/mp4},{src:file.webm,type:video/webm} setSrc: function (url) { if (typeof url string) { this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(url)); this.src mejs.Utility.absolutizeUrl(url); } else { var i, media; for (i0; iurl.length; i++) { media urli; if (this.canPlayType(media.type)) { this.pluginApi.setSrc(mejs.Utility.absolutizeUrl(media.src)); this.src mejs.Utility.absolutizeUrl(url); break; } } } }, setCurrentTime: function (time) { if (this.pluginApi ! null) { if (this.pluginType youtube) { this.pluginApi.seekTo(time); } else { this.pluginApi.setCurrentTime(time); } this.currentTime time; } }, setVolume: function (volume) { if (this.pluginApi ! null) { // same on YouTube and MEjs if (this.pluginType youtube) { this.pluginApi.setVolume(volume * 100); } else { this.pluginApi.setVolume(volume); } this.volume volume; } }, setMuted: function (muted) { if (this.pluginApi ! null) { if (this.pluginType youtube) { if (muted) { this.pluginApi.mute(); } else { this.pluginApi.unMute(); } this.muted muted; this.dispatchEvent(volumechange); } else { this.pluginApi.setMuted(muted); } this.muted muted; } }, // additional non-HTML5 methods setVideoSize: function (width, height) { //if (this.pluginType flash || this.pluginType silverlight) { if ( this.pluginElement.style) { this.pluginElement.style.width width + px; this.pluginElement.style.height height + px; } if (this.pluginApi ! null && this.pluginApi.setVideoSize) { this.pluginApi.setVideoSize(width, height); } //} }, setFullscreen: function (fullscreen) { if (this.pluginApi ! null && this.pluginApi.setFullscreen) { this.pluginApi.setFullscreen(fullscreen); } }, enterFullScreen: function() { if (this.pluginApi ! null && this.pluginApi.setFullscreen) { this.setFullscreen(true); } }, exitFullScreen: function() { if (this.pluginApi ! null && this.pluginApi.setFullscreen) { this.setFullscreen(false); } }, // start: fake events addEventListener: function (eventName, callback, bubble) { this.eventseventName this.eventseventName || ; this.eventseventName.push(callback); }, removeEventListener: function (eventName, callback) { if (!eventName) { this.events {}; return true; } var callbacks this.eventseventName; if (!callbacks) return true; if (!callback) { this.eventseventName ; return true; } for (i 0; i callbacks.length; i++) { if (callbacksi callback) { this.eventseventName.splice(i, 1); return true; } } return false; }, dispatchEvent: function (eventName) { var i, args, callbacks this.eventseventName; if (callbacks) { args Array.prototype.slice.call(arguments, 1); for (i 0; i callbacks.length; i++) { callbacksi.apply(null, args); } } }, // end: fake events // fake DOM attribute methods hasAttribute: function(name){ return (name in this.attributes); }, removeAttribute: function(name){ delete this.attributesname; }, getAttribute: function(name){ if (this.hasAttribute(name)) { return this.attributesname; } return ; }, setAttribute: function(name, value){ this.attributesname value; }, remove: function() { mejs.Utility.removeSwf(this.pluginElement.id); mejs.MediaPluginBridge.unregisterPluginElement(this.pluginElement.id); }};// Handles calls from Flash/Silverlight and reports them as native video/audio> events and propertiesmejs.MediaPluginBridge { pluginMediaElements:{}, htmlMediaElements:{}, registerPluginElement: function (id, pluginMediaElement, htmlMediaElement) { this.pluginMediaElementsid pluginMediaElement; this.htmlMediaElementsid htmlMediaElement; }, unregisterPluginElement: function (id) { delete this.pluginMediaElementsid; delete this.htmlMediaElementsid; }, // when Flash/Silverlight is ready, it calls out to this method initPlugin: function (id) { var pluginMediaElement this.pluginMediaElementsid, htmlMediaElement this.htmlMediaElementsid; if (pluginMediaElement) { // find the javascript bridge switch (pluginMediaElement.pluginType) { case flash: pluginMediaElement.pluginElement pluginMediaElement.pluginApi document.getElementById(id); break; case silverlight: pluginMediaElement.pluginElement document.getElementById(pluginMediaElement.id); pluginMediaElement.pluginApi pluginMediaElement.pluginElement.Content.MediaElementJS; break; } if (pluginMediaElement.pluginApi ! null && pluginMediaElement.success) { pluginMediaElement.success(pluginMediaElement, htmlMediaElement); } } }, // receives events from Flash/Silverlight and sends them out as HTML5 media events // http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html fireEvent: function (id, eventName, values) { var e, i, bufferedTime, pluginMediaElement this.pluginMediaElementsid; if(!pluginMediaElement){ return; } // fake event object to mimic real HTML media event. e { type: eventName, target: pluginMediaElement }; // attach all values to element and event object for (i in values) { pluginMediaElementi valuesi; ei valuesi; } // fake the newer W3C buffered TimeRange (loaded and total have been removed) bufferedTime values.bufferedTime || 0; e.target.buffered e.buffered { start: function(index) { return 0; }, end: function (index) { return bufferedTime; }, length: 1 }; pluginMediaElement.dispatchEvent(e.type, e); }};/*Default options*/mejs.MediaElementDefaults { // allows testing on HTML5, flash, silverlight // auto: attempts to detect what the browser can do // auto_plugin: prefer plugins and then attempt native HTML5 // native: forces HTML5 playback // shim: disallows HTML5, will attempt either Flash or Silverlight // none: forces fallback view mode: auto, // remove or reorder to change plugin priority and availability plugins: flash,silverlight,youtube,vimeo, // shows debug errors on screen enablePluginDebug: false, // use plugin for browsers that have trouble with Basic Authentication on HTTPS sites httpsBasicAuthSite: false, // overrides the type specified, useful for dynamic instantiation type: , // path to Flash and Silverlight plugins pluginPath: mejs.Utility.getScriptPath(mediaelement.js,mediaelement.min.js,mediaelement-and-player.js,mediaelement-and-player.min.js), // name of flash file flashName: flashmediaelement.swf, // streamer for RTMP streaming flashStreamer: , // turns on the smoothing filter in Flash enablePluginSmoothing: false, // enabled pseudo-streaming (seek) on .mp4 files enablePseudoStreaming: false, // start query parameter sent to server for pseudo-streaming pseudoStreamingStartQueryParam: start, // name of silverlight file silverlightName: silverlightmediaelement.xap, // default if the video width> is not specified defaultVideoWidth: 480, // default if the video height> is not specified defaultVideoHeight: 270, // overrides video width> pluginWidth: -1, // overrides video height> pluginHeight: -1, // additional plugin variables in keyvalue form pluginVars: , // rate in milliseconds for Flash and Silverlight to fire the timeupdate event // larger number is less accurate, but less strain on plugin->JavaScript bridge timerRate: 250, // initial volume for player startVolume: 0.8, success: function () { }, error: function () { }};/*Determines if a browser supports the video> or audio> elementand returns either the native element or a Flash/Silverlight version thatmimics HTML5 MediaElement*/mejs.MediaElement function (el, o) { return mejs.HtmlMediaElementShim.create(el,o);};mejs.HtmlMediaElementShim { create: function(el, o) { var options mejs.MediaElementDefaults, htmlMediaElement (typeof(el) string) ? document.getElementById(el) : el, tagName htmlMediaElement.tagName.toLowerCase(), isMediaTag (tagName audio || tagName video), src (isMediaTag) ? htmlMediaElement.getAttribute(src) : htmlMediaElement.getAttribute(href), poster htmlMediaElement.getAttribute(poster), autoplay htmlMediaElement.getAttribute(autoplay), preload htmlMediaElement.getAttribute(preload), controls htmlMediaElement.getAttribute(controls), playback, prop; // extend options for (prop in o) { optionsprop oprop; } // clean up attributes src (typeof src undefined || src null || src ) ? null : src; poster (typeof poster undefined || poster null) ? : poster; preload (typeof preload undefined || preload null || preload false) ? none : preload; autoplay !(typeof autoplay undefined || autoplay null || autoplay false); controls !(typeof controls undefined || controls null || controls false); // test for HTML5 and plugin capabilities playback this.determinePlayback(htmlMediaElement, options, mejs.MediaFeatures.supportsMediaTag, isMediaTag, src); playback.url (playback.url ! null) ? mejs.Utility.absolutizeUrl(playback.url) : ; if (playback.method native) { // second fix for android if (mejs.MediaFeatures.isBustedAndroid) { htmlMediaElement.src playback.url; htmlMediaElement.addEventListener(click, function() { htmlMediaElement.play(); }, false); } // add methods to native HTMLMediaElement return this.updateNative(playback, options, autoplay, preload); } else if (playback.method ! ) { // create plugin to mimic HTMLMediaElement return this.createPlugin( playback, options, poster, autoplay, preload, controls); } else { // boo, no HTML5, no Flash, no Silverlight. this.createErrorMessage( playback, options, poster ); return this; } }, determinePlayback: function(htmlMediaElement, options, supportsMediaTag, isMediaTag, src) { var mediaFiles , i, j, k, l, n, type, result { method: , url: , htmlMediaElement: htmlMediaElement, isVideo: (htmlMediaElement.tagName.toLowerCase() ! audio)}, pluginName, pluginVersions, pluginInfo, dummy, media; // STEP 1: Get URL and type from video src> or source src> // supplied type overrides video type> and source type> if (typeof options.type ! undefined && options.type ! ) { // accept either string or array of types if (typeof options.type string) { mediaFiles.push({type:options.type, url:src}); } else { for (i0; ioptions.type.length; i++) { mediaFiles.push({type:options.typei, url:src}); } } // test for src attribute first } else if (src ! null) { type this.formatType(src, htmlMediaElement.getAttribute(type)); mediaFiles.push({type:type, url:src}); // then test for source> elements } else { // test source> types to see if they are usable for (i 0; i htmlMediaElement.childNodes.length; i++) { n htmlMediaElement.childNodesi; if (n.nodeType 1 && n.tagName.toLowerCase() source) { src n.getAttribute(src); type this.formatType(src, n.getAttribute(type)); media n.getAttribute(media); if (!media || !window.matchMedia || (window.matchMedia && window.matchMedia(media).matches)) { mediaFiles.push({type:type, url:src}); } } } } // in the case of dynamicly created players // check for audio types if (!isMediaTag && mediaFiles.length > 0 && mediaFiles0.url ! null && this.getTypeFromFile(mediaFiles0.url).indexOf(audio) > -1) { result.isVideo false; } // STEP 2: Test for playback method // special case for Android which sadly doesnt implement the canPlayType function (always returns ) if (mejs.MediaFeatures.isBustedAndroid) { htmlMediaElement.canPlayType function(type) { return (type.match(/video\/(mp4|m4v)/gi) ! null) ? maybe : ; }; } // test for native playback first if (supportsMediaTag && (options.mode auto || options.mode auto_plugin || options.mode native) && !(mejs.MediaFeatures.isBustedNativeHTTPS && options.httpsBasicAuthSite true)) { if (!isMediaTag) { // create a real HTML5 Media Element dummy document.createElement( result.isVideo ? video : audio); htmlMediaElement.parentNode.insertBefore(dummy, htmlMediaElement); htmlMediaElement.style.display none; // use this one from now on result.htmlMediaElement htmlMediaElement dummy; } for (i0; imediaFiles.length; i++) { // normal check if (htmlMediaElement.canPlayType(mediaFilesi.type).replace(/no/, ) ! // special case for Mac/Safari 5.0.3 which answers to canPlayType(audio/mp3) but maybe to canPlayType(audio/mpeg) || htmlMediaElement.canPlayType(mediaFilesi.type.replace(/mp3/,mpeg)).replace(/no/, ) ! ) { result.method native; result.url mediaFilesi.url; break; } } if (result.method native) { if (result.url ! null) { htmlMediaElement.src result.url; } // if `auto_plugin` mode, then cache the native result but try plugins. if (options.mode ! auto_plugin) { return result; } } } // if native playback didnt work, then test plugins if (options.mode auto || options.mode auto_plugin || options.mode shim) { for (i0; imediaFiles.length; i++) { type mediaFilesi.type; // test all plugins in order of preference silverlight, flash for (j0; joptions.plugins.length; j++) { pluginName options.pluginsj; // test version of plugin (for future features) pluginVersions mejs.pluginspluginName; for (k0; kpluginVersions.length; k++) { pluginInfo pluginVersionsk; // test if user has the correct plugin version // for youtube/vimeo if (pluginInfo.version null || mejs.PluginDetector.hasPluginVersion(pluginName, pluginInfo.version)) { // test for plugin playback types for (l0; lpluginInfo.types.length; l++) { // find plugin that can play the type if (type pluginInfo.typesl) { result.method pluginName; result.url mediaFilesi.url; return result; } } } } } } } // at this point, being in auto_plugin mode implies that we tried plugins but failed. // if we have native support then return that. if (options.mode auto_plugin && result.method native) { return result; } // what if theres nothing to play? just grab the first available if (result.method && mediaFiles.length > 0) { result.url mediaFiles0.url; } return result; }, formatType: function(url, type) { var ext; // if no type is supplied, fake it with the extension if (url && !type) { return this.getTypeFromFile(url); } else { // only return the mime part of the type in case the attribute contains the codec // see http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#the-source-element // `video/mp4; codecsavc1.42E01E, mp4a.40.2` becomes `video/mp4` if (type && ~type.indexOf(;)) { return type.substr(0, type.indexOf(;)); } else { return type; } } }, getTypeFromFile: function(url) { url url.split(?)0; var ext url.substring(url.lastIndexOf(.) + 1).toLowerCase(); return (/(mp4|m4v|ogg|ogv|webm|webmv|flv|wmv|mpeg|mov)/gi.test(ext) ? video : audio) + / + this.getTypeFromExtension(ext); }, getTypeFromExtension: function(ext) { switch (ext) { case mp4: case m4v: return mp4; case webm: case webma: case webmv: return webm; case ogg: case oga: case ogv: return ogg; default: return ext; } }, createErrorMessage: function(playback, options, poster) { var htmlMediaElement playback.htmlMediaElement, errorContainer document.createElement(div); errorContainer.className me-cannotplay; try { errorContainer.style.width htmlMediaElement.width + px; errorContainer.style.height htmlMediaElement.height + px; } catch (e) {} if (options.customError) { errorContainer.innerHTML options.customError; } else { errorContainer.innerHTML (poster ! ) ? a href + playback.url + >img src + poster + width100% height100% />/a> : a href + playback.url + >span> + mejs.i18n.t(Download File) + /span>/a>; } htmlMediaElement.parentNode.insertBefore(errorContainer, htmlMediaElement); htmlMediaElement.style.display none; options.error(htmlMediaElement); }, createPlugin:function(playback, options, poster, autoplay, preload, controls) { var htmlMediaElement playback.htmlMediaElement, width 1, height 1, pluginid me_ + playback.method + _ + (mejs.meIndex++), pluginMediaElement new mejs.PluginMediaElement(pluginid, playback.method, playback.url), container document.createElement(div), specialIEContainer, node, initVars; // copy tagName from html media element pluginMediaElement.tagName htmlMediaElement.tagName // copy attributes from html media element to plugin media element for (var i 0; i htmlMediaElement.attributes.length; i++) { var attribute htmlMediaElement.attributesi; if (attribute.specified true) { pluginMediaElement.setAttribute(attribute.name, attribute.value); } } // check for placement inside a p> tag (sometimes WYSIWYG editors do this) node htmlMediaElement.parentNode; while (node ! null && node.tagName.toLowerCase() ! body) { if (node.parentNode.tagName.toLowerCase() p) { node.parentNode.parentNode.insertBefore(node, node.parentNode); break; } node node.parentNode; } if (playback.isVideo) { width (options.pluginWidth > 0) ? options.pluginWidth : (options.videoWidth > 0) ? options.videoWidth : (htmlMediaElement.getAttribute(width) ! null) ? htmlMediaElement.getAttribute(width) : options.defaultVideoWidth; height (options.pluginHeight > 0) ? options.pluginHeight : (options.videoHeight > 0) ? options.videoHeight : (htmlMediaElement.getAttribute(height) ! null) ? htmlMediaElement.getAttribute(height) : options.defaultVideoHeight; // in case of % make sure its encoded width mejs.Utility.encodeUrl(width); height mejs.Utility.encodeUrl(height); } else { if (options.enablePluginDebug) { width 320; height 240; } } // register plugin pluginMediaElement.success options.success; mejs.MediaPluginBridge.registerPluginElement(pluginid, pluginMediaElement, htmlMediaElement); // add container (must be added to DOM before inserting HTML for IE) container.className me-plugin; container.id pluginid + _container; if (playback.isVideo) { htmlMediaElement.parentNode.insertBefore(container, htmlMediaElement); } else { document.body.insertBefore(container, document.body.childNodes0); } // flash/silverlight vars initVars id + pluginid, isvideo + ((playback.isVideo) ? true : false), autoplay + ((autoplay) ? true : false), preload + preload, width + width, startvolume + options.startVolume, timerrate + options.timerRate, flashstreamer + options.flashStreamer, height + height, pseudostreamstart + options.pseudoStreamingStartQueryParam; if (playback.url ! null) { if (playback.method flash) { initVars.push(file + mejs.Utility.encodeUrl(playback.url)); } else { initVars.push(file + playback.url); } } if (options.enablePluginDebug) { initVars.push(debugtrue); } if (options.enablePluginSmoothing) { initVars.push(smoothingtrue); } if (options.enablePseudoStreaming) { initVars.push(pseudostreamingtrue); } if (controls) { initVars.push(controlstrue); // shows controls in the plugin if desired } if (options.pluginVars) { initVars initVars.concat(options.pluginVars); } switch (playback.method) { case silverlight: container.innerHTML object datadata:application/x-silverlight-2, typeapplication/x-silverlight-2 id + pluginid + name + pluginid + width + width + height + height + classmejs-shim> +param nameinitParams value + initVars.join(,) + /> +param namewindowless valuetrue /> +param namebackground valueblack /> +param nameminRuntimeVersion value3.0.0.0 /> +param nameautoUpgrade valuetrue /> +param namesource value + options.pluginPath + options.silverlightName + /> +/object>; break; case flash: if (mejs.MediaFeatures.isIE) { specialIEContainer document.createElement(div); container.appendChild(specialIEContainer); specialIEContainer.outerHTML object classidclsid:D27CDB6E-AE6D-11cf-96B8-444553540000 codebase//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab +id + pluginid + width + width + height + height + classmejs-shim> +param namemovie value + options.pluginPath + options.flashName + ?x + (new Date()) + /> +param nameflashvars value + initVars.join(&) + /> +param namequality valuehigh /> +param namebgcolor value#000000 /> +param namewmode valuetransparent /> +param nameallowScriptAccess valuealways /> +param nameallowFullScreen valuetrue /> +param namescale valuedefault /> + /object>; } else { container.innerHTML embed id + pluginid + name + pluginid + +playtrue +loopfalse +qualityhigh +bgcolor#000000 +wmodetransparent +allowScriptAccessalways +allowFullScreentrue +typeapplication/x-shockwave-flash pluginspage//www.macromedia.com/go/getflashplayer +src + options.pluginPath + options.flashName + +flashvars + initVars.join(&) + +width + width + +height + height + +scaledefault + classmejs-shim>/embed>; } break; case youtube: var videoId playback.url.substr(playback.url.lastIndexOf()+1); youtubeSettings { container: container, containerId: container.id, pluginMediaElement: pluginMediaElement, pluginId: pluginid, videoId: videoId, height: height, width: width }; if (mejs.PluginDetector.hasPluginVersion(flash, 10,0,0) ) { mejs.YouTubeApi.createFlash(youtubeSettings); } else { mejs.YouTubeApi.enqueueIframe(youtubeSettings); } break; // DEMO Code. Does NOT work. case vimeo: // pluginMediaElement.vimeoid playback.url.substr(playback.url.lastIndexOf(/)+1); container.innerHTML iframe srchttp://player.vimeo.com/video/ + pluginMediaElement.vimeoid + ?portrait0&byline0&title0 width + width + height + height + frameborder0 classmejs-shim>/iframe>; /* container.innerHTML object width + width + height + height + classmejs-shim> + param nameallowfullscreen valuetrue /> + param nameallowscriptaccess valuealways /> + param nameflashvars valueapi1 /> + param namemovie valuehttp://vimeo.com/moogaloop.swf?clip_id + pluginMediaElement.vimeoid + &servervimeo.com&show_title0&show_byline0&show_portrait0&color00adef&fullscreen1&autoplay0&loop0 /> + embed src//vimeo.com/moogaloop.swf?api1&clip_id + pluginMediaElement.vimeoid + &servervimeo.com&show_title0&show_byline0&show_portrait0&color00adef&fullscreen1&autoplay0&loop0 typeapplication/x-shockwave-flash allowfullscreentrue allowscriptaccessalways width + width + height + height + classmejs-shim>/embed> + /object>; */ break; } // hide original element htmlMediaElement.style.display none; // prevent browser from autoplaying when using a plugin htmlMediaElement.removeAttribute(autoplay); // FYI: options.success will be fired by the MediaPluginBridge return pluginMediaElement; }, updateNative: function(playback, options, autoplay, preload) { var htmlMediaElement playback.htmlMediaElement, m; // add methods to video object to bring it into parity with Flash Object for (m in mejs.HtmlMediaElement) { htmlMediaElementm mejs.HtmlMediaElementm; } /* Chrome now supports preloadnone if (mejs.MediaFeatures.isChrome) { // special case to enforce preload attribute (Chrome doesnt respect this) if (preload none && !autoplay) { // forces the browser to stop loading (note: fails in IE9) htmlMediaElement.src ; htmlMediaElement.load(); htmlMediaElement.canceledPreload true; htmlMediaElement.addEventListener(play,function() { if (htmlMediaElement.canceledPreload) { htmlMediaElement.src playback.url; htmlMediaElement.load(); htmlMediaElement.play(); htmlMediaElement.canceledPreload false; } }, false); // for some reason Chrome forgets how to autoplay sometimes. } else if (autoplay) { htmlMediaElement.load(); htmlMediaElement.play(); } } */ // fire success code options.success(htmlMediaElement, htmlMediaElement); return htmlMediaElement; }};/* - test on IE (object vs. embed) - determine when to use iframe (Firefox, Safari, Mobile) vs. Flash (Chrome, IE) - fullscreen?*/// YouTube Flash and Iframe APImejs.YouTubeApi { isIframeStarted: false, isIframeLoaded: false, loadIframeApi: function() { if (!this.isIframeStarted) { var tag document.createElement(script); tag.src //www.youtube.com/player_api; var firstScriptTag document.getElementsByTagName(script)0; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); this.isIframeStarted true; } }, iframeQueue: , enqueueIframe: function(yt) { if (this.isLoaded) { this.createIframe(yt); } else { this.loadIframeApi(); this.iframeQueue.push(yt); } }, createIframe: function(settings) { var pluginMediaElement settings.pluginMediaElement, player new YT.Player(settings.containerId, { height: settings.height, width: settings.width, videoId: settings.videoId, playerVars: {controls:0}, events: { onReady: function() { // hook up iframe object to MEjs settings.pluginMediaElement.pluginApi player; // init mejs mejs.MediaPluginBridge.initPlugin(settings.pluginId); // create timer setInterval(function() { mejs.YouTubeApi.createEvent(player, pluginMediaElement, timeupdate); }, 250); }, onStateChange: function(e) { mejs.YouTubeApi.handleStateChange(e.data, player, pluginMediaElement); } } }); }, createEvent: function (player, pluginMediaElement, eventName) { var obj { type: eventName, target: pluginMediaElement }; if (player && player.getDuration) { // time pluginMediaElement.currentTime obj.currentTime player.getCurrentTime(); pluginMediaElement.duration obj.duration player.getDuration(); // state obj.paused pluginMediaElement.paused; obj.ended pluginMediaElement.ended; // sound obj.muted player.isMuted(); obj.volume player.getVolume() / 100; // progress obj.bytesTotal player.getVideoBytesTotal(); obj.bufferedBytes player.getVideoBytesLoaded(); // fake the W3C buffered TimeRange var bufferedTime obj.bufferedBytes / obj.bytesTotal * obj.duration; obj.target.buffered obj.buffered { start: function(index) { return 0; }, end: function (index) { return bufferedTime; }, length: 1 }; } // send event up the chain pluginMediaElement.dispatchEvent(obj.type, obj); }, iFrameReady: function() { this.isLoaded true; this.isIframeLoaded true; while (this.iframeQueue.length > 0) { var settings this.iframeQueue.pop(); this.createIframe(settings); } }, // FLASH! flashPlayers: {}, createFlash: function(settings) { this.flashPlayerssettings.pluginId settings; /* settings.container.innerHTML object typeapplication/x-shockwave-flash id + settings.pluginId + data//www.youtube.com/apiplayer?enablejsapi1&playerapiid + settings.pluginId + &version3&autoplay0&controls0&modestbranding1&loop0 + width + settings.width + height + settings.height + stylevisibility: visible; classmejs-shim> + param nameallowScriptAccess valuealways> + param namewmode valuetransparent> + /object>; */ var specialIEContainer, youtubeUrl //www.youtube.com/apiplayer?enablejsapi1&playerapiid + settings.pluginId + &version3&autoplay0&controls0&modestbranding1&loop0; if (mejs.MediaFeatures.isIE) { specialIEContainer document.createElement(div); settings.container.appendChild(specialIEContainer); specialIEContainer.outerHTML object classidclsid:D27CDB6E-AE6D-11cf-96B8-444553540000 codebase//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab +id + settings.pluginId + width + settings.width + height + settings.height + classmejs-shim> + param namemovie value + youtubeUrl + /> + param namewmode valuetransparent /> + param nameallowScriptAccess valuealways /> + param nameallowFullScreen valuetrue /> +/object>; } else { settings.container.innerHTML object typeapplication/x-shockwave-flash id + settings.pluginId + data + youtubeUrl + + width + settings.width + height + settings.height + stylevisibility: visible; classmejs-shim> + param nameallowScriptAccess valuealways> + param namewmode valuetransparent> + /object>; } }, flashReady: function(id) { var settings this.flashPlayersid, player document.getElementById(id), pluginMediaElement settings.pluginMediaElement; // hook up and return to MediaELementPlayer.success pluginMediaElement.pluginApi pluginMediaElement.pluginElement player; mejs.MediaPluginBridge.initPlugin(id); // load the youtube video player.cueVideoById(settings.videoId); var callbackName settings.containerId + _callback; windowcallbackName function(e) { mejs.YouTubeApi.handleStateChange(e, player, pluginMediaElement); } player.addEventListener(onStateChange, callbackName); setInterval(function() { mejs.YouTubeApi.createEvent(player, pluginMediaElement, timeupdate); }, 250); }, handleStateChange: function(youTubeState, player, pluginMediaElement) { switch (youTubeState) { case -1: // not started pluginMediaElement.paused true; pluginMediaElement.ended true; mejs.YouTubeApi.createEvent(player, pluginMediaElement, loadedmetadata); //createYouTubeEvent(player, pluginMediaElement, loadeddata); break; case 0: pluginMediaElement.paused false; pluginMediaElement.ended true; mejs.YouTubeApi.createEvent(player, pluginMediaElement, ended); break; case 1: pluginMediaElement.paused false; pluginMediaElement.ended false; mejs.YouTubeApi.createEvent(player, pluginMediaElement, play); mejs.YouTubeApi.createEvent(player, pluginMediaElement, playing); break; case 2: pluginMediaElement.paused true; pluginMediaElement.ended false; mejs.YouTubeApi.createEvent(player, pluginMediaElement, pause); break; case 3: // buffering mejs.YouTubeApi.createEvent(player, pluginMediaElement, progress); break; case 5: // cued? break; } }}// IFRAMEfunction onYouTubePlayerAPIReady() { mejs.YouTubeApi.iFrameReady();}// FLASHfunction onYouTubePlayerReady(id) { mejs.YouTubeApi.flashReady(id);}window.mejs mejs;window.MediaElement mejs.MediaElement;/*! * Adds Internationalization and localization to mediaelement. * * This file does not contain translations, you have to add the manually. * The schema is always the same: me-i18n-locale-ISO_639-1 Code.js * * Examples are provided both for german and chinese translation. * * * What is the concept beyond i18n? * http://en.wikipedia.org/wiki/Internationalization_and_localization * * What langcode should i use? * http://en.wikipedia.org/wiki/ISO_639-1 * * * License? * * The i18n file uses methods from the Drupal project (drupal.js): * - i18n.methods.t() (modified) * - i18n.methods.checkPlain() (full copy) * * The Drupal project is (like mediaelementjs) licensed under GPLv2. * - http://drupal.org/licensing/faq/#q1 * - https://github.com/johndyer/mediaelement * - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html * * * @author * Tim Latz (latz.tim@gmail.com) * * * @params * - context - document, iframe .. * - exports - CommonJS, window .. * */;(function(context, exports, undefined) { use strict; var i18n { locale: { language : , strings : {} }, methods : {} };// start i18n /** * Get language, fallback to browsers language if empty */ i18n.getLanguage function () { var language i18n.locale.language || window.navigator.userLanguage || window.navigator.language; // convert to iso 639-1 (2-letters, lower case) return language.substr(0, 2).toLowerCase(); }; // i18n fixes for compatibility with WordPress if ( typeof mejsL10n ! undefined ) { i18n.locale.language mejsL10n.language; } /** * Encode special characters in a plain-text string for display as HTML. */ i18n.methods.checkPlain function (str) { var character, regex, replace { &: &, : ", : <, >: > }; str String(str); for (character in replace) { if (replace.hasOwnProperty(character)) { regex new RegExp(character, g); str str.replace(regex, replacecharacter); } } return str; }; /** * Translate strings to the page language or a given language. * * * @param str * A string containing the English string to translate. * * @param options * - context (defaults to the default context): The context the source string * belongs to. * * @return * The translated string, escaped via i18n.methods.checkPlain() */ i18n.methods.t function (str, options) { // Fetch the localized version of the string. if (i18n.locale.strings && i18n.locale.stringsoptions.context && i18n.locale.stringsoptions.contextstr) { str i18n.locale.stringsoptions.contextstr; } return i18n.methods.checkPlain(str); }; /** * Wrapper for i18n.methods.t() * * @see i18n.methods.t() * @throws InvalidArgumentException */ i18n.t function(str, options) { if (typeof str string && str.length > 0) { // check every time due language can change for // different reasons (translation, lang switcher ..) var language i18n.getLanguage(); options options || { context : language }; return i18n.methods.t(str, options); } else { throw { name : InvalidArgumentException, message : First argument is either not a string or empty. }; } };// end i18n exports.i18n i18n;}(document, mejs));// i18n fixes for compatibility with WordPress;(function(exports, undefined) { use strict; if ( typeof mejsL10n ! undefined ) { exportsmejsL10n.language mejsL10n.strings; }}(mejs.i18n.locale.strings));/*! * This is a i18n.locale language object. * * German translation by Tim Latz, latz.tim@gmail.com * * @author * Tim Latz (latz.tim@gmail.com) * * @see * me-i18n.js * * @params * - exports - CommonJS, window .. */;(function(exports, undefined) { use strict; if (typeof exports.de undefined) { exports.de { Fullscreen : Vollbild, Go Fullscreen : Vollbild an, Turn off Fullscreen : Vollbild aus, Close : Schließen }; }}(mejs.i18n.locale.strings));/*! * This is a i18n.locale language object. * * Traditional chinese translation by Tim Latz, latz.tim@gmail.com * * @author * Tim Latz (latz.tim@gmail.com) * * @see * me-i18n.js * * @params * - exports - CommonJS, window .. */;(function(exports, undefined) { use strict; if (typeof exports.zh undefined) { exports.zh { Fullscreen : 全螢幕, Go Fullscreen : å…¨å±æ¨¡å¼, Turn off Fullscreen : 退出全å±æ¨¡å¼, Close : 關閉 }; }}(mejs.i18n.locale.strings));/*! * MediaElementPlayer * http://mediaelementjs.com/ * * Creates a controller bar for HTML5 video> add audio> tags * using jQuery and MediaElement.js (HTML5 Flash/Silverlight wrapper) * * Copyright 2010-2013, John Dyer (http://j.hn/) * License: MIT * */if (typeof jQuery ! undefined) { mejs.$ jQuery;} else if (typeof ender ! undefined) { mejs.$ ender;}(function ($) { // default player values mejs.MepDefaults { // url to poster (to fix iOS 3.x) poster: , // When the video is ended, we can show the poster. showPosterWhenEnded: false, // default if the video width> is not specified defaultVideoWidth: 480, // default if the video height> is not specified defaultVideoHeight: 270, // if set, overrides video width> videoWidth: -1, // if set, overrides video height> videoHeight: -1, // default if the user doesnt specify defaultAudioWidth: 400, // default if the user doesnt specify defaultAudioHeight: 30, // default amount to move back when back key is pressed defaultSeekBackwardInterval: function(media) { return (media.duration * 0.05); }, // default amount to move forward when forward key is pressed defaultSeekForwardInterval: function(media) { return (media.duration * 0.05); }, // width of audio player audioWidth: -1, // height of audio player audioHeight: -1, // initial volume when the player starts (overrided by user cookie) startVolume: 0.8, // useful for audio> player loops loop: false, // rewind to beginning when media ends autoRewind: true, // resize to media dimensions enableAutosize: true, // forces the hour marker (##:00:00) alwaysShowHours: false, // show framecount in timecode (##:00:00:00) showTimecodeFrameCount: false, // used when showTimecodeFrameCount is set to true framesPerSecond: 25, // automatically calculate the width of the progress bar based on the sizes of other elements autosizeProgress : true, // Hide controls when playing and mouse is not over the video alwaysShowControls: false, // Display the video control hideVideoControlsOnLoad: false, // Enable click video element to toggle play/pause clickToPlayPause: true, // force iPads native controls iPadUseNativeControls: false, // force iPhones native controls iPhoneUseNativeControls: false, // force Androids native controls AndroidUseNativeControls: false, // features to show features: playpause,current,progress,duration,tracks,volume,fullscreen, // only for dynamic isVideo: true, // turns keyboard support on and off for this instance enableKeyboard: true, // whenthis player starts, it will pause other players pauseOtherPlayers: true, // array of keyboard actions such as play pause keyActions: { keys: 32, // SPACE 179 // GOOGLE play/pause button , action: function(player, media) { if (media.paused || media.ended) { player.play(); } else { player.pause(); } } }, { keys: 38, // UP action: function(player, media) { var newVolume Math.min(media.volume + 0.1, 1); media.setVolume(newVolume); } }, { keys: 40, // DOWN action: function(player, media) { var newVolume Math.max(media.volume - 0.1, 0); media.setVolume(newVolume); } }, { keys: 37, // LEFT 227 // Google TV rewind , action: function(player, media) { if (!isNaN(media.duration) && media.duration > 0) { if (player.isVideo) { player.showControls(); player.startControlsTimer(); } // 5% var newTime Math.max(media.currentTime - player.options.defaultSeekBackwardInterval(media), 0); media.setCurrentTime(newTime); } } }, { keys: 39, // RIGHT 228 // Google TV forward , action: function(player, media) { if (!isNaN(media.duration) && media.duration > 0) { if (player.isVideo) { player.showControls(); player.startControlsTimer(); } // 5% var newTime Math.min(media.currentTime + player.options.defaultSeekForwardInterval(media), media.duration); media.setCurrentTime(newTime); } } }, { keys: 70, // f action: function(player, media) { if (typeof player.enterFullScreen ! undefined) { if (player.isFullScreen) { player.exitFullScreen(); } else { player.enterFullScreen(); } } } } }; mejs.mepIndex 0; mejs.players {}; // wraps a MediaElement object in player controls mejs.MediaElementPlayer function(node, o) { // enforce object, even without new (via John Resig) if ( !(this instanceof mejs.MediaElementPlayer) ) { return new mejs.MediaElementPlayer(node, o); } var t this; // these will be reset after the MediaElement.success fires t.$media t.$node $(node); t.node t.media t.$media0; // check for existing player if (typeof t.node.player ! undefined) { return t.node.player; } else { // attach player to DOM node for reference t.node.player t; } // try to get options from data-mejsoptions if (typeof o undefined) { o t.$node.data(mejsoptions); } // extend default options t.options $.extend({},mejs.MepDefaults,o); // unique ID t.id mep_ + mejs.mepIndex++; // add to player array (for focus events) mejs.playerst.id t; // start up t.init(); return t; }; // actual player mejs.MediaElementPlayer.prototype { hasFocus: false, controlsAreVisible: true, init: function() { var t this, mf mejs.MediaFeatures, // options for MediaElement (shim) meOptions $.extend(true, {}, t.options, { success: function(media, domNode) { t.meReady(media, domNode); }, error: function(e) { t.handleError(e);} }), tagName t.media.tagName.toLowerCase(); t.isDynamic (tagName ! audio && tagName ! video); if (t.isDynamic) { // get video from src or href? t.isVideo t.options.isVideo; } else { t.isVideo (tagName ! audio && t.options.isVideo); } // use native controls in iPad, iPhone, and Android if ((mf.isiPad && t.options.iPadUseNativeControls) || (mf.isiPhone && t.options.iPhoneUseNativeControls)) { // add controls and stop t.$media.attr(controls, controls); // attempt to fix iOS 3 bug //t.$media.removeAttr(poster); // no Issue found on iOS3 -ttroxell // override Apples autoplay override for iPads if (mf.isiPad && t.media.getAttribute(autoplay) ! null) { t.play(); } } else if (mf.isAndroid && t.options.AndroidUseNativeControls) { // leave default player } else { // DESKTOP: use MediaElementPlayer controls // remove native controls t.$media.removeAttr(controls); // build container t.container $(div id + t.id + classmejs-container + (mejs.MediaFeatures.svg ? svg : no-svg) + >+ div classmejs-inner>+ div classmejs-mediaelement>/div>+ div classmejs-layers>/div>+ div classmejs-controls>/div>+ div classmejs-clear>/div>+ /div> + /div>) .addClass(t.$media0.className) .insertBefore(t.$media); // add classes for user and content t.container.addClass( (mf.isAndroid ? mejs-android : ) + (mf.isiOS ? mejs-ios : ) + (mf.isiPad ? mejs-ipad : ) + (mf.isiPhone ? mejs-iphone : ) + (t.isVideo ? mejs-video : mejs-audio ) ); // move the video/video> tag into the right spot if (mf.isiOS) { // sadly, you cant move nodes in iOS, so we have to destroy and recreate it! var $newMedia t.$media.clone(); t.container.find(.mejs-mediaelement).append($newMedia); t.$media.remove(); t.$node t.$media $newMedia; t.node t.media $newMedia0 } else { // normal way of moving it into place (doesnt work on iOS) t.container.find(.mejs-mediaelement).append(t.$media); } // find parts t.controls t.container.find(.mejs-controls); t.layers t.container.find(.mejs-layers); // determine the size /* size priority: (1) videoWidth (forced), (2) stylewidth;height; (3) width attribute, (4) defaultVideoWidth (for unspecified cases) */ var tagType (t.isVideo ? video : audio), capsTagName tagType.substring(0,1).toUpperCase() + tagType.substring(1); if (t.optionstagType + Width > 0 || t.optionstagType + Width.toString().indexOf(%) > -1) { t.width t.optionstagType + Width; } else if (t.media.style.width ! && t.media.style.width ! null) { t.width t.media.style.width; } else if (t.media.getAttribute(width) ! null) { t.width t.$media.attr(width); } else { t.width t.optionsdefault + capsTagName + Width; } if (t.optionstagType + Height > 0 || t.optionstagType + Height.toString().indexOf(%) > -1) { t.height t.optionstagType + Height; } else if (t.media.style.height ! && t.media.style.height ! null) { t.height t.media.style.height; } else if (t.$media0.getAttribute(height) ! null) { t.height t.$media.attr(height); } else { t.height t.optionsdefault + capsTagName + Height; } // set the size, while we wait for the plugins to load below t.setPlayerSize(t.width, t.height); // create MediaElementShim meOptions.pluginWidth t.width; meOptions.pluginHeight t.height; } // create MediaElement shim mejs.MediaElement(t.$media0, meOptions); if (typeof(t.container) ! undefined && t.controlsAreVisible){ // controls are shown when loaded t.container.trigger(controlsshown); } }, showControls: function(doAnimation) { var t this; doAnimation typeof doAnimation undefined || doAnimation; if (t.controlsAreVisible) return; if (doAnimation) { t.controls .css(visibility,visible) .stop(true, true).fadeIn(200, function() { t.controlsAreVisible true; t.container.trigger(controlsshown); }); // any additional controls people might add and want to hide t.container.find(.mejs-control) .css(visibility,visible) .stop(true, true).fadeIn(200, function() {t.controlsAreVisible true;}); } else { t.controls .css(visibility,visible) .css(display,block); // any additional controls people might add and want to hide t.container.find(.mejs-control) .css(visibility,visible) .css(display,block); t.controlsAreVisible true; t.container.trigger(controlsshown); } t.setControlsSize(); }, hideControls: function(doAnimation) { var t this; doAnimation typeof doAnimation undefined || doAnimation; if (!t.controlsAreVisible || t.options.alwaysShowControls) return; if (doAnimation) { // fade out main controls t.controls.stop(true, true).fadeOut(200, function() { $(this) .css(visibility,hidden) .css(display,block); t.controlsAreVisible false; t.container.trigger(controlshidden); }); // any additional controls people might add and want to hide t.container.find(.mejs-control).stop(true, true).fadeOut(200, function() { $(this) .css(visibility,hidden) .css(display,block); }); } else { // hide main controls t.controls .css(visibility,hidden) .css(display,block); // hide others t.container.find(.mejs-control) .css(visibility,hidden) .css(display,block); t.controlsAreVisible false; t.container.trigger(controlshidden); } }, controlsTimer: null, startControlsTimer: function(timeout) { var t this; timeout typeof timeout ! undefined ? timeout : 1500; t.killControlsTimer(start); t.controlsTimer setTimeout(function() { // t.hideControls(); t.killControlsTimer(hide); }, timeout); }, killControlsTimer: function(src) { var t this; if (t.controlsTimer ! null) { clearTimeout(t.controlsTimer); delete t.controlsTimer; t.controlsTimer null; } }, controlsEnabled: true, disableControls: function() { var t this; t.killControlsTimer(); t.hideControls(false); this.controlsEnabled false; }, enableControls: function() { var t this; t.showControls(false); t.controlsEnabled true; }, // Sets up all controls and events meReady: function(media, domNode) { var t this, mf mejs.MediaFeatures, autoplayAttr domNode.getAttribute(autoplay), autoplay !(typeof autoplayAttr undefined || autoplayAttr null || autoplayAttr false), featureIndex, feature; // make sure it cant create itself again if a plugin reloads if (t.created) { return; } else { t.created true; } t.media media; t.domNode domNode; if (!(mf.isAndroid && t.options.AndroidUseNativeControls) && !(mf.isiPad && t.options.iPadUseNativeControls) && !(mf.isiPhone && t.options.iPhoneUseNativeControls)) { // two built in features t.buildposter(t, t.controls, t.layers, t.media); t.buildkeyboard(t, t.controls, t.layers, t.media); t.buildoverlays(t, t.controls, t.layers, t.media); // grab for use by features t.findTracks(); // add user-defined features/controls for (featureIndex in t.options.features) { feature t.options.featuresfeatureIndex; if (tbuild + feature) { try { tbuild + feature(t, t.controls, t.layers, t.media); } catch (e) { // TODO: report control error //throw e; // // } } } t.container.trigger(controlsready); // reset all layers and controls t.setPlayerSize(t.width, t.height); t.setControlsSize(); // controls fade if (t.isVideo) { if (mejs.MediaFeatures.hasTouch) { // for touch devices (iOS, Android) // show/hide without animation on touch t.$media.bind(touchstart, function() { // toggle controls if (t.controlsAreVisible) { t.hideControls(false); } else { if (t.controlsEnabled) { t.showControls(false); } } }); } else { // create callback here since it needs access to current // MediaElement object mejs.MediaElementPlayer.prototype.clickToPlayPauseCallback function() { // if (t.options.clickToPlayPause) { if (t.media.paused) { t.play(); } else { t.pause(); } } }; // click to play/pause t.media.addEventListener(click, t.clickToPlayPauseCallback, false); // show/hide controls t.container .bind(mouseenter mouseover, function () { if (t.controlsEnabled) { if (!t.options.alwaysShowControls) { t.killControlsTimer(enter); t.showControls(); t.startControlsTimer(2500); } } }) .bind(mousemove, function() { if (t.controlsEnabled) { if (!t.controlsAreVisible) { t.showControls(); } //t.killControlsTimer(move); if (!t.options.alwaysShowControls) { t.startControlsTimer(2500); } } }) .bind(mouseleave, function () { if (t.controlsEnabled) { if (!t.media.paused && !t.options.alwaysShowControls) { t.startControlsTimer(1000); } } }); } if(t.options.hideVideoControlsOnLoad) { t.hideControls(false); } // check for autoplay if (autoplay && !t.options.alwaysShowControls) { t.hideControls(); } // resizer if (t.options.enableAutosize) { t.media.addEventListener(loadedmetadata, function(e) { // if the video height> was not set and the options.videoHeight was not set // then resize to the real dimensions if (t.options.videoHeight 0 && t.domNode.getAttribute(height) null && !isNaN(e.target.videoHeight)) { t.setPlayerSize(e.target.videoWidth, e.target.videoHeight); t.setControlsSize(); t.media.setVideoSize(e.target.videoWidth, e.target.videoHeight); } }, false); } } // EVENTS // FOCUS: when a video starts playing, it takes focus from other players (possibily pausing them) media.addEventListener(play, function() { var playerIndex; // go through all other players for (playerIndex in mejs.players) { var p mejs.playersplayerIndex; if (p.id ! t.id && t.options.pauseOtherPlayers && !p.paused && !p.ended) { p.pause(); } p.hasFocus false; } t.hasFocus true; },false); // ended for all t.media.addEventListener(ended, function (e) { if(t.options.autoRewind) { try{ t.media.setCurrentTime(0); } catch (exp) { } } t.media.pause(); if (t.setProgressRail) { t.setProgressRail(); } if (t.setCurrentRail) { t.setCurrentRail(); } if (t.options.loop) { t.play(); } else if (!t.options.alwaysShowControls && t.controlsEnabled) { t.showControls(); } }, false); // resize on the first play t.media.addEventListener(loadedmetadata, function(e) { if (t.updateDuration) { t.updateDuration(); } if (t.updateCurrent) { t.updateCurrent(); } if (!t.isFullScreen) { t.setPlayerSize(t.width, t.height); t.setControlsSize(); } }, false); // webkit has trouble doing this without a delay setTimeout(function () { t.setPlayerSize(t.width, t.height); t.setControlsSize(); }, 50); // adjust controls whenever window sizes (used to be in fullscreen only) t.globalBind(resize, function() { // dont resize for fullscreen mode if ( !(t.isFullScreen || (mejs.MediaFeatures.hasTrueNativeFullScreen && document.webkitIsFullScreen)) ) { t.setPlayerSize(t.width, t.height); } // always adjust controls t.setControlsSize(); }); // TEMP: needs to be moved somewhere else if (t.media.pluginType youtube) { t.container.find(.mejs-overlay-play).hide(); } } // force autoplay for HTML5 if (autoplay && media.pluginType native) { t.play(); } if (t.options.success) { if (typeof t.options.success string) { windowt.options.success(t.media, t.domNode, t); } else { t.options.success(t.media, t.domNode, t); } } }, handleError: function(e) { var t this; t.controls.hide(); // Tell user that the file cannot be played if (t.options.error) { t.options.error(e); } }, setPlayerSize: function(width,height) { var t this; if (typeof width ! undefined) { t.width width; } if (typeof height ! undefined) { t.height height; } // detect 100% mode - use currentStyle for IE since css() doesnt return percentages if (t.height.toString().indexOf(%) > 0 || t.$node.css(max-width) 100% || parseInt(t.$node.css(max-width).replace(/px/,), 10) / t.$node.offsetParent().width() 1 || (t.$node0.currentStyle && t.$node0.currentStyle.maxWidth 100%)) { // do we have the native dimensions yet? var nativeWidth t.isVideo ? ((t.media.videoWidth && t.media.videoWidth > 0) ? t.media.videoWidth : t.options.defaultVideoWidth) : t.options.defaultAudioWidth, nativeHeight t.isVideo ? ((t.media.videoHeight && t.media.videoHeight > 0) ? t.media.videoHeight : t.options.defaultVideoHeight) : t.options.defaultAudioHeight, parentWidth t.container.parent().closest(:visible).width(), newHeight t.isVideo || !t.options.autosizeProgress ? parseInt(parentWidth * nativeHeight/nativeWidth, 10) : nativeHeight; if (t.container.parent()0.tagName.toLowerCase() body) { // && t.container.siblings().count 0) { parentWidth $(window).width(); newHeight $(window).height(); } if ( newHeight ! 0 && parentWidth ! 0 ) { // set outer container size t.container .width(parentWidth) .height(newHeight); // set native video> or audio> and shims t.$media.add(t.container.find(.mejs-shim)) .width(100%) .height(100%); // if shim is ready, send the size to the embeded plugin if (t.isVideo) { if (t.media.setVideoSize) { t.media.setVideoSize(parentWidth, newHeight); } } // set the layers t.layers.children(.mejs-layer) .width(100%) .height(100%); } } else { t.container .width(t.width) .height(t.height); t.layers.children(.mejs-layer) .width(t.width) .height(t.height); } // special case for big play button so it doesnt go over the controls area var playLayer t.layers.find(.mejs-overlay-play), playButton playLayer.find(.mejs-overlay-button); playLayer.height(t.container.height() - t.controls.height()); playButton.css(margin-top, - + (playButton.height()/2 - t.controls.height()/2).toString() + px ); }, setControlsSize: function() { var t this, usedWidth 0, railWidth 0, rail t.controls.find(.mejs-time-rail), total t.controls.find(.mejs-time-total), current t.controls.find(.mejs-time-current), loaded t.controls.find(.mejs-time-loaded), others rail.siblings(); // allow the size to come from custom CSS if (t.options && !t.options.autosizeProgress) { // Also, frontends devs can be more flexible // due the opportunity of absolute positioning. railWidth parseInt(rail.css(width)); } // attempt to autosize if (railWidth 0 || !railWidth) { // find the size of all the other controls besides the rail others.each(function() { var $this $(this); if ($this.css(position) ! absolute && $this.is(:visible)) { usedWidth + $(this).outerWidth(true); } }); // fit the rail into the remaining space railWidth t.controls.width() - usedWidth - 10 - (rail.outerWidth(true) - rail.width()); } // outer area rail.width(railWidth); // dark space total.width(railWidth - (total.outerWidth(true) - total.width()) - 5); if (t.setProgressRail) t.setProgressRail(); if (t.setCurrentRail) t.setCurrentRail(); }, buildposter: function(player, controls, layers, media) { var t this, poster $(div classmejs-poster mejs-layer> + /div>) .appendTo(layers), posterUrl player.$media.attr(poster); // prioriy goes to option (this is useful if you need to support iOS 3.x (iOS completely fails with poster) if (player.options.poster ! ) { posterUrl player.options.poster; } // second, try the real poster if (posterUrl ! && posterUrl ! null) { t.setPoster(posterUrl); } else { poster.hide(); } media.addEventListener(play,function() { poster.hide(); }, false); if(player.options.showPosterWhenEnded && player.options.autoRewind){ media.addEventListener(ended,function() { poster.show(); }, false); } }, setPoster: function(url) { var t this, posterDiv t.container.find(.mejs-poster), posterImg posterDiv.find(img); if (posterImg.length 0) { posterImg $(img width100% height100% />).appendTo(posterDiv); } posterImg.attr(src, url); posterDiv.css({background-image : url( + url + )}); }, buildoverlays: function(player, controls, layers, media) { var t this; if (!player.isVideo) return; var loading $(div classmejs-overlay mejs-layer>+ div classmejs-overlay-loading>span>/span>/div>+ /div>) .hide() // start out hidden .appendTo(layers), error $(div classmejs-overlay mejs-layer>+ div classmejs-overlay-error>/div>+ /div>) .hide() // start out hidden .appendTo(layers), // this needs to come last so its on top bigPlay $(div classmejs-overlay mejs-layer mejs-overlay-play>+ div classmejs-overlay-button>/div>+ /div>) .appendTo(layers) .bind(click touchstart, function() { if (t.options.clickToPlayPause) { if (media.paused) { t.play(); } } }); /* if (mejs.MediaFeatures.isiOS || mejs.MediaFeatures.isAndroid) { bigPlay.remove(); loading.remove(); } */ // show/hide big play button media.addEventListener(play,function() { bigPlay.hide(); loading.hide(); controls.find(.mejs-time-buffering).hide(); error.hide(); }, false); media.addEventListener(playing, function() { bigPlay.hide(); loading.hide(); controls.find(.mejs-time-buffering).hide(); error.hide(); }, false); media.addEventListener(seeking, function() { loading.show(); controls.find(.mejs-time-buffering).show(); }, false); media.addEventListener(seeked, function() { loading.hide(); controls.find(.mejs-time-buffering).hide(); }, false); media.addEventListener(pause,function() { if (!mejs.MediaFeatures.isiPhone) { bigPlay.show(); } }, false); media.addEventListener(waiting, function() { loading.show(); controls.find(.mejs-time-buffering).show(); }, false); // show/hide loading media.addEventListener(loadeddata,function() { // for some reason Chrome is firing this event //if (mejs.MediaFeatures.isChrome && media.getAttribute && media.getAttribute(preload) none) // return; loading.show(); controls.find(.mejs-time-buffering).show(); }, false); media.addEventListener(canplay,function() { loading.hide(); controls.find(.mejs-time-buffering).hide(); }, false); // error handling media.addEventListener(error,function() { loading.hide(); controls.find(.mejs-time-buffering).hide(); error.show(); error.find(mejs-overlay-error).html(Error loading this resource); }, false); }, buildkeyboard: function(player, controls, layers, media) { var t this; // listen for key presses t.globalBind(keydown, function(e) { if (player.hasFocus && player.options.enableKeyboard) { // find a matching key for (var i0, ilplayer.options.keyActions.length; iil; i++) { var keyAction player.options.keyActionsi; for (var j0, jlkeyAction.keys.length; jjl; j++) { if (e.keyCode keyAction.keysj) { e.preventDefault(); keyAction.action(player, media, e.keyCode); return false; } } } } return true; }); // check if someone clicked outside a player region, then kill its focus t.globalBind(click, function(event) { if ($(event.target).closest(.mejs-container).length 0) { player.hasFocus false; } }); }, findTracks: function() { var t this, tracktags t.$media.find(track); // store for use by plugins t.tracks ; tracktags.each(function(index, track) { track $(track); t.tracks.push({ srclang: (track.attr(srclang)) ? track.attr(srclang).toLowerCase() : , src: track.attr(src), kind: track.attr(kind), label: track.attr(label) || , entries: , isLoaded: false }); }); }, changeSkin: function(className) { this.container0.className mejs-container + className; this.setPlayerSize(this.width, this.height); this.setControlsSize(); }, play: function() { this.load(); this.media.play(); }, pause: function() { try { this.media.pause(); } catch (e) {} }, load: function() { if (!this.isLoaded) { this.media.load(); } this.isLoaded true; }, setMuted: function(muted) { this.media.setMuted(muted); }, setCurrentTime: function(time) { this.media.setCurrentTime(time); }, getCurrentTime: function() { return this.media.currentTime; }, setVolume: function(volume) { this.media.setVolume(volume); }, getVolume: function() { return this.media.volume; }, setSrc: function(src) { this.media.setSrc(src); }, remove: function() { var t this, featureIndex, feature; // invoke features cleanup for (featureIndex in t.options.features) { feature t.options.featuresfeatureIndex; if (tclean + feature) { try { tclean + feature(t); } catch (e) { // TODO: report control error //throw e; // // } } } // grab video and put it back in place if (!t.isDynamic) { t.$media.prop(controls, true); // detach events from the video // TODO: detach event listeners better than this; // also detach ONLY the events attached by this plugin! t.$node.clone().show().insertBefore(t.container); t.$node.remove(); } else { t.$node.insertBefore(t.container); } if (t.media.pluginType ! native) { t.media.remove(); } // Remove the player from the mejs.players object so that pauseOtherPlayers doesnt blow up when trying to pause a non existance flash api. delete mejs.playerst.id; t.container.remove(); t.globalUnbind(); delete t.node.player; } }; (function(){ var rwindow /^((after|before)print|(before)?unload|hashchange|message|o(ff|n)line|page(hide|show)|popstate|resize|storage)\b/; function splitEvents(events, id) { // add player ID as an event namespace so its easier to unbind them all later var ret {d: , w: }; $.each((events || ).split( ), function(k, v){ var eventname v + . + id; if (eventname.indexOf(.) 0) { ret.d.push(eventname); ret.w.push(eventname); } else { retrwindow.test(v) ? w : d.push(eventname); } }); ret.d ret.d.join( ); ret.w ret.w.join( ); return ret; } mejs.MediaElementPlayer.prototype.globalBind function(events, data, callback) { var t this; events splitEvents(events, t.id); if (events.d) $(document).bind(events.d, data, callback); if (events.w) $(window).bind(events.w, data, callback); }; mejs.MediaElementPlayer.prototype.globalUnbind function(events, callback) { var t this; events splitEvents(events, t.id); if (events.d) $(document).unbind(events.d, callback); if (events.w) $(window).unbind(events.w, callback); }; })(); // turn into jQuery plugin if (typeof jQuery ! undefined) { jQuery.fn.mediaelementplayer function (options) { if (options false) { this.each(function () { var player jQuery(this).data(mediaelementplayer); if (player) { player.remove(); } jQuery(this).removeData(mediaelementplayer); }); } else { this.each(function () { jQuery(this).data(mediaelementplayer, new mejs.MediaElementPlayer(this, options)); }); } return this; }; } $(document).ready(function() { // auto enable using JSON attribute $(.mejs-player).mediaelementplayer(); }); // push out to window window.MediaElementPlayer mejs.MediaElementPlayer;})(mejs.$);(function($) { $.extend(mejs.MepDefaults, { playpauseText: mejs.i18n.t(Play/Pause) }); // PLAY/pause BUTTON $.extend(MediaElementPlayer.prototype, { buildplaypause: function(player, controls, layers, media) { var t this, play $(div classmejs-button mejs-playpause-button mejs-play > + button typebutton aria-controls + t.id + title + t.options.playpauseText + aria-label + t.options.playpauseText + >/button> + /div>) .appendTo(controls) .click(function(e) { e.preventDefault(); if (media.paused) { media.play(); } else { media.pause(); } return false; }); media.addEventListener(play,function() { play.removeClass(mejs-play).addClass(mejs-pause); }, false); media.addEventListener(playing,function() { play.removeClass(mejs-play).addClass(mejs-pause); }, false); media.addEventListener(pause,function() { play.removeClass(mejs-pause).addClass(mejs-play); }, false); media.addEventListener(paused,function() { play.removeClass(mejs-pause).addClass(mejs-play); }, false); } }); })(mejs.$);(function($) { $.extend(mejs.MepDefaults, { stopText: Stop }); // STOP BUTTON $.extend(MediaElementPlayer.prototype, { buildstop: function(player, controls, layers, media) { var t this, stop $(div classmejs-button mejs-stop-button mejs-stop> + button typebutton aria-controls + t.id + title + t.options.stopText + aria-label + t.options.stopText + >/button> + /div>) .appendTo(controls) .click(function() { if (!media.paused) { media.pause(); } if (media.currentTime > 0) { media.setCurrentTime(0); media.pause(); controls.find(.mejs-time-current).width(0px); controls.find(.mejs-time-handle).css(left, 0px); controls.find(.mejs-time-float-current).html( mejs.Utility.secondsToTimeCode(0) ); controls.find(.mejs-currenttime).html( mejs.Utility.secondsToTimeCode(0) ); layers.find(.mejs-poster).show(); } }); } }); })(mejs.$);(function($) { // progress/loaded bar $.extend(MediaElementPlayer.prototype, { buildprogress: function(player, controls, layers, media) { $(div classmejs-time-rail>+ span classmejs-time-total>+ span classmejs-time-buffering>/span>+ span classmejs-time-loaded>/span>+ span classmejs-time-current>/span>+ span classmejs-time-handle>/span>+ span classmejs-time-float> + span classmejs-time-float-current>00:00/span> + span classmejs-time-float-corner>/span> + /span>+ /span>+ /div>) .appendTo(controls); controls.find(.mejs-time-buffering).hide(); var t this, total controls.find(.mejs-time-total), loaded controls.find(.mejs-time-loaded), current controls.find(.mejs-time-current), handle controls.find(.mejs-time-handle), timefloat controls.find(.mejs-time-float), timefloatcurrent controls.find(.mejs-time-float-current), handleMouseMove function (e) { // mouse position relative to the object var x e.pageX, offset total.offset(), width total.outerWidth(true), percentage 0, newTime 0, pos 0; if (media.duration) { if (x offset.left) { x offset.left; } else if (x > width + offset.left) { x width + offset.left; } pos x - offset.left; percentage (pos / width); newTime (percentage 0.02) ? 0 : percentage * media.duration; // seek to where the mouse is if (mouseIsDown && newTime ! media.currentTime) { media.setCurrentTime(newTime); } // position floating time box if (!mejs.MediaFeatures.hasTouch) { timefloat.css(left, pos); timefloatcurrent.html( mejs.Utility.secondsToTimeCode(newTime) ); timefloat.show(); } } }, mouseIsDown false, mouseIsOver false; // handle clicks //controls.find(.mejs-time-rail).delegate(span, click, handleMouseMove); total .bind(mousedown, function (e) { // only handle left clicks if (e.which 1) { mouseIsDown true; handleMouseMove(e); t.globalBind(mousemove.dur, function(e) { handleMouseMove(e); }); t.globalBind(mouseup.dur, function (e) { mouseIsDown false; timefloat.hide(); t.globalUnbind(.dur); }); return false; } }) .bind(mouseenter, function(e) { mouseIsOver true; t.globalBind(mousemove.dur, function(e) { handleMouseMove(e); }); if (!mejs.MediaFeatures.hasTouch) { timefloat.show(); } }) .bind(mouseleave,function(e) { mouseIsOver false; if (!mouseIsDown) { t.globalUnbind(.dur); timefloat.hide(); } }); // loading media.addEventListener(progress, function (e) { player.setProgressRail(e); player.setCurrentRail(e); }, false); // current time media.addEventListener(timeupdate, function(e) { player.setProgressRail(e); player.setCurrentRail(e); }, false); // store for later use t.loaded loaded; t.total total; t.current current; t.handle handle; }, setProgressRail: function(e) { var t this, target (e ! undefined) ? e.target : t.media, percent null; // newest HTML5 spec has buffered array (FF4, Webkit) if (target && target.buffered && target.buffered.length > 0 && target.buffered.end && target.duration) { // TODO: account for a real array with multiple values (only Firefox 4 has this so far) percent target.buffered.end(0) / target.duration; } // Some browsers (e.g., FF3.6 and Safari 5) cannot calculate target.bufferered.end() // to be anything other than 0. If the byte count is available we use this instead. // Browsers that support the else if do not seem to have the bufferedBytes value and // should skip to there. Tested in Safari 5, Webkit head, FF3.6, Chrome 6, IE 7/8. else if (target && target.bytesTotal ! undefined && target.bytesTotal > 0 && target.bufferedBytes ! undefined) { percent target.bufferedBytes / target.bytesTotal; } // Firefox 3 with an Ogg file seems to go this way else if (e && e.lengthComputable && e.total ! 0) { percent e.loaded/e.total; } // finally update the progress bar if (percent ! null) { percent Math.min(1, Math.max(0, percent)); // update loaded bar if (t.loaded && t.total) { t.loaded.width(t.total.width() * percent); } } }, setCurrentRail: function() { var t this; if (t.media.currentTime ! undefined && t.media.duration) { // update bar and handle if (t.total && t.handle) { var newWidth Math.round(t.total.width() * t.media.currentTime / t.media.duration), handlePos newWidth - Math.round(t.handle.outerWidth(true) / 2); t.current.width(newWidth); t.handle.css(left, handlePos); } } } });})(mejs.$);(function($) { // options $.extend(mejs.MepDefaults, { duration: -1, timeAndDurationSeparator: span> | /span> }); // current and duration 00:00 / 00:00 $.extend(MediaElementPlayer.prototype, { buildcurrent: function(player, controls, layers, media) { var t this; $(div classmejs-time>+ span classmejs-currenttime> + (player.options.alwaysShowHours ? 00: : ) + (player.options.showTimecodeFrameCount? 00:00:00:00:00)+ /span>+ /div>) .appendTo(controls); t.currenttime t.controls.find(.mejs-currenttime); media.addEventListener(timeupdate,function() { player.updateCurrent(); }, false); }, buildduration: function(player, controls, layers, media) { var t this; if (controls.children().last().find(.mejs-currenttime).length > 0) { $(t.options.timeAndDurationSeparator + span classmejs-duration> + (t.options.duration > 0 ? mejs.Utility.secondsToTimeCode(t.options.duration, t.options.alwaysShowHours || t.media.duration > 3600, t.options.showTimecodeFrameCount, t.options.framesPerSecond || 25) : ((player.options.alwaysShowHours ? 00: : ) + (player.options.showTimecodeFrameCount? 00:00:00:00:00)) ) + /span>) .appendTo(controls.find(.mejs-time)); } else { // add class to current time controls.find(.mejs-currenttime).parent().addClass(mejs-currenttime-container); $(div classmejs-time mejs-duration-container>+ span classmejs-duration> + (t.options.duration > 0 ? mejs.Utility.secondsToTimeCode(t.options.duration, t.options.alwaysShowHours || t.media.duration > 3600, t.options.showTimecodeFrameCount, t.options.framesPerSecond || 25) : ((player.options.alwaysShowHours ? 00: : ) + (player.options.showTimecodeFrameCount? 00:00:00:00:00)) ) + /span> + /div>) .appendTo(controls); } t.durationD t.controls.find(.mejs-duration); media.addEventListener(timeupdate,function() { player.updateDuration(); }, false); }, updateCurrent: function() { var t this; if (t.currenttime) { t.currenttime.html(mejs.Utility.secondsToTimeCode(t.media.currentTime, t.options.alwaysShowHours || t.media.duration > 3600, t.options.showTimecodeFrameCount, t.options.framesPerSecond || 25)); } }, updateDuration: function() { var t this; //Toggle the long video class if the video is longer than an hour. t.container.toggleClass(mejs-long-video, t.media.duration > 3600); if (t.durationD && (t.options.duration > 0 || t.media.duration)) { t.durationD.html(mejs.Utility.secondsToTimeCode(t.options.duration > 0 ? t.options.duration : t.media.duration, t.options.alwaysShowHours, t.options.showTimecodeFrameCount, t.options.framesPerSecond || 25)); } } });})(mejs.$);(function($) { $.extend(mejs.MepDefaults, { muteText: mejs.i18n.t(Mute Toggle), hideVolumeOnTouchDevices: true, audioVolume: horizontal, videoVolume: vertical }); $.extend(MediaElementPlayer.prototype, { buildvolume: function(player, controls, layers, media) { // Android and iOS dont support volume controls if (mejs.MediaFeatures.hasTouch && this.options.hideVolumeOnTouchDevices) return; var t this, mode (t.isVideo) ? t.options.videoVolume : t.options.audioVolume, mute (mode horizontal) ? // horizontal version $(div classmejs-button mejs-volume-button mejs-mute>+ button typebutton aria-controls + t.id + title + t.options.muteText + aria-label + t.options.muteText + >/button>+ /div> + div classmejs-horizontal-volume-slider>+ // outer background div classmejs-horizontal-volume-total>/div>+ // line background div classmejs-horizontal-volume-current>/div>+ // current volume div classmejs-horizontal-volume-handle>/div>+ // handle /div> ) .appendTo(controls) : // vertical version $(div classmejs-button mejs-volume-button mejs-mute>+ button typebutton aria-controls + t.id + title + t.options.muteText + aria-label + t.options.muteText + >/button>+ div classmejs-volume-slider>+ // outer background div classmejs-volume-total>/div>+ // line background div classmejs-volume-current>/div>+ // current volume div classmejs-volume-handle>/div>+ // handle /div>+ /div>) .appendTo(controls), volumeSlider t.container.find(.mejs-volume-slider, .mejs-horizontal-volume-slider), volumeTotal t.container.find(.mejs-volume-total, .mejs-horizontal-volume-total), volumeCurrent t.container.find(.mejs-volume-current, .mejs-horizontal-volume-current), volumeHandle t.container.find(.mejs-volume-handle, .mejs-horizontal-volume-handle), positionVolumeHandle function(volume, secondTry) { if (!volumeSlider.is(:visible) && typeof secondTry undefined) { volumeSlider.show(); positionVolumeHandle(volume, true); volumeSlider.hide() return; } // correct to 0-1 volume Math.max(0,volume); volume Math.min(volume,1); // ajust mute button style if (volume 0) { mute.removeClass(mejs-mute).addClass(mejs-unmute); } else { mute.removeClass(mejs-unmute).addClass(mejs-mute); } // position slider if (mode vertical) { var // height of the full size volume slider background totalHeight volumeTotal.height(), // top/left of full size volume slider background totalPosition volumeTotal.position(), // the new top position based on the current volume // 70% volume on 100px height top:30px newTop totalHeight - (totalHeight * volume); // handle volumeHandle.css(top, Math.round(totalPosition.top + newTop - (volumeHandle.height() / 2))); // show the current visibility volumeCurrent.height(totalHeight - newTop ); volumeCurrent.css(top, totalPosition.top + newTop); } else { var // height of the full size volume slider background totalWidth volumeTotal.width(), // top/left of full size volume slider background totalPosition volumeTotal.position(), // the new left position based on the current volume newLeft totalWidth * volume; // handle volumeHandle.css(left, Math.round(totalPosition.left + newLeft - (volumeHandle.width() / 2))); // rezize the current part of the volume bar volumeCurrent.width( Math.round(newLeft) ); } }, handleVolumeMove function(e) { var volume null, totalOffset volumeTotal.offset(); // calculate the new volume based on the moust position if (mode vertical) { var railHeight volumeTotal.height(), totalTop parseInt(volumeTotal.css(top).replace(/px/,),10), newY e.pageY - totalOffset.top; volume (railHeight - newY) / railHeight; // the controls just hide themselves (usually when mouse moves too far up) if (totalOffset.top 0 || totalOffset.left 0) return; } else { var railWidth volumeTotal.width(), newX e.pageX - totalOffset.left; volume newX / railWidth; } // ensure the volume isnt outside 0-1 volume Math.max(0,volume); volume Math.min(volume,1); // position the slider and handle positionVolumeHandle(volume); // set the media object (this will trigger the volumechanged event) if (volume 0) { media.setMuted(true); } else { media.setMuted(false); } media.setVolume(volume); }, mouseIsDown false, mouseIsOver false; // SLIDER mute .hover(function() { volumeSlider.show(); mouseIsOver true; }, function() { mouseIsOver false; if (!mouseIsDown && mode vertical) { volumeSlider.hide(); } }); volumeSlider .bind(mouseover, function() { mouseIsOver true; }) .bind(mousedown, function (e) { handleVolumeMove(e); t.globalBind(mousemove.vol, function(e) { handleVolumeMove(e); }); t.globalBind(mouseup.vol, function () { mouseIsDown false; t.globalUnbind(.vol); if (!mouseIsOver && mode vertical) { volumeSlider.hide(); } }); mouseIsDown true; return false; }); // MUTE button mute.find(button).click(function() { media.setMuted( !media.muted ); }); // listen for volume change events from other sources media.addEventListener(volumechange, function(e) { if (!mouseIsDown) { if (media.muted) { positionVolumeHandle(0); mute.removeClass(mejs-mute).addClass(mejs-unmute); } else { positionVolumeHandle(media.volume); mute.removeClass(mejs-unmute).addClass(mejs-mute); } } }, false); if (t.container.is(:visible)) { // set initial volume positionVolumeHandle(player.options.startVolume); // mutes the media and sets the volume icon muted if the initial volume is set to 0 if (player.options.startVolume 0) { media.setMuted(true); } // shim gets the startvolume as a parameter, but we have to set it on the native video> and audio> elements if (media.pluginType native) { media.setVolume(player.options.startVolume); } } } }); })(mejs.$);(function($) { $.extend(mejs.MepDefaults, { usePluginFullScreen: true, newWindowCallback: function() { return ;}, fullscreenText: mejs.i18n.t(Fullscreen) }); $.extend(MediaElementPlayer.prototype, { isFullScreen: false, isNativeFullScreen: false, isInIframe: false, buildfullscreen: function(player, controls, layers, media) { if (!player.isVideo) return; player.isInIframe (window.location ! window.parent.location); // native events if (mejs.MediaFeatures.hasTrueNativeFullScreen) { // chrome doesnt alays fire this in an iframe var func function(e) { if (player.isFullScreen) { if (mejs.MediaFeatures.isFullScreen()) { player.isNativeFullScreen true; // reset the controls once we are fully in full screen player.setControlsSize(); } else { player.isNativeFullScreen false; // when a user presses ESC // make sure to put the player back into place player.exitFullScreen(); } } }; if (mejs.MediaFeatures.hasMozNativeFullScreen) { player.globalBind(mejs.MediaFeatures.fullScreenEventName, func); } else { player.container.bind(mejs.MediaFeatures.fullScreenEventName, func); } } var t this, normalHeight 0, normalWidth 0, container player.container, fullscreenBtn $(div classmejs-button mejs-fullscreen-button> + button typebutton aria-controls + t.id + title + t.options.fullscreenText + aria-label + t.options.fullscreenText + >/button> + /div>) .appendTo(controls); if (t.media.pluginType native || (!t.options.usePluginFullScreen && !mejs.MediaFeatures.isFirefox)) { fullscreenBtn.click(function() { var isFullScreen (mejs.MediaFeatures.hasTrueNativeFullScreen && mejs.MediaFeatures.isFullScreen()) || player.isFullScreen; if (isFullScreen) { player.exitFullScreen(); } else { player.enterFullScreen(); } }); } else { var hideTimeout null, supportsPointerEvents (function() { // TAKEN FROM MODERNIZR var element document.createElement(x), documentElement document.documentElement, getComputedStyle window.getComputedStyle, supports; if(!(pointerEvents in element.style)){ return false; } element.style.pointerEvents auto; element.style.pointerEvents x; documentElement.appendChild(element); supports getComputedStyle && getComputedStyle(element, ).pointerEvents auto; documentElement.removeChild(element); return !!supports; })(); // if (supportsPointerEvents && !mejs.MediaFeatures.isOpera) { // opera doesnt allow this :( // allows clicking through the fullscreen button and controls down directly to Flash /* When a user puts his mouse over the fullscreen button, the controls are disabled So we put a div over the video and another one on iether side of the fullscreen button that caputre mouse movement and restore the controls once the mouse moves outside of the fullscreen button */ var fullscreenIsDisabled false, restoreControls function() { if (fullscreenIsDisabled) { // hide the hovers for (var i in hoverDivs) { hoverDivsi.hide(); } // restore the control bar fullscreenBtn.css(pointer-events, ); t.controls.css(pointer-events, ); // prevent clicks from pausing video t.media.removeEventListener(click, t.clickToPlayPauseCallback); // store for later fullscreenIsDisabled false; } }, hoverDivs {}, hoverDivNames top, left, right, bottom, i, len, positionHoverDivs function() { var fullScreenBtnOffsetLeft fullscreenBtn.offset().left - t.container.offset().left, fullScreenBtnOffsetTop fullscreenBtn.offset().top - t.container.offset().top, fullScreenBtnWidth fullscreenBtn.outerWidth(true), fullScreenBtnHeight fullscreenBtn.outerHeight(true), containerWidth t.container.width(), containerHeight t.container.height(); for (i in hoverDivs) { hoverDivsi.css({position: absolute, top: 0, left: 0}); //, backgroundColor: #f00}); } // over video, but not controls hoverDivstop .width( containerWidth ) .height( fullScreenBtnOffsetTop ); // over controls, but not the fullscreen button hoverDivsleft .width( fullScreenBtnOffsetLeft ) .height( fullScreenBtnHeight ) .css({top: fullScreenBtnOffsetTop}); // after the fullscreen button hoverDivsright .width( containerWidth - fullScreenBtnOffsetLeft - fullScreenBtnWidth ) .height( fullScreenBtnHeight ) .css({top: fullScreenBtnOffsetTop, left: fullScreenBtnOffsetLeft + fullScreenBtnWidth}); // under the fullscreen button hoverDivsbottom .width( containerWidth ) .height( containerHeight - fullScreenBtnHeight - fullScreenBtnOffsetTop ) .css({top: fullScreenBtnOffsetTop + fullScreenBtnHeight}); }; t.globalBind(resize, function() { positionHoverDivs(); }); for (i 0, len hoverDivNames.length; i len; i++) { hoverDivshoverDivNamesi $(div classmejs-fullscreen-hover />).appendTo(t.container).mouseover(restoreControls).hide(); } // on hover, kill the fullscreen buttons HTML handling, allowing clicks down to Flash fullscreenBtn.on(mouseover,function() { if (!t.isFullScreen) { var buttonPos fullscreenBtn.offset(), containerPos player.container.offset(); // move the button in Flash into place media.positionFullscreenButton(buttonPos.left - containerPos.left, buttonPos.top - containerPos.top, false); // allows click through fullscreenBtn.css(pointer-events, none); t.controls.css(pointer-events, none); // restore click-to-play t.media.addEventListener(click, t.clickToPlayPauseCallback); // show the divs that will restore things for (i in hoverDivs) { hoverDivsi.show(); } positionHoverDivs(); fullscreenIsDisabled true; } }); // restore controls anytime the user enters or leaves fullscreen media.addEventListener(fullscreenchange, function(e) { t.isFullScreen !t.isFullScreen; // dont allow plugin click to pause video - messes with // plugins controls if (t.isFullScreen) { t.media.removeEventListener(click, t.clickToPlayPauseCallback); } else { t.media.addEventListener(click, t.clickToPlayPauseCallback); } restoreControls(); }); // the mouseout event doesnt work on the fullscren button, because we already killed the pointer-events // so we use the document.mousemove event to restore controls when the mouse moves outside the fullscreen button t.globalBind(mousemove, function(e) { // if the mouse is anywhere but the fullsceen button, then restore it all if (fullscreenIsDisabled) { var fullscreenBtnPos fullscreenBtn.offset(); if (e.pageY fullscreenBtnPos.top || e.pageY > fullscreenBtnPos.top + fullscreenBtn.outerHeight(true) || e.pageX fullscreenBtnPos.left || e.pageX > fullscreenBtnPos.left + fullscreenBtn.outerWidth(true) ) { fullscreenBtn.css(pointer-events, ); t.controls.css(pointer-events, ); fullscreenIsDisabled false; } } }); } else { // the hover state will show the fullscreen button in Flash to hover up and click fullscreenBtn .on(mouseover, function() { if (hideTimeout ! null) { clearTimeout(hideTimeout); delete hideTimeout; } var buttonPos fullscreenBtn.offset(), containerPos player.container.offset(); media.positionFullscreenButton(buttonPos.left - containerPos.left, buttonPos.top - containerPos.top, true); }) .on(mouseout, function() { if (hideTimeout ! null) { clearTimeout(hideTimeout); delete hideTimeout; } hideTimeout setTimeout(function() { media.hideFullscreenButton(); }, 1500); }); } } player.fullscreenBtn fullscreenBtn; t.globalBind(keydown,function (e) { if (((mejs.MediaFeatures.hasTrueNativeFullScreen && mejs.MediaFeatures.isFullScreen()) || t.isFullScreen) && e.keyCode 27) { player.exitFullScreen(); } }); }, cleanfullscreen: function(player) { player.exitFullScreen(); }, containerSizeTimeout: null, enterFullScreen: function() { var t this; // firefox+flash cant adjust plugin sizes without resetting :( if (t.media.pluginType ! native && (mejs.MediaFeatures.isFirefox || t.options.usePluginFullScreen)) { //t.media.setFullscreen(true); //player.isFullScreen true; return; } // set it to not show scroll bars so 100% will work $(document.documentElement).addClass(mejs-fullscreen); // store sizing normalHeight t.container.height(); normalWidth t.container.width(); // attempt to do true fullscreen (Safari 5.1 and Firefox Nightly only for now) if (t.media.pluginType native) { if (mejs.MediaFeatures.hasTrueNativeFullScreen) { mejs.MediaFeatures.requestFullScreen(t.container0); //return; if (t.isInIframe) { // sometimes exiting from fullscreen doesnt work // notably in Chrome iframe>. Fixed in version 17 setTimeout(function checkFullscreen() { if (t.isNativeFullScreen) { // check if the video is suddenly not really fullscreen if ($(window).width() ! screen.width) { // manually exit t.exitFullScreen(); } else { // test again setTimeout(checkFullscreen, 500); } } }, 500); } } else if (mejs.MediaFeatures.hasSemiNativeFullScreen) { t.media.webkitEnterFullscreen(); return; } } // check for iframe launch if (t.isInIframe) { var url t.options.newWindowCallback(this); if (url ! ) { // launch immediately if (!mejs.MediaFeatures.hasTrueNativeFullScreen) { t.pause(); window.open(url, t.id, top0,left0,width + screen.availWidth + ,height + screen.availHeight + ,resizableyes,scrollbarsno,statusno,toolbarno); return; } else { setTimeout(function() { if (!t.isNativeFullScreen) { t.pause(); window.open(url, t.id, top0,left0,width + screen.availWidth + ,height + screen.availHeight + ,resizableyes,scrollbarsno,statusno,toolbarno); } }, 250); } } } // full window code // make full size t.container .addClass(mejs-container-fullscreen) .width(100%) .height(100%); //.css({position: fixed, left: 0, top: 0, right: 0, bottom: 0, overflow: hidden, width: 100%, height: 100%, z-index: 1000}); // Only needed for safari 5.1 native full screen, can cause display issues elsewhere // Actually, it seems to be needed for IE8, too //if (mejs.MediaFeatures.hasTrueNativeFullScreen) { t.containerSizeTimeout setTimeout(function() { t.container.css({width: 100%, height: 100%}); t.setControlsSize(); }, 500); //} if (t.media.pluginType native) { t.$media .width(100%) .height(100%); } else { t.container.find(.mejs-shim) .width(100%) .height(100%); //if (!mejs.MediaFeatures.hasTrueNativeFullScreen) { t.media.setVideoSize($(window).width(),$(window).height()); //} } t.layers.children(div) .width(100%) .height(100%); if (t.fullscreenBtn) { t.fullscreenBtn .removeClass(mejs-fullscreen) .addClass(mejs-unfullscreen); } t.setControlsSize(); t.isFullScreen true; }, exitFullScreen: function() { var t this; // Prevent container from attempting to stretch a second time clearTimeout(t.containerSizeTimeout); // firefox cant adjust plugins if (t.media.pluginType ! native && mejs.MediaFeatures.isFirefox) { t.media.setFullscreen(false); //player.isFullScreen false; return; } // come outo of native fullscreen if (mejs.MediaFeatures.hasTrueNativeFullScreen && (mejs.MediaFeatures.isFullScreen() || t.isFullScreen)) { mejs.MediaFeatures.cancelFullScreen(); } // restore scroll bars to document $(document.documentElement).removeClass(mejs-fullscreen); t.container .removeClass(mejs-container-fullscreen) .width(normalWidth) .height(normalHeight); //.css({position: , left: , top: , right: , bottom: , overflow: inherit, width: normalWidth + px, height: normalHeight + px, z-index: 1}); if (t.media.pluginType native) { t.$media .width(normalWidth) .height(normalHeight); } else { t.container.find(.mejs-shim) .width(normalWidth) .height(normalHeight); t.media.setVideoSize(normalWidth, normalHeight); } t.layers.children(div) .width(normalWidth) .height(normalHeight); t.fullscreenBtn .removeClass(mejs-unfullscreen) .addClass(mejs-fullscreen); t.setControlsSize(); t.isFullScreen false; } });})(mejs.$);(function($) { // add extra default options $.extend(mejs.MepDefaults, { // this will automatically turn on a track> startLanguage: , tracksText: mejs.i18n.t(Captions/Subtitles), // option to remove the cc button when no track kindsubtitles> are present hideCaptionsButtonWhenEmpty: true, // If true and we only have one track, change captions to popup toggleCaptionsButtonWhenOnlyOne: false, // #id or .class slidesSelector: }); $.extend(MediaElementPlayer.prototype, { hasChapters: false, buildtracks: function(player, controls, layers, media) { if (player.tracks.length 0) return; var t this, i, options ; if (t.domNode.textTracks) { // if browser will do native captions, prefer mejs captions, loop through tracks and hide for (var i t.domNode.textTracks.length - 1; i > 0; i--) { t.domNode.textTracksi.mode hidden; } } player.chapters $(div classmejs-chapters mejs-layer>/div>) .prependTo(layers).hide(); player.captions $(div classmejs-captions-layer mejs-layer>div classmejs-captions-position mejs-captions-position-hover>span classmejs-captions-text>/span>/div>/div>) .prependTo(layers).hide(); player.captionsText player.captions.find(.mejs-captions-text); player.captionsButton $(div classmejs-button mejs-captions-button>+ button typebutton aria-controls + t.id + title + t.options.tracksText + aria-label + t.options.tracksText + >/button>+ div classmejs-captions-selector>+ ul>+ li>+ input typeradio name + player.id + _captions id + player.id + _captions_none valuenone checkedchecked /> + label for + player.id + _captions_none> + mejs.i18n.t(None) +/label>+ /li> + /ul>+ /div>+ /div>) .appendTo(controls); var subtitleCount 0; for (i0; iplayer.tracks.length; i++) { if (player.tracksi.kind subtitles) { subtitleCount++; } } // if only one language then just make the button a toggle if (t.options.toggleCaptionsButtonWhenOnlyOne && subtitleCount 1){ // click player.captionsButton.on(click,function() { if (player.selectedTrack null) { var lang player.tracks0.srclang; } else { var lang none; } player.setTrack(lang); }); } else { // hover player.captionsButton.hover(function() { $(this).find(.mejs-captions-selector).css(visibility,visible); }, function() { $(this).find(.mejs-captions-selector).css(visibility,hidden); }) // handle clicks to the language radio buttons .on(click,inputtyperadio,function() { lang this.value; player.setTrack(lang); }); } if (!player.options.alwaysShowControls) { // move with controls player.container .bind(controlsshown, function () { // push captions above controls player.container.find(.mejs-captions-position).addClass(mejs-captions-position-hover); }) .bind(controlshidden, function () { if (!media.paused) { // move back to normal place player.container.find(.mejs-captions-position).removeClass(mejs-captions-position-hover); } }); } else { player.container.find(.mejs-captions-position).addClass(mejs-captions-position-hover); } player.trackToLoad -1; player.selectedTrack null; player.isLoadingTrack false; // add to list for (i0; iplayer.tracks.length; i++) { if (player.tracksi.kind subtitles) { player.addTrackButton(player.tracksi.srclang, player.tracksi.label); } } // start loading tracks player.loadNextTrack(); media.addEventListener(timeupdate,function(e) { player.displayCaptions(); }, false); if (player.options.slidesSelector ! ) { player.slidesContainer $(player.options.slidesSelector); media.addEventListener(timeupdate,function(e) { player.displaySlides(); }, false); } media.addEventListener(loadedmetadata, function(e) { player.displayChapters(); }, false); player.container.hover( function () { // chapters if (player.hasChapters) { player.chapters.css(visibility,visible); player.chapters.fadeIn(200).height(player.chapters.find(.mejs-chapter).outerHeight()); } }, function () { if (player.hasChapters && !media.paused) { player.chapters.fadeOut(200, function() { $(this).css(visibility,hidden); $(this).css(display,block); }); } }); // check for autoplay if (player.node.getAttribute(autoplay) ! null) { player.chapters.css(visibility,hidden); } }, setTrack: function(lang){ var t this, i; if (lang none) { t.selectedTrack null; t.captionsButton.removeClass(mejs-captions-enabled); } else { for (i0; it.tracks.length; i++) { if (t.tracksi.srclang lang) { if (t.selectedTrack null) t.captionsButton.addClass(mejs-captions-enabled); t.selectedTrack t.tracksi; t.captions.attr(lang, t.selectedTrack.srclang); t.displayCaptions(); break; } } } }, loadNextTrack: function() { var t this; t.trackToLoad++; if (t.trackToLoad t.tracks.length) { t.isLoadingTrack true; t.loadTrack(t.trackToLoad); } else { // add done? t.isLoadingTrack false; t.checkForTracks(); } }, loadTrack: function(index){ var t this, track t.tracksindex, after function() { track.isLoaded true; // create button //t.addTrackButton(track.srclang); t.enableTrackButton(track.srclang, track.label); t.loadNextTrack(); }; $.ajax({ url: track.src, dataType: text, success: function(d) { // parse the loaded file if (typeof d string && (/tt\s+xml/ig).exec(d)) { track.entries mejs.TrackFormatParser.dfxp.parse(d); } else { track.entries mejs.TrackFormatParser.webvvt.parse(d); } after(); if (track.kind chapters) { t.media.addEventListener(play, function(e) { if (t.media.duration > 0) { t.displayChapters(track); } }, false); } if (track.kind slides) { t.setupSlides(track); } }, error: function() { t.loadNextTrack(); } }); }, enableTrackButton: function(lang, label) { var t this; if (label ) { label mejs.language.codeslang || lang; } t.captionsButton .find(inputvalue + lang + ) .prop(disabled,false) .siblings(label) .html( label ); // auto select if (t.options.startLanguage lang) { $(# + t.id + _captions_ + lang).click(); } t.adjustLanguageBox(); }, addTrackButton: function(lang, label) { var t this; if (label ) { label mejs.language.codeslang || lang; } t.captionsButton.find(ul).append( $(li>+ input typeradio name + t.id + _captions id + t.id + _captions_ + lang + value + lang + disableddisabled /> + label for + t.id + _captions_ + lang + > + label + (loading) + /label>+ /li>) ); t.adjustLanguageBox(); // remove this from the dropdownlist (if it exists) t.container.find(.mejs-captions-translations optionvalue + lang + ).remove(); }, adjustLanguageBox:function() { var t this; // adjust the size of the outer box t.captionsButton.find(.mejs-captions-selector).height( t.captionsButton.find(.mejs-captions-selector ul).outerHeight(true) + t.captionsButton.find(.mejs-captions-translations).outerHeight(true) ); }, checkForTracks: function() { var t this, hasSubtitles false; // check if any subtitles if (t.options.hideCaptionsButtonWhenEmpty) { for (i0; it.tracks.length; i++) { if (t.tracksi.kind subtitles) { hasSubtitles true; break; } } if (!hasSubtitles) { t.captionsButton.hide(); t.setControlsSize(); } } }, displayCaptions: function() { if (typeof this.tracks undefined) return; var t this, i, track t.selectedTrack; if (track ! null && track.isLoaded) { for (i0; itrack.entries.times.length; i++) { if (t.media.currentTime > track.entries.timesi.start && t.media.currentTime track.entries.timesi.stop){ t.captionsText.html(track.entries.texti); t.captions.show().height(0); return; // exit out if one is visible; } } t.captions.hide(); } else { t.captions.hide(); } }, setupSlides: function(track) { var t this; t.slides track; t.slides.entries.imgs t.slides.entries.text.length; t.showSlide(0); }, showSlide: function(index) { if (typeof this.tracks undefined || typeof this.slidesContainer undefined) { return; } var t this, url t.slides.entries.textindex, img t.slides.entries.imgsindex; if (typeof img undefined || typeof img.fadeIn undefined) { t.slides.entries.imgsindex img $(img src + url + >) .on(load, function() { img.appendTo(t.slidesContainer) .hide() .fadeIn() .siblings(:visible) .fadeOut(); }); } else { if (!img.is(:visible) && !img.is(:animated)) { // img.fadeIn() .siblings(:visible) .fadeOut(); } } }, displaySlides: function() { if (typeof this.slides undefined) return; var t this, slides t.slides, i; for (i0; islides.entries.times.length; i++) { if (t.media.currentTime > slides.entries.timesi.start && t.media.currentTime slides.entries.timesi.stop){ t.showSlide(i); return; // exit out if one is visible; } } }, displayChapters: function() { var t this, i; for (i0; it.tracks.length; i++) { if (t.tracksi.kind chapters && t.tracksi.isLoaded) { t.drawChapters(t.tracksi); t.hasChapters true; break; } } }, drawChapters: function(chapters) { var t this, i, dur, //width, //left, percent 0, usedPercent 0; t.chapters.empty(); for (i0; ichapters.entries.times.length; i++) { dur chapters.entries.timesi.stop - chapters.entries.timesi.start; percent Math.floor(dur / t.media.duration * 100); if (percent + usedPercent > 100 || // too large i chapters.entries.times.length-1 && percent + usedPercent 100) // not going to fill it in { percent 100 - usedPercent; } //width Math.floor(t.width * dur / t.media.duration); //left Math.floor(t.width * chapters.entries.timesi.start / t.media.duration); //if (left + width > t.width) { // width t.width - left; //} t.chapters.append( $( div classmejs-chapter rel + chapters.entries.timesi.start + styleleft: + usedPercent.toString() + %;width: + percent.toString() + %;> + div classmejs-chapter-block + ((ichapters.entries.times.length-1) ? mejs-chapter-block-last : ) + > + span classch-title> + chapters.entries.texti + /span> + span classch-time> + mejs.Utility.secondsToTimeCode(chapters.entries.timesi.start) + – + mejs.Utility.secondsToTimeCode(chapters.entries.timesi.stop) + /span> + /div> + /div>)); usedPercent + percent; } t.chapters.find(div.mejs-chapter).click(function() { t.media.setCurrentTime( parseFloat( $(this).attr(rel) ) ); if (t.media.paused) { t.media.play(); } }); t.chapters.show(); } }); mejs.language { codes: { af:Afrikaans, sq:Albanian, ar:Arabic, be:Belarusian, bg:Bulgarian, ca:Catalan, zh:Chinese, zh-cn:Chinese Simplified, zh-tw:Chinese Traditional, hr:Croatian, cs:Czech, da:Danish, nl:Dutch, en:English, et:Estonian, tl:Filipino, fi:Finnish, fr:French, gl:Galician, de:German, el:Greek, ht:Haitian Creole, iw:Hebrew, hi:Hindi, hu:Hungarian, is:Icelandic, id:Indonesian, ga:Irish, it:Italian, ja:Japanese, ko:Korean, lv:Latvian, lt:Lithuanian, mk:Macedonian, ms:Malay, mt:Maltese, no:Norwegian, fa:Persian, pl:Polish, pt:Portuguese, //pt-pt:Portuguese (Portugal), ro:Romanian, ru:Russian, sr:Serbian, sk:Slovak, sl:Slovenian, es:Spanish, sw:Swahili, sv:Swedish, tl:Tagalog, th:Thai, tr:Turkish, uk:Ukrainian, vi:Vietnamese, cy:Welsh, yi:Yiddish } }; /* Parses WebVVT format which should be formatted as WEBVTT 1 00:00:01,1 --> 00:00:05,000 A line of text 2 00:01:15,1 --> 00:02:05,000 A second line of text Adapted from: http://www.delphiki.com/html5/playr */ mejs.TrackFormatParser { webvvt: { // match start chapter- (or anythingelse) pattern_identifier: /^(a-zA-z+-)?0-9+$/, pattern_timecode: /^(0-9{2}:0-9{2}:0-9{2}(,.0-9{1,3})?) --\> (0-9{2}:0-9{2}:0-9{2}(,.0-9{3})?)(.*)$/, parse: function(trackText) { var i 0, lines mejs.TrackFormatParser.split2(trackText, /\r?\n/), entries {text:, times:}, timecode, text; for(; ilines.length; i++) { // check for the line number if (this.pattern_identifier.exec(linesi)){ // skip to the next line where the start --> end time code should be i++; timecode this.pattern_timecode.exec(linesi); if (timecode && ilines.length){ i++; // grab all the (possibly multi-line) text that follows text linesi; i++; while(linesi ! && ilines.length){ text text + \n + linesi; i++; } text $.trim(text).replace(/(\b(https?|ftp|file):\/\/-A-Z0-9+&@#\/%?~_|!:,.;*-A-Z0-9+&@#\/%~_|)/ig, a href$1 target_blank>$1/a>); // Text is in a different array so I can use .join entries.text.push(text); entries.times.push( { start: (mejs.Utility.convertSMPTEtoSeconds(timecode1) 0) ? 0.200 : mejs.Utility.convertSMPTEtoSeconds(timecode1), stop: mejs.Utility.convertSMPTEtoSeconds(timecode3), settings: timecode5 }); } } } return entries; } }, // Thanks to Justin Capella: https://github.com/johndyer/mediaelement/pull/420 dfxp: { parse: function(trackText) { trackText $(trackText).filter(tt); var i 0, container trackText.children(div).eq(0), lines container.find(p), styleNode trackText.find(# + container.attr(style)), styles, begin, end, text, entries {text:, times:}; if (styleNode.length) { var attributes styleNode.removeAttr(id).get(0).attributes; if (attributes.length) { styles {}; for (i 0; i attributes.length; i++) { stylesattributesi.name.split(:)1 attributesi.value; } } } for(i 0; ilines.length; i++) { var style; var _temp_times { start: null, stop: null, style: null }; if (lines.eq(i).attr(begin)) _temp_times.start mejs.Utility.convertSMPTEtoSeconds(lines.eq(i).attr(begin)); if (!_temp_times.start && lines.eq(i-1).attr(end)) _temp_times.start mejs.Utility.convertSMPTEtoSeconds(lines.eq(i-1).attr(end)); if (lines.eq(i).attr(end)) _temp_times.stop mejs.Utility.convertSMPTEtoSeconds(lines.eq(i).attr(end)); if (!_temp_times.stop && lines.eq(i+1).attr(begin)) _temp_times.stop mejs.Utility.convertSMPTEtoSeconds(lines.eq(i+1).attr(begin)); if (styles) { style ; for (var _style in styles) { style + _style + : + styles_style + ;; } } if (style) _temp_times.style style; if (_temp_times.start 0) _temp_times.start 0.200; entries.times.push(_temp_times); text $.trim(lines.eq(i).html()).replace(/(\b(https?|ftp|file):\/\/-A-Z0-9+&@#\/%?~_|!:,.;*-A-Z0-9+&@#\/%~_|)/ig, a href$1 target_blank>$1/a>); entries.text.push(text); if (entries.times.start 0) entries.times.start 2; } return entries; } }, split2: function (text, regex) { // normal version for compliant browsers // see below for IE fix return text.split(regex); } }; // test for browsers with bad String.split method. if (x\n\ny.split(/\n/gi).length ! 3) { // add super slow IE8 and below version mejs.TrackFormatParser.split2 function(text, regex) { var parts , chunk , i; for (i0; itext.length; i++) { chunk + text.substring(i,i+1); if (regex.test(chunk)) { parts.push(chunk.replace(regex, )); chunk ; } } parts.push(chunk); return parts; } } })(mejs.$);/** ContextMenu Plugin* **/(function($) {$.extend(mejs.MepDefaults, { contextMenuItems: // demo of a fullscreen option { render: function(player) { // check for fullscreen plugin if (typeof player.enterFullScreen undefined) return null; if (player.isFullScreen) { return mejs.i18n.t(Turn off Fullscreen); } else { return mejs.i18n.t(Go Fullscreen); } }, click: function(player) { if (player.isFullScreen) { player.exitFullScreen(); } else { player.enterFullScreen(); } } } , // demo of a mute/unmute button { render: function(player) { if (player.media.muted) { return mejs.i18n.t(Unmute); } else { return mejs.i18n.t(Mute); } }, click: function(player) { if (player.media.muted) { player.setMuted(false); } else { player.setMuted(true); } } }, // separator { isSeparator: true } , // demo of simple download video { render: function(player) { return mejs.i18n.t(Download Video); }, click: function(player) { window.location.href player.media.currentSrc; } } }); $.extend(MediaElementPlayer.prototype, { buildcontextmenu: function(player, controls, layers, media) { // create context menu player.contextMenu $(div classmejs-contextmenu>/div>) .appendTo($(body)) .hide(); // create events for showing context menu player.container.bind(contextmenu, function(e) { if (player.isContextMenuEnabled) { e.preventDefault(); player.renderContextMenu(e.clientX-1, e.clientY-1); return false; } }); player.container.bind(click, function() { player.contextMenu.hide(); }); player.contextMenu.bind(mouseleave, function() { // player.startContextMenuTimer(); }); }, cleancontextmenu: function(player) { player.contextMenu.remove(); }, isContextMenuEnabled: true, enableContextMenu: function() { this.isContextMenuEnabled true; }, disableContextMenu: function() { this.isContextMenuEnabled false; }, contextMenuTimeout: null, startContextMenuTimer: function() { // var t this; t.killContextMenuTimer(); t.contextMenuTimer setTimeout(function() { t.hideContextMenu(); t.killContextMenuTimer(); }, 750); }, killContextMenuTimer: function() { var timer this.contextMenuTimer; // if (timer ! null) { clearTimeout(timer); delete timer; timer null; } }, hideContextMenu: function() { this.contextMenu.hide(); }, renderContextMenu: function(x,y) { // alway re-render the items so that things like turn fullscreen on and turn fullscreen off are always written correctly var t this, html , items t.options.contextMenuItems; for (var i0, ilitems.length; iil; i++) { if (itemsi.isSeparator) { html + div classmejs-contextmenu-separator>/div>; } else { var rendered itemsi.render(t); // render can return null if the item doesnt need to be used at the moment if (rendered ! null) { html + div classmejs-contextmenu-item data-itemindex + i + idelement- + (Math.random()*1000000) + > + rendered + /div>; } } } // position and show the context menu t.contextMenu .empty() .append($(html)) .css({top:y, left:x}) .show(); // bind events t.contextMenu.find(.mejs-contextmenu-item).each(function() { // which one is this? var $dom $(this), itemIndex parseInt( $dom.data(itemindex), 10 ), item t.options.contextMenuItemsitemIndex; // bind extra functionality? if (typeof item.show ! undefined) item.show( $dom , t); // bind click action $dom.click(function() { // perform click action if (typeof item.click ! undefined) item.click(t); // close t.contextMenu.hide(); }); }); // stop the controls from hiding setTimeout(function() { t.killControlsTimer(rev3); }, 100); } }); })(mejs.$);/** * Postroll plugin */(function($) { $.extend(mejs.MepDefaults, { postrollCloseText: mejs.i18n.t(Close) }); // Postroll $.extend(MediaElementPlayer.prototype, { buildpostroll: function(player, controls, layers, media) { var t this, postrollLink t.container.find(linkrelpostroll).attr(href); if (typeof postrollLink ! undefined) { player.postroll $(div classmejs-postroll-layer mejs-layer>a classmejs-postroll-close onclick$(this).parent().hide();return false;> + t.options.postrollCloseText + /a>div classmejs-postroll-layer-content>/div>/div>).prependTo(layers).hide(); t.media.addEventListener(ended, function (e) { $.ajax({ dataType: html, url: postrollLink, success: function (data, textStatus) { layers.find(.mejs-postroll-layer-content).html(data); } }); player.postroll.show(); }, false); } } });})(mejs.$); /script>script>$(audio,video).mediaelementplayer({ audioWidth: 60, startVolume: 0.5, loop: false,});/script> script typetext/javascript>(function(){var t.indexOf||function(t){for(var e0,nthis.length;en;e++){if(e in this&&thiset)return e}return-1},e.slice;(function(t,e){if(typeof definefunction&&define.amd){return define(waypoints,jquery,function(n){return e(n,t)})}else{return e(t.jQuery,t)}})(window,function(n,r){var i,o,l,s,f,u,c,a,h,d,p,y,v,w,g,m;in(r);at.call(r,ontouchstart)>0;s{horizontal:{},vertical:{}};f1;c{};uwaypoints-context-id;presize.waypoints;yscroll.waypoints;v1;wwaypoints-waypoint-ids;gwaypoint;mwaypoints;ofunction(){function t(t){var ethis;this.$elementt;this.elementt0;this.didResizefalse;this.didScrollfalse;this.idcontext+f++;this.oldScroll{x:t.scrollLeft(),y:t.scrollTop()};this.waypoints{horizontal:{},vertical:{}};this.elementuthis.id;cthis.idthis;t.bind(y,function(){var t;if(!(e.didScroll||a)){e.didScrolltrue;tfunction(){e.doScroll();return e.didScrollfalse};return r.setTimeout(t,nm.settings.scrollThrottle)}});t.bind(p,function(){var t;if(!e.didResize){e.didResizetrue;tfunction(){nm(refresh);return e.didResizefalse};return r.setTimeout(t,nm.settings.resizeThrottle)}})}t.prototype.doScrollfunction(){var t,ethis;t{horizontal:{newScroll:this.$element.scrollLeft(),oldScroll:this.oldScroll.x,forward:right,backward:left},vertical:{newScroll:this.$element.scrollTop(),oldScroll:this.oldScroll.y,forward:down,backward:up}};if(a&&(!t.vertical.oldScroll||!t.vertical.newScroll)){nm(refresh)}n.each(t,function(t,r){var i,o,l;l;or.newScroll>r.oldScroll;io?r.forward:r.backward;n.each(e.waypointst,function(t,e){var n,i;if(r.oldScroll(ne.offset)&&nr.newScroll){return l.push(e)}else if(r.newScroll(ie.offset)&&ir.oldScroll){return l.push(e)}});l.sort(function(t,e){return t.offset-e.offset});if(!o){l.reverse()}return n.each(l,function(t,e){if(e.options.continuous||tl.length-1){return e.trigger(i)}})});return this.oldScroll{x:t.horizontal.newScroll,y:t.vertical.newScroll}};t.prototype.refreshfunction(){var t,e,r,ithis;rn.isWindow(this.element);ethis.$element.offset();this.doScroll();t{horizontal:{contextOffset:r?0:e.left,contextScroll:r?0:this.oldScroll.x,contextDimension:this.$element.width(),oldScroll:this.oldScroll.x,forward:right,backward:left,offsetProp:left},vertical:{contextOffset:r?0:e.top,contextScroll:r?0:this.oldScroll.y,contextDimension:r?nm(viewportHeight):this.$element.height(),oldScroll:this.oldScroll.y,forward:down,backward:up,offsetProp:top}};return n.each(t,function(t,e){return n.each(i.waypointst,function(t,r){var i,o,l,s,f;ir.options.offset;lr.offset;on.isWindow(r.element)?0:r.$element.offset()e.offsetProp;if(n.isFunction(i)){ii.apply(r.element)}else if(typeof istring){iparseFloat(i);if(r.options.offset.indexOf(%)>-1){iMath.ceil(e.contextDimension*i/100)}}r.offseto-e.contextOffset+e.contextScroll-i;if(r.options.onlyOnScroll&&l!null||!r.enabled){return}if(l!null&&l(se.oldScroll)&&sr.offset){return r.trigger(e.backward)}else if(l!null&&l>(fe.oldScroll)&&f>r.offset){return r.trigger(e.forward)}else if(lnull&&e.oldScroll>r.offset){return r.trigger(e.forward)}})})};t.prototype.checkEmptyfunction(){if(n.isEmptyObject(this.waypoints.horizontal)&&n.isEmptyObject(this.waypoints.vertical)){this.$element.unbind(p,y.join( ));return delete cthis.id}};return t}();lfunction(){function t(t,e,r){var i,o;if(r.offsetbottom-in-view){r.offsetfunction(){var t;tnm(viewportHeight);if(!n.isWindow(e.element)){te.$element.height()}return t-n(this).outerHeight()}}this.$elementt;this.elementt0;this.axisr.horizontal?horizontal:vertical;this.callbackr.handler;this.contexte;this.enabledr.enabled;this.idwaypoints+v++;this.offsetnull;this.optionsr;e.waypointsthis.axisthis.idthis;sthis.axisthis.idthis;i(othis.elementw)!null?o:;i.push(this.id);this.elementwi}t.prototype.triggerfunction(t){if(!this.enabled){return}if(this.callback!null){this.callback.apply(this.element,t)}if(this.options.triggerOnce){return this.destroy()}};t.prototype.disablefunction(){return this.enabledfalse};t.prototype.enablefunction(){this.context.refresh();return this.enabledtrue};t.prototype.destroyfunction(){delete sthis.axisthis.id;delete this.context.waypointsthis.axisthis.id;return this.context.checkEmpty()};t.getWaypointsByElementfunction(t){var e,r;rtw;if(!r){return}en.extend({},s.horizontal,s.vertical);return n.map(r,function(t){return et})};return t}();d{init:function(t,e){var r;en.extend({},n.fng.defaults,e);if((re.handler)null){e.handlert}this.each(function(){var t,r,i,s;tn(this);i(se.context)!null?s:n.fng.defaults.context;if(!n.isWindow(i)){it.closest(i)}in(i);rci0u;if(!r){rnew o(i)}return new l(t,r,e)});nm(refresh);return this},disable:function(){return d._invoke.call(this,disable)},enable:function(){return d._invoke.call(this,enable)},destroy:function(){return d._invoke.call(this,destroy)},prev:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(e>0){return t.push(ne-1)}})},next:function(t,e){return d._traverse.call(this,t,e,function(t,e,n){if(en.length-1){return t.push(ne+1)}})},_traverse:function(t,e,i){var o,l;if(tnull){tvertical}if(enull){er}lh.aggregate(e);o;this.each(function(){var e;en.inArray(this,lt);return i(o,e,lt)});return this.pushStack(o)},_invoke:function(t){this.each(function(){var e;el.getWaypointsByElement(this);return n.each(e,function(e,n){nt();return true})});return this}};n.fngfunction(){var t,r;rarguments0,t2arguments.length?e.call(arguments,1):;if(dr){return dr.apply(this,t)}else if(n.isFunction(r)){return d.init.apply(this,arguments)}else if(n.isPlainObject(r)){return d.init.apply(this,null,r)}else if(!r){return n.error(jQuery Waypoints needs a callback function or handler option.)}else{return n.error(The +r+ method does not exist in jQuery Waypoints.)}};n.fng.defaults{context:r,continuous:true,enabled:true,horizontal:false,offset:0,triggerOnce:false};h{refresh:function(){return n.each(c,function(t,e){return e.refresh()})},viewportHeight:function(){var t;return(tr.innerHeight)!null?t:i.height()},aggregate:function(t){var e,r,i;es;if(t){e(icn(t)0u)!null?i.waypoints:void 0}if(!e){return}r{horizontal:,vertical:};n.each(r,function(t,i){n.each(et,function(t,e){return i.push(e)});i.sort(function(t,e){return t.offset-e.offset});rtn.map(i,function(t){return t.element});return rtn.unique(rt)});return r},above:function(t){if(tnull){tr}return h._filter(t,vertical,function(t,e){return e.offsett.oldScroll.y})},below:function(t){if(tnull){tr}return h._filter(t,vertical,function(t,e){return e.offset>t.oldScroll.y})},left:function(t){if(tnull){tr}return h._filter(t,horizontal,function(t,e){return e.offsett.oldScroll.x})},right:function(t){if(tnull){tr}return h._filter(t,horizontal,function(t,e){return e.offset>t.oldScroll.x})},enable:function(){return h._invoke(enable)},disable:function(){return h._invoke(disable)},destroy:function(){return h._invoke(destroy)},extendFn:function(t,e){return dte},_invoke:function(t){var e;en.extend({},s.vertical,s.horizontal);return n.each(e,function(e,n){nt();return true})},_filter:function(t,e,r){var i,o;icn(t)0u;if(!i){return}o;n.each(i.waypointse,function(t,e){if(r(i,e)){return o.push(e)}});o.sort(function(t,e){return t.offset-e.offset});return n.map(o,function(t){return t.element})}};nmfunction(){var t,n;narguments0,t2arguments.length?e.call(arguments,1):;if(hn){return hn.apply(null,t)}else{return h.aggregate.call(null,n)}};nm.settings{resizeThrottle:100,scrollThrottle:30};return i.on(load.waypoints,function(){return nm(refresh)})})}).call(this);/script>script typetext/javascript>function countUp(a,b,c,d,e,f){for(var g0,hwebkit,moz,ms,o,i0;ih.length&&!window.requestAnimationFrame;++i)window.requestAnimationFramewindowhi+RequestAnimationFrame,window.cancelAnimationFramewindowhi+CancelAnimationFrame||windowhi+CancelRequestAnimationFrame;window.requestAnimationFrame||(window.requestAnimationFramefunction(a){var c(new Date).getTime(),dMath.max(0,16-(c-g)),ewindow.setTimeout(function(){a(c+d)},d);return gc+d,e}),window.cancelAnimationFrame||(window.cancelAnimationFramefunction(a){clearTimeout(a)}),this.optionsf||{useEasing:!0,useGrouping:!0,separator:,,decimal:.},this.options.separator&&(this.options.useGrouping!1),nullthis.options.prefix&&(this.options.prefix),nullthis.options.suffix&&(this.options.suffix);var jthis;this.dstringtypeof a?document.getElementById(a):a,this.startValNumber(b),this.endValNumber(c),this.countDownthis.startVal>this.endVal?!0:!1,this.startTimenull,this.timestampnull,this.remainingnull,this.frameValthis.startVal,this.rAFnull,this.decimalsMath.max(0,d||0),this.decMath.pow(10,this.decimals),this.duration1e3*e||2e3,this.versionfunction(){return1.3.2},this.printValuefunction(a){var bisNaN(a)?--:j.formatNumber(a);INPUTj.d.tagName?this.d.valueb:textj.d.tagName?this.d.textContentb:this.d.innerHTMLb},this.easeOutExpofunction(a,b,c,d){return 1024*c*(-Math.pow(2,-10*a/d)+1)/1023+b},this.countfunction(a){nullj.startTime&&(j.startTimea),j.timestampa;var ba-j.startTime;if(j.remainingj.duration-b,j.options.useEasing)if(j.countDown){var cj.easeOutExpo(b,0,j.startVal-j.endVal,j.duration);j.frameValj.startVal-c}else j.frameValj.easeOutExpo(b,j.startVal,j.endVal-j.startVal,j.duration);else if(j.countDown){var c(j.startVal-j.endVal)*(b/j.duration);j.frameValj.startVal-c}else j.frameValj.startVal+(j.endVal-j.startVal)*(b/j.duration);j.frameValj.countDown?j.frameValj.endVal?j.endVal:j.frameVal:j.frameVal>j.endVal?j.endVal:j.frameVal,j.frameValMath.round(j.frameVal*j.dec)/j.dec,j.printValue(j.frameVal),bj.duration?j.rAFrequestAnimationFrame(j.count):null!j.callback&&j.callback()},this.startfunction(a){return j.callbacka,isNaN(j.endVal)||isNaN(j.startVal)?(console.log(countUp error: startVal or endVal is not a number),j.printValue()):j.rAFrequestAnimationFrame(j.count),!1},this.stopfunction(){cancelAnimationFrame(j.rAF)},this.resetfunction(){j.startTimenull,j.startValb,cancelAnimationFrame(j.rAF),j.printValue(j.startVal)},this.resumefunction(){j.stop(),j.startTimenull,j.durationj.remaining,j.startValj.frameVal,requestAnimationFrame(j.count)},this.formatNumberfunction(a){aa.toFixed(j.decimals),a+;var b,c,d,e;if(ba.split(.),cb0,db.length>1?j.options.decimal+b1:,e/(\d+)(\d{3})/,j.options.useGrouping)for(;e.test(c);)cc.replace(e,$1+j.options.separator+$2);return j.options.prefix+c+d+j.options.suffix},j.printValue(j.startVal)}/script>script typetext/javascript>jQuery(document).ready(function ($){$(spantitle*animate).css(display,inline-block);$(imgtitle*animate).parent().attr(animation, function(){ return $(this).children().attr(title) }).children().removeAttr(title);$(title*animate).attr(animation,function(){return $(this).attr(title)}).removeAttr(title);$(title*counter).attr(animation,counter).removeAttr(title);$(animation*animate).waypoint(function(){$(this).toggleClass(hideAnimation);},{offset:function(){return $(window).height()+$(this).height()+400}});$(animation*animate).waypoint(function(){$(this).toggleClass(hideAnimation);},{offset:function(){return -$(this).height()-400}});$(animation*animate).waypoint(function(){$(this).toggleClass($(this).attr(animation)).toggleClass(showAnimation hideAnimation);},{offset:function(){return $(window).height()}});$(animation*animate).waypoint(function(){$(this).toggleClass($(this).attr(animation)).toggleClass(showAnimation hideAnimation);},{offset:function(){return-$(this).height()-40}});$(animation*counter).attr(number,function(){return $(this).html()}).attr(id,function(){returncounter+$(this).closest(div).attr(id)});var options{ useEasing:true,useGrouping:false };var counters{};$(animation*counter).each(function(){countersthis.id$(this).attr(number);});$.each(counters,function(id,value){ var counternew countUp(id,0,value,0,2,options);$(#+id).waypoint(function(up){counter.reset();counter.start();},{offset:function(){return $(window).height()}});$(#+id).waypoint(function(down){counter.reset();counter.start();},{offset:function(){return-$(this).height()}});});});/script> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]