Updated my Website

- other (better) Theme
- added more Features
- changed Text
- added more animations
This commit is contained in:
fraujulian authored and GitHub committed 2024-01-05 22:49:17 +01:00
1 parent f27aba8a9a
commit 0225da051b
7 files changed
+189 -65

No files matched your search

+5 -8
View File
@@ -1,13 +1,13 @@
/* GitHub Projects */
@media (prefers-color-scheme: dark) {
:root {
--hover-bg-color: #161616;
--hover-bg-color: #001e3d;
}
}
@media (prefers-color-scheme: light) {
:root {
--hover-bg-color: #e5e5e5;
--hover-bg-color: #001e3d;
}
}
@@ -21,7 +21,7 @@
}
#github_projects .stars {
color: #6c757d !important;
color: var(--main-txt-color) !important;
}
#github_projects a {
@@ -40,7 +40,7 @@
}
#github_projects .card a {
color: var(--main-txt-color);
color: var(--main-txt-color) !important;
}
#github_projects .card p {
@@ -59,18 +59,15 @@
max-width: 100%;
}
/* width */
::-webkit-scrollbar {
width: 5px;
height: 5px;
}
/* Track */
::-webkit-scrollbar-track {
background: transparent;
}
/* Handle */
::-webkit-scrollbar-thumb {
background: #888;
background: #eaebfe;
}
+29 -20
View File
@@ -13,19 +13,19 @@
@media (prefers-color-scheme: dark) {
:root {
--main-bg-color: #1e2437;
--main-ac-color: #3d4254;
--main-txt-color: #b6e2eb;
--hover-bg-color: #161616;
--main-bg-color: #144272;
--main-ac-color: #0A2647;
--main-txt-color: #eaebfe;
--hover-bg-color: #144272;
}
}
@media (prefers-color-scheme: light) {
:root {
--main-bg-color: #fff;
--main-ac-color: #fff;
--main-txt-color: #000;
--hover-bg-color: #e5e5e5;
--main-bg-color: #144272;
--main-ac-color: #0A2647;
--main-txt-color: #eaebfe;
--hover-bg-color: #144272;
}
}
@@ -54,7 +54,6 @@ footer a {
text-decoration-line: underline;
}
/* Slide */
.js-reminder {
font-style: normal;
font-weight: 900;
@@ -99,8 +98,6 @@ footer a {
background: var(--main-bg-color);
}
/* End Slide */
.social {
border: 0;
margin: auto;
@@ -117,7 +114,7 @@ footer a {
height: auto;
transition: .5s ease;
backface-visibility: hidden;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
box-shadow: 0 4px 8px 0 rgba(2, 41, 84, 0.8);
transition: 0.3s;
}
@@ -149,7 +146,7 @@ footer a {
display: grid;
grid-template-columns: 24% 24% 24% 24%;
justify-content: space-between;
/* margin-bottom: 2em; */
margin-bottom: 2em;
}
.portfolio-done-item {
@@ -163,10 +160,9 @@ footer a {
ul.nav {
list-style-type: none;
margin: 0;
/* padding: 0; */
overflow: hidden;
background-color: var(--main-ac-color);
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
box-shadow: 0 4px 8px 0 rgba(2, 41, 84, 0.8);
transition: 0.3s;
}
@@ -198,13 +194,13 @@ ul.nav li.left {
.card-projects {
display: grid;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
box-shadow: 0 4px 8px 0 rgba(2, 41, 84, 0.8);
transition: 0.3s;
background: var(--main-ac-color);
}
.card-projects:hover {
box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
box-shadow: 0 8px 16px 0 rgba(2, 41, 84, 0.8);
}
.icon-area i {
@@ -226,7 +222,7 @@ ul.nav li.left {
.card {
margin-top: var(--main-padding);
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
box-shadow: 0 4px 8px 0 rgba(2, 41, 84, 0.8);
transition: 0.3s;
background: var(--main-ac-color);
padding: var(--main-padding);
@@ -261,7 +257,7 @@ ul.nav li.left {
}
.card:hover {
box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
box-shadow: 0 8px 16px 0 rgba(2, 41, 84, 0.8);
}
.container {
@@ -398,7 +394,6 @@ ul.nav li.left {
.hover-items {
display: grid;
grid-template-columns: auto auto auto;
/* center vertically */
align-items: center;
}
@@ -410,3 +405,17 @@ ul.nav li.left {
margin: auto;
padding: 10px;
}
@media only screen and (min-width: 1025px) {
.circle {
height: 24px;
width: 24px;
border-radius: 24px;
background-color: black;
position: fixed;
top: 0;
left: 0;
pointer-events: none;
z-index: 99999999;
}
}
+97 -21
View File
@@ -7,7 +7,7 @@
<title>Julian Lechner</title>
<link rel="stylesheet" type="text/css" href="fontawesome/css/all.min.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<link rel="stylesheet" type="text/css" href="css/style.css" />
<link rel="stylesheet" type="text/css" href="css/github.css" />
<link rel="stylesheet" type="text/css" href="css/donation.css" />
@@ -25,25 +25,83 @@
</head>
<body>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="circle"></div>
<div class="container">
<div class="card profile">
<img src="img/logo.png" alt="Julian Lechner Bitmoji">
<img src="img/logo.png">
<h1>Hy! 👋 I'm Julian Lechner!</h1>
<h2>aka. FrauJulian</h2>
<hr>
<div class="max60">
<hr>
<div id="short-desc" class="hover-items">
<i id="left-arrow" class="fas fa-arrow-right"></i>
<a onclick="plausible('expandprofile')"> 🖱️ A young enthusiastic developer from Austria! 🖱️ </a>
<a onclick="plausible('expandprofile')">A young enthusiastic developer from Austria!</a>
<i id="right-arrow" class="fas fa-arrow-left"></i>
</div>
</div>
<div class="bio-text hidden">
<p>
My name ist Julian I'm 14 years old and i live in the beautiful Lower Austria!
My name is Julian I'm 14 years old and I live in the beautiful Lower Austria!
In my spare time I mainly sit in front of the PC and work on my projects, I also often go scuba diving!
<br />
I am currently in my final year! Next year, 2024, I would like to start an apprenticeship as an IT specialist for application development! Preferably in the field of web development.
I am currently in my final year! Next year, 2024, I would like to start an apprenticeship as an IT specialist for application development!
<br />
<br />
I mainly work for SynHost.de, which is a German hosting company. I help the customers and program new features!
@@ -53,21 +111,10 @@
<br />
Currently you can hire my services as a NodeJS (Discord.JS) Developer! I program Discord bots of any kind for you, with already existing features as well as completely new ones. Just contact me!
<br />
<br />
<h3>Contact me!</h3>
<a href="mailto:fraujulian@lechner.top" class="contact-link">E-Mail ➜ fraujulian@lechner.top</a>
<br />
<a href="tel:+436609254001" class="contact-link">Phone ➜ +43 660 9254001</a>
<br />
<br />
<a href="https://discord.com/users/860206216893693973" class="contact-link">Discord ➜ fraujulian</a>
<br />
<a href="https://github.com/fraujulian" class="contact-link">Github ➜ fraujulian</a>
</p>
</div>
<hr>
<p class="js-reminder">Enable JavaScript to see what I do.</p>
<p class="js-reminder">ENABLE JAVASCRIPT</p>
<div class="bio grid-container">
<div class="grid-item-start">
<h1>I code with</h1>
@@ -90,6 +137,9 @@
<div class="grid-item">
<h1>JavaScript</h1>
</div>
<div class="grid-item">
<h1>Java</h1>
</div>
<div class="grid-item">
<h1>Linux</h1>
</div>
@@ -97,23 +147,49 @@
<h1>MySQL</h1>
</div>
</div>
<div class="icon-area">
<a href="mailto:fraujulian@lechner.top" onclick="plausible('envelope')" target="_blank">
<i class="fa-solid fa-envelope fa-3x"></i></a>
<a href="tel:+436609254001" onclick="plausible('phone')" target="_blank">
<i class="fa-solid fa-phone fa-3x"></i></a>
<a href="https://discord.com/users/860206216893693973" onclick="plausible('discord')" target="_blank">
<i class="fab fa-discord fa-3x"></i></a>
<a href="https://github.com/fraujulian" onclick="plausible('github')" target="_blank">
<i class="fab fa-github fa-3x"></i></a>
</div>
</div>
<div id="github_projects" class="card">
Loading...
</div>
</div>
<!-- Footer -->
<footer>
<p>
&copy; 2023 Julian Lechner
&copy; 2024 Julian Lechner
</p>
<!-- JS Imports -->
<script src="js/jquery-3.5.1.min.js"></script>
<script src="js/slide.js"></script>
<script src="js/github.js"></script>
<script src="js/donation.js"></script>
<script src="js/dynamic.js"></script>
<script data-name="BMC-Widget" data-cfasync="false" src="https://cdnjs.buymeacoffee.com/1.0.0/widget.prod.min.js" data-id="fraujuliannn" data-description="Support me on Buy me a coffee!" data-message="" data-color="#5F7FFF" data-position="Right" data-x_margin="18" data-y_margin="18"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-33TY5MDJ3X"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-33TY5MDJ3X');
</script>
</footer>
</body>
+47 -4
View File
@@ -10,8 +10,8 @@ bioBtn.onclick = function () {
leftArrow.classList.add("fa-arrow-down");
rightArrow.classList.remove("fa-arrow-left");
rightArrow.classList.add("fa-arrow-down");
leftArrow.style.position = "initial";
rightArrow.style.position = "initial";
leftArrow.style.position = "relative";
rightArrow.style.position = "relative";
unfade(bioModel);
} else {
bioModel.classList.add("hidden");
@@ -34,7 +34,7 @@ bioModel.onclick = function (evt) {
};
function fade(element) {
var op = 1; // initial opacity
var op = 1;
var timer = setInterval(function () {
if (op <= 0.1) {
clearInterval(timer);
@@ -47,7 +47,7 @@ function fade(element) {
}
function unfade(element) {
var op = 0.1; // initial opacity
var op = 0.1;
element.style.display = 'block';
var timer = setInterval(function () {
if (op >= 1) {
@@ -58,3 +58,46 @@ function unfade(element) {
op += op * 0.1;
}, 5);
}
const coords = { x: 0, y: 0 };
const circles = document.querySelectorAll(".circle");
const colors = [
"#b0b8ce"
];
circles.forEach(function (circle, index) {
circle.x = 1;
circle.y = 1;
circle.style.backgroundColor = colors[index % colors.length];
});
window.addEventListener("mousemove", function(e){
coords.x = e.clientX;
coords.y = e.clientY;
});
function animateCircles() {
let x = coords.x;
let y = coords.y;
circles.forEach(function (circle, index) {
circle.style.left = x - 10 + "px";
circle.style.top = y - 10 + "px";
circle.style.scale = (circles.length - index) / circles.length;
circle.x = x;
circle.y = y;
const nextCircle = circles[index + 1] || circles[0];
x += (nextCircle.x - x) * 0.08;
y += (nextCircle.y - y) * 0.08;
});
requestAnimationFrame(animateCircles);
}
animateCircles();
-2
View File
@@ -1,9 +1,7 @@
fetch("https://api.github.com/users/fraujulian/events")
.then(response => response.json())
.then(events => {
// inserting
let updates = document.getElementById("commits");
// empty div
updates.innerHTML = "";
for (let i = 0; i < 10; i++) {
let singleCommit = document.createElement("div");
+9 -8
View File
@@ -1,6 +1,6 @@
window.onload = function () {
let script = document.createElement("script");
script.src = "https://cdnjs.cloudflare.com/ajax/libs/showdown/1.9.1/showdown.min.js";
script.src = "https://cdnjs.cloudflare.com/ajax/libs/showdown/2.1.0/showdown.min.js";
document.body.appendChild(script);
const sortOnKey = (key, desc) => {
@@ -14,7 +14,7 @@
String.prototype.replaceAt = function (index, replacement) {
return this.substr(0, index) + replacement + this.substr(index + replacement.length);
}
fetch("https://api.github.com/users/fraujulian/repos?per_page=100")
fetch("https://api.github.com/users/fraujulian/repos?per_page=999")
.then(response => response.json())
.then(projects => {
projects = projects.sort(sortOnKey("stargazers_count", true));
@@ -27,7 +27,9 @@
let project = projects[i];
if (project != undefined) {
if (project.description == null)
project.description = "No description.";
project.description = "This project has no description";
if (project.language == null)
project.language = "No language stored!";
project.name = project.name.replaceAll('_', ' ').replaceAll('-', ' ');
projectDiv.innerHTML = `
<div class="media">
@@ -36,8 +38,8 @@
<strong class="d-block text-gray-dark">${project.name}</strong>
</a>
<div class="stars" style="float:right;">
📕 ${project.language}
<i class="far fa-star stargazers"></i>⭐ ${project.stargazers_count}
📕 ${project.language} <br>
⭐ ${project.stargazers_count}
</div>
</div>
<p>${project.description}</p>
@@ -46,7 +48,6 @@
fetch(`https://raw.githubusercontent.com/${project.full_name}/master/README.md`)
.then(response => response.text())
.then(text => {
// Convert markdown to html
let converter = new showdown.Converter();
let html = converter.makeHtml(text);
let projectModal = document.createElement("div");
@@ -62,8 +63,8 @@
projectDiv.onclick = function () {
projectModal.classList.remove("hidden");
document.body.scrollTop = 0; // For Safari
document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera
document.body.scrollTop = 0; // Safari
document.documentElement.scrollTop = 0; // Chrome Firefox IE Opera
document.body.style.opacity = 0.2;
};
+2 -2
View File
@@ -1,2 +1,2 @@
/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-lLine truncated
/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}function fe(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}ce.fn=ce.prototype={jquery:t,constructor:ce,length:0,toArray:function(){return ae.call(this)},get:function(e){return null==e?ae.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=ce.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return ce.each(this,e)},map:function(n){return this.pushStack(ce.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(ae.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(ce.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(ce.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:oe.sort,splice:oe.splice},ce.extend=ce.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||v(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(ce.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||ce.isPlainObject(n)?n:{},i=!1,a[t]=ce.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},ce.extend({expando:"jQuery"+(t+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==i.call(e))&&(!(t=r(e))||"function"==typeof(n=ue.call(t,"constructor")&&t.constructor)&&o.call(n)===a)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){m(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(c(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},text:function(e){var t,n="",r=0,i=e.nodeType;if(!i)while(t=e[r++])n+=ce.text(t);return 1===i||11===i?e.textContent:9===i?e.documentElement.textContent:3===i||4===i?e.nodeValue:n},makeArray:function(e,t){var n=t||[];return null!=e&&(c(Object(e))?ce.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:se.call(t,e,n)},isXMLDoc:function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!l.test(t||n&&n.nodeName||"HTML")},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(c(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:le}),"function"==typeof Symbol&&(ce.fn[Symbol.iterator]=oe[Symbol.iterator]),ce.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var pe=oe.pop,de=oe.sort,he=oe.splice,ge="[\\x20\\t\\r\\n\\f]",ve=new RegExp("^"+ge+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ge+"+$","g");ce.contains=function(e,t){var n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(e.contains?e.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))};var f=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function p(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e}ce.escapeSelector=function(e){return(e+"").replace(f,p)};var ye=C,me=s;!function(){var e,b,w,o,a,T,r,C,d,i,k=me,S=ce.expando,E=0,n=0,s=W(),c=W(),u=W(),h=W(),l=function(e,t){return e===t&&(a=!0),0},f="checked|selected|async|autofocus|autoplay|conLine truncated