diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..d1ae382
Binary files /dev/null and b/.DS_Store differ
diff --git a/adminer/adminer.css b/adminer/adminer.css
new file mode 100644
index 0000000..77bd4de
--- /dev/null
+++ b/adminer/adminer.css
@@ -0,0 +1,1072 @@
+/*
+╦ ╦╦ ╦╔╦╗╦═╗╔═╗
+╠═╣╚╦╝ ║║╠╦╝╠═╣
+╩ ╩ ╩ ═╩╝╩╚═╩ ╩
+Material Design Dark Theme for Adminer
+Made with ♥ from Niyko
+https://github.com/Niyko/Hydra-Dark-Theme-for-Adminer
+*/
+
+@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap');
+@import url('https://fonts.googleapis.com/icon?family=Material+Icons');
+html {
+ background-color: #221f2e;
+}
+body {
+ display: flex;
+ overflow: hidden;
+ height: 100vh;
+ width: auto;
+ background: #FAFAFA;
+ font-family: 'Montserrat', sans-serif;
+ text-rendering: optimizeLegibility !important;
+ overflow: auto;
+}
+* {
+ outline-color: #7962f2;
+}
+::selection {
+ background: #4ca0ea;
+ color: #fff
+}
+::-moz-selection {
+ background: #4ca0ea;
+ color: #fff
+}
+#lang {
+ position: fixed;
+ top: auto;
+ bottom: 0;
+ z-index: 3;
+ padding: .8em 1em;
+ width: 245px;
+ border-top: 1px solid #ccc;
+ background: #fff
+}
+#lang select {
+ width: 66%
+}
+#menu {
+ position: fixed;
+ top: 0;
+ z-index: 2;
+ display: flex;
+ margin: 0;
+ padding: 0;
+ height: 100%;
+ background: #fff;
+ box-shadow: 0 85px 5px 0 rgba(0, 0, 0, 0.14), 0 85px 10px 0 rgba(0, 0, 0, 0.12), 0 85px 4px -1px rgba(0, 0, 0, 0.2);
+ flex-flow: column
+}
+#menu h1 {
+ position: fixed;
+ right: 60px;
+ border-bottom: none;
+ font-size: 12px;
+ background: transparent;
+ padding: 4px 0
+}
+#menu select {
+ width: 86%
+}
+#menu #logins {
+ padding: 10px 14px 0;
+ height: 100%
+}
+#menu #logins:before {
+ content: 'Saved Logins';
+ display: block;
+ font-size: 1.2em;
+ margin: 84px 0 20px
+}
+#menu #logins a {
+ display: inline-block;
+ margin: 4px 0;
+ padding: 6px 12px;
+ height: 36px;
+ width: 86%;
+ border-radius: 2px;
+ color: #fff;
+ background: #7962f2;
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+ text-decoration: none;
+ transition: all .2s;
+ border-radius: 2px;
+ text-align: center;
+ font-weight: bold;
+ font-size: 13px;
+ line-height: 30px
+}
+#menu #logins a:hover {
+ background: #4a39a4
+}
+#menu.active {
+ background: #7962f2 !important;
+ color: #fff !important;
+ font-weight: auto
+}
+#menu .links a {
+ display: inline-block;
+ margin: 4px 2px;
+ padding: 5px;
+ width: 42%;
+ border-radius: 2px;
+ background: #fff;
+ color: #7962f2;
+ text-align: center;
+ text-transform: uppercase;
+ font-weight: bold;
+ font-size: 13px;
+ line-height: 24px;
+ transition: all .2s
+}
+#menu .links a:hover {
+ background: #7962f2;
+ color: #fff;
+ text-decoration: none;
+ font-weight: auto
+}
+a #h1 {
+ color: #AFB3B5
+}
+.version {
+ color: #AFB3B5
+}
+#tables {
+ overflow-x: hidden !important;
+ margin-bottom: 47px;
+ padding: 9px 12px 0 6px;
+ flex: 1
+}
+#tables .select:hover {
+ background: #7962f2;
+ color: #fff;
+ text-decoration: none;
+ font-weight: auto
+}
+#tables a {
+ display: inline-block;
+ overflow: hidden;
+ padding: 6px 0 6px 8px;
+ width: 175px;
+ border-radius: 2px;
+ text-overflow: ellipsis;
+ transition: all .2s;
+ color: #000
+}
+#tables a:hover {
+ background: #e4e5e6;
+ color: #000;
+ text-decoration: none
+}
+#tables a.select {
+ position: relative;
+ float: right;
+ padding: 5px;
+ width: auto;
+ border-radius: 2px;
+ background: #fff;
+ color: #7962f2;
+ text-align: center;
+ text-transform: uppercase;
+ font-weight: bold;
+ font-size: 13px;
+ line-height: 18px
+}
+#content {
+ display: flex;
+ flex-direction: column;
+ overflow-x: auto;
+ margin: 83px 0 0 19em;
+ padding: 17px 27px 100px;
+ min-width: 600px;
+ width: 100%
+}
+#content h2 {
+ position: fixed;
+ top: 0;
+ z-index: 1;
+ margin-left: -28px;
+ padding-top: 0;
+ padding-left: 30px;
+ width: 100%;
+ height: 65px;
+ background: #263238;
+ color: #AFB3B5;
+ line-height: 104px
+}
+#breadcrumb {
+ position: fixed;
+ z-index: 2;
+ padding-top: 10px;
+ padding-left: 20px;
+ background: #2f2b3f;
+ color: #263238
+}
+#breadcrumb a {
+ color: #7962f2;
+ font-size: 13px;
+ line-height: 18px;
+ transition: all .2s
+}
+#breadcrumb a:hover {
+ color: #4a39a4;
+ text-decoration: none
+}
+#logout {
+ position: fixed;
+ top: 21px;
+ right: 50px;
+ z-index: 2;
+ margin: 4px 2px;
+ padding: 5px;
+ min-width: 88px;
+ outline: none;
+ border: none;
+ border-radius: 2px;
+ background: #7962f2;
+ box-shadow: 0 1px 4px rgba(88, 88, 88, 0.41), 0 2px 3px rgba(88, 88, 88, 0.26);
+ color: #fff;
+ text-align: center;
+ text-transform: uppercase;
+ font-weight: bold;
+ font-size: 13px;
+ line-height: 24px;
+ transition: all .2s
+}
+#logout:hover {
+ background: #4a39a4
+}
+select {
+ margin: 0;
+ padding: 3px;
+ border: none;
+ border: 1px solid rgba(0, 0, 0, 0.12);
+ border-radius: 2px;
+ color: #666;
+ background: #fff;
+ cursor: pointer
+}
+a,
+a:link {
+ color: #7962f2;
+ transition: all .2s
+}
+a:hover,
+a:link:hover {
+ color: #4a39a4;
+ text-decoration: none
+}
+input:not([type]),
+input[type=number],
+input[type=password],
+input[type=search],
+input[type=text] {
+ padding: 8px;
+ border: 1px solid rgba(0, 0, 0, 0.12);
+ border-radius: 2px;
+ font-size: 15px
+}
+input[type=search]:first-child {
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12)
+}
+input[type=submit] {
+ padding: 0 16px;
+ min-width: 64px;
+ height: 36px;
+ border: none;
+ border-radius: 2px;
+ background: #7962f2;
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+ color: #fff;
+ text-transform: uppercase;
+ font-size: 14px;
+ cursor: pointer;
+ transition: all .2s
+}
+input[type=submit]:hover {
+ background: #4a39a4
+}
+input[type=button][disabled],
+input[type=submit][disabled] {
+ background: #AFB3B5;
+ color: #504c4a;
+ cursor: no-drop
+}
+div input[name=delete],
+div input[name=drop],
+div input[name=truncate],
+input[value=Kill] {
+ background: repeating-linear-gradient(-55deg, #7962f2, #7962f2 5px, #4ca0ea 5px, #4ca0ea 10px);
+ transition: all .2s
+}
+div input[name=delete]:hover,
+div input[name=drop]:hover,
+div input[name=truncate]:hover,
+input[value=Kill]:hover {
+ background: repeating-linear-gradient(-55deg, #4a39a4, #4a39a4 5px, #7962f2 5px, #7962f2 10px)
+}
+input[type=checkbox] {
+ display: inline-block;
+ padding-left: 25px;
+ height: 20px;
+ outline: 0;
+ background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgd2lkdGg9IjIwcHQiCiAgIGhlaWdodD0iNDBwdCIKICAgdmlld0JveD0iMCAwIDIwIDQwIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmcyIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjQ4LjUgcjEwMDQwIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjaGVjay5zdmciPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTE5Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMTciIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMTciCiAgICAgaWQ9Im5hbWVkdmlldzE1IgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIxNiIKICAgICBpbmtzY2FwZTpjeD0iNDMuNzAyNjQ2IgogICAgIGlua3NjYXBlOmN5PSIzMS45NTE3ODMiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjE5MTIiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMiIgLz4KICA8ZwogICAgIHN0eWxlPSJmaWxsOiMwMDAwMDAiCiAgICAgaWQ9ImczMDY4IgogICAgIHRyYW5zZm9ybT0ic2NhbGUoMC44LDAuOCkiPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMzA1OCIKICAgICAgIGQ9Ik0gMTksNSBWIDE5IEggNSBWIDUgSCAxOSBNIDE5LDMgSCA1IEMgMy45LDMgMywzLjkgMyw1IHYgMTQgYyAwLDEuMSAwLjksMiAyLDIgaCAxNCBjIDEuMSwwIDIsLTAuOSAyLC0yIFYgNSBDIDIxLDMuOSAyMC4xLDMgMTksMyB6IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDMwNjAiCiAgICAgICBkPSJNIDAsMCBIIDI0IFYgMjQgSCAwIHoiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZSIgLz4KICA8L2c+CiAgPGcKICAgICBzdHlsZT0iZmlsbDojMDAwMDAwIgogICAgIGlkPSJnMzA4NCIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjgsMCwwLDAuOCwwLDIwKSI+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgzMDc0IgogICAgICAgZD0iTSAwLDAgSCAyNCBWIDI0IEggMCB6IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIHN0eWxlPSJmaWxsOm5vbmUiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgzMDc2IgogICAgICAgZD0iTSAxOSwzIEggNSBDIDMuODksMyAzLDMuOSAzLDUgdiAxNCBjIDAsMS4xIDAuODksMiAyLDIgaCAxNCBjIDEuMTEsMCAyLC0wLjkgMiwtMiBWIDUgQyAyMSwzLjkgMjAuMTEsMyAxOSwzIHogTSAxMCwxNyA1LDEyIDYuNDEsMTAuNTkgMTAsMTQuMTcgMTcuNTksNi41OCAxOSw4IDEwLDE3IHoiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogIDwvZz4KPC9zdmc+Cg==");
+ background-position: 0 0;
+ background-size: 20px;
+ background-repeat: no-repeat;
+ vertical-align: middle;
+ font-size: 20px;
+ line-height: 20px;
+ cursor: pointer;
+ -webkit-appearance: none;
+ -webkit-user-select: none;
+ user-select: none
+}
+input[type=checkbox]:checked {
+ background-position: 0 -20px
+}
+input[type=radio] {
+ display: inline-block;
+ padding-left: 25px;
+ height: 20px;
+ outline: 0;
+ background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgd2lkdGg9IjIwcHQiCiAgIGhlaWdodD0iNDBwdCIKICAgdmlld0JveD0iMCAwIDIwIDQwIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmcyIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjQ4LjUgcjEwMDQwIgogICBzb2RpcG9kaTpkb2NuYW1lPSJjaGVjay5zdmciPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTE5Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMTciIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMTciCiAgICAgaWQ9Im5hbWVkdmlldzE1IgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIyMi42Mjc0MTciCiAgICAgaW5rc2NhcGU6Y3g9IjguNzkxODMzNyIKICAgICBpbmtzY2FwZTpjeT0iMTEuODUxMjkzIgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmcyIiAvPgogIDxnCiAgICAgaWQ9ImczMDE1IgogICAgIHRyYW5zZm9ybT0ic2NhbGUoMC44LDAuOCkiPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMzAwNSIKICAgICAgIGQ9Ik0gMTIsMiBDIDYuNDgsMiAyLDYuNDggMiwxMiAyLDE3LjUyIDYuNDgsMjIgMTIsMjIgMTcuNTIsMjIgMjIsMTcuNTIgMjIsMTIgMjIsNi40OCAxNy41MiwyIDEyLDIgeiBtIDAsMTggQyA3LjU4LDIwIDQsMTYuNDIgNCwxMiA0LDcuNTggNy41OCw0IDEyLDQgYyA0LjQyLDAgOCwzLjU4IDgsOCAwLDQuNDIgLTMuNTgsOCAtOCw4IHoiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMzAwNyIKICAgICAgIGQ9Ik0gMCwwIEggMjQgViAyNCBIIDAgeiIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBzdHlsZT0iZmlsbDpub25lIiAvPgogIDwvZz4KICA8ZwogICAgIGlkPSJnMzA0MiIKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjgsMCwwLDAuOCwwLDIwLjgpIj4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDMwMzIiCiAgICAgICBkPSJtIDEyLDcgYyAtMi43NiwwIC01LDIuMjQgLTUsNSAwLDIuNzYgMi4yNCw1IDUsNSAyLjc2LDAgNSwtMi4yNCA1LC01IEMgMTcsOS4yNCAxNC43Niw3IDEyLDcgeiBNIDEyLDIgQyA2LjQ4LDIgMiw2LjQ4IDIsMTIgMiwxNy41MiA2LjQ4LDIyIDEyLDIyIDE3LjUyLDIyIDIyLDE3LjUyIDIyLDEyIDIyLDYuNDggMTcuNTIsMiAxMiwyIHogbSAwLDE4IEMgNy41OCwyMCA0LDE2LjQyIDQsMTIgNCw3LjU4IDcuNTgsNCAxMiw0IGMgNC40MiwwIDgsMy41OCA4LDggMCw0LjQyIC0zLjU4LDggLTgsOCB6IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDMwMzQiCiAgICAgICBkPSJNIDAsMCBIIDI0IFYgMjQgSCAwIHoiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZSIgLz4KICA8L2c+Cjwvc3ZnPg==");
+ background-position: 0 0;
+ background-size: 20px;
+ background-repeat: no-repeat;
+ vertical-align: middle;
+ font-size: 20px;
+ line-height: 20px;
+ cursor: pointer;
+ -webkit-appearance: none;
+ -webkit-user-select: none;
+ user-select: none
+}
+input[type=radio]:checked {
+ background-position: 0 -21px
+}
+input[type=number] {
+ padding: 8px
+}
+#help {
+ display: none
+}
+.sqlarea.jush-sql.jush {
+ border: 1px solid rgba(0, 0, 0, 0.12) !important;
+ background: #fff;
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12)
+}
+.js .column {
+ left: -50px;
+ margin: -6px 0 0;
+ padding: 5px 0 7px 3px;
+ border: 1px solid rgba(0, 0, 0, 0.12);
+ border-radius: 3px;
+ background: #fff;
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12)
+}
+.js .column a {
+ padding: 1px 8px 3px 5px;
+ margin-right: 3px;
+ border-radius: 2px;
+ color: #7962f2;
+ transition: all .2s
+}
+.js .column a:hover {
+ color: #fff;
+ background: #7962f2
+}
+table {
+ margin-top: 20px;
+ min-width: 800px;
+ border-collapse: collapse;
+ box-shadow: none;
+ white-space: nowrap;
+ font-size: 13px;
+ order: 4
+}
+form table {
+ width: 100%
+}
+thead td,
+thead th {
+ background: #ececec;
+ position: sticky;
+ top: 0;
+ z-index: 2
+}
+thead td:before,
+thead th:before {
+ content: '';
+ position: absolute;
+ background: #fafafa;
+ top: -20px;
+ left: -10px;
+ width: 120%;
+ height: 20px
+}
+thead td:after,
+thead th:after {
+ content: '';
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ width: 100%;
+ border-bottom: 1px solid #cecece
+}
+thead th {
+ padding: 0 18px;
+ text-align: left
+}
+th {
+ box-sizing: border-box;
+ padding: 5px 18px !important;
+ width: 20%;
+ border: 1px solid #ececec;
+ background: #fff;
+ font-weight: normal;
+ font-size: 14px
+}
+td {
+ box-sizing: border-box;
+ padding: 2px 10px 0;
+ height: 45px;
+ border: 1px solid #ececec;
+ background: #fff;
+ color: #000
+}
+.odd td,
+.odd th {
+ background: #fafafa
+}
+td a,
+td a:visited,
+th a,
+th a:visited {
+ color: #7962f2;
+ font-weight: 700
+}
+.js .checkable .checked td,
+.js .checkable .checked th {
+ background: #e0e0e0
+}
+#noindex,
+sup {
+ display: none
+}
+.pages {
+ position: absolute;
+ padding: 10px 20px 0;
+ height: 35px;
+ border: 1px solid rgba(0, 0, 0, 0.12);
+ background-color: #fff;
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+ font-size: 15px
+}
+.pages a:not(:first-child) {
+ margin-top: 5px;
+ padding: 5px;
+ border: 1px solid #7962f2;
+ border-radius: 2px;
+ color: #263238;
+ text-align: center
+}
+.pages a:not(:first-child):hover {
+ background: #7962f2;
+ color: #fff;
+ text-decoration: none
+}
+.icon {
+ width: 24px;
+ height: 24px;
+ border-radius: 2px;
+ background: #000;
+ opacity: .8;
+ -webkit-filter: contrast(125%) invert(1);
+ filter: contrast(125%) invert(1);
+ transition: all .2s
+}
+.icon:hover {
+ background: #e1771a
+}
+.footer {
+ background: none;
+ border: none;
+ border-color: transparent;
+ position: relative
+}
+.footer>div {
+ background: transparent
+}
+#content form {
+ display: table;
+ order: 1
+}
+#content table:nth-of-type(1) {
+ order: 1;
+ margin: 38px 0
+}
+#content .links,
+#content h3,
+#content h3+.error {
+ margin: 15px 0 0;
+ order: 4
+}
+#content .links:nth-of-type(2) {
+ margin-top: 30px;
+ order: 0
+}
+#content .links a {
+ display: inline-block;
+ margin: 4px;
+ padding: 6px 12px;
+ min-width: 88px;
+ border-radius: 2px;
+ background: #fff;
+ box-shadow: 0 1px 4px rgba(88, 88, 88, 0.41), 0 2px 3px rgba(88, 88, 88, 0.26);
+ color: #7962f2;
+ text-align: center;
+ text-transform: uppercase;
+ font-weight: bold;
+ font-size: 13px;
+ line-height: 24px;
+ transition: all .2s
+}
+#content .links a:hover {
+ background: #7962f2;
+ color: #fff;
+ text-decoration: none
+}
+#content .links .active {
+ background: #7962f2;
+ color: #fff;
+ cursor: default
+}
+#content form>fieldset:first-child {
+ background-color: transparent;
+ border: none;
+ box-shadow: none;
+ float: right;
+ margin: 0;
+ padding: 0;
+ margin-bottom: 4px;
+ margin-top: -40px
+}
+#content form>fieldset:first-child legend {
+ /* display: none */
+ position: relative;
+ top: -4px;
+}
+#content #form fieldset:nth-of-type(1) {
+ /* display: none */
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+ /* position: relative; */
+ top: 57px;
+ padding: 7px 10px;
+ padding-bottom: 11px;
+}
+#content fieldset:nth-of-type(2).jsonly {
+ float: right;
+ margin-top: -30px;
+ margin-right: 8px;
+ border: none
+}
+#content fieldset:nth-of-type(2).jsonly legend {
+ display: none
+}
+#content fieldset:first-child #fieldset-import,
+#content fieldset:nth-of-type(1),
+#content fieldset:nth-of-type(2):not(.jsonly),
+#content fieldset:nth-of-type(3),
+#content fieldset:nth-of-type(4),
+#content fieldset:nth-of-type(5) {
+ margin-bottom: 10px;
+ padding-bottom: 11px;
+ min-height: 57px;
+ border: 1px solid rgba(0, 0, 0, 0.12);
+ background-color: #fff;
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12)
+}
+#content fieldset:nth-of-type(6) {
+ border: none
+}
+#content fieldset:nth-of-type(6) legend {
+ visibility: hidden
+}
+#content legend a {
+ padding: 5px;
+ color: #7962f2;
+ font-weight: bold;
+ font-size: 13px;
+ line-height: 18px;
+ transition: all .2s
+}
+#content legend a:hover {
+ color: #4a39a4;
+ text-decoration: none
+}
+#content fieldset:first-child #fieldset-import {
+ margin-top: 36px;
+ padding: 13px 10px 0 9px;
+ margin-left: -12px
+}
+#content fieldset:first-child #fieldset-import:before {
+ content: 'Import';
+ position: absolute;
+ top: 8px;
+ left: 20px;
+ background: #fff;
+ padding: 0 7px
+}
+#content input[name=copy],
+#content input[name=move] {
+ float: right;
+ margin-right: -20px;
+ margin-left: 25px
+}
+#content input[name=copy],
+#content input[name=move] {
+ float: right;
+ margin-right: -20px;
+ margin-left: 25px
+}
+#content select {
+ margin-bottom: 2px;
+ padding: 8px
+}
+/*====== DARK MODE ======================================================================================================================*/
+#content {
+ background: #221f2e;
+ color: #ffffff;
+}
+#content h2 {
+ background: #2f2b3f;
+}
+#logout {
+ background: #7962f2;
+}
+#logout:hover {
+ background: #7962f2;
+}
+td {
+ background: #2f2b3f;
+ border: 1px solid rgba(0,0,0,0.1);
+}
+input[type="checkbox"] {
+ filter: invert();
+}
+.odd td, .odd th {
+ background: #2f2b3f;
+}
+tbody tr:hover td, tbody tr:hover th {
+ background: #2f2b3f;
+}
+th {
+ background: #2f2b3f;
+ border: 1px solid rgba(0,0,0,0.1);
+}
+thead td, thead th {
+ background: #4c4665;
+ color: #ffffff;
+ font-weight: 700;
+ text-transform: uppercase;
+ font-size: 13px;
+}
+thead td::after, thead th::after {
+ border-bottom: 1px solid transparent;
+}
+thead td::before, thead th::before {
+ background: #221f2e;
+}
+#content table {
+ border-radius: 7px;
+}
+#content table thead td:first-child, #content table thead th:first-child {
+ border-top-left-radius: 7px;
+}
+#content table thead td:last-child, #content table thead th:last-child {
+ border-top-right-radius: 7px;
+}
+#content table tbody tr:last-child td:first-child, #content table tbody tr:last-child th:first-child {
+ border-bottom-left-radius: 7px;
+}
+#content table tbody tr:last-child td:last-child, #content table tbody tr:last-child th:last-child {
+ border-bottom-right-radius: 7px;
+}
+#content .links a {
+ background: #7962f2;
+ color: #ffffff;
+}
+#menu {
+ background-color: #221f2e;
+ background-image: url('data:image/png;base64,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lJoACwAAAIBSE2ABAAAAUGoCLAAAAABKTYAFAAAAQKkJsAAAAAAoNQEWAAAAAKUmwAIAAACg1ARYAAAAAJSaAAsAAACAUhNgAQAAAFBqAiwAAAAASk2ABQAAAECpCbAAAAAAKDUBFgAAAAClJsACAAAAoNQEWAAAAACUmgALAAAAgFITYAEAAABQagIsAAAAAEpNgAUAAABAqQmwAAAAACg1ARYAAAAApSbAAgAAAKDUBFgAAAAAlJoACwAAAIBSE2ABAAAAUGoCLAAAAABKTYAFAAAAQKkJsAAAAAAoNQEWAAAAAKUmwAIAAACg1ARYAAAAAJSaAAsAAACAUhNgAQAAAFBqAiwAAAAASk2ABQAAAECpCbAAAAAAKDUBFgAAAAClJsACAAAAoNQEWAAAAACUmgALAAAAgFITYAEAAABQagIsAAAAAEpNgAUAAABAqQmwAAAAACg1ARYAAAAApSbAAgAAAKDUBFgAAAAAlJoACwAAAIBSE2ABAAAAUGoCLAAAAABKTYAFAAAAQKkJsAAAAAAoNQEWAAAAAKUmwAIAAACg1ARYAAAAAJSaAAsAAACAUhNgAQAAAFBqAiwAAAAASk2ABQAAAECpCbAAAAAAKDUBFgAAAAClJsACAAAAoNQEWAAAAACUmgALAAAAgFITYAEAAABQagIsAAAAAEpNgAUAAABAqQmwAAAAACg1ARYAAAAApSbAAgAAAKDUBFgAAAAAlJoACwAAAIBSE2ABAAAAUGoCLAAAAABKTYAFAAAAQKkJsAAAAAAoNQEWAAAAAKUmwAIAAACg1ARYAAAAAJSaAAsAAACAUhNgAQAAAFBqAiwAAAAASk2ABQAAAECpCbAAAAAAKDUBFgAAAAClJsACAAAAoNQEWAAAAACUmgALAAAAgFITYAEAAABQagIsAAAAAEpNgAUAAABAqQmwAAAAACg1ARYAAAAApSbAAgAAAKDUBFgAAAAAlJoACwAAAIBSE2ABAAAAUGoCLAAAAABKTYAFAAAAQKkJsAAAAAAoNQEWAAAAAKUmwAIAAACg1ARYAAAAAJSaAAsAAACAUhNgAQAAAFBqAiwAAAAASk2ABQAAAECpCbAAAAAAKDUBFgAAAAClJsACAAAAoNQEWAAAAACUmgALAAAAgFITYAEAAABQagIsAAAAAEpNgAUAAABAqQmwAAAAACg1ARYAAAAApSbAAgAAAKDUBFgAAAAAlJoACwAAAIBSE2ABAAAAUGoCLAAAAABKTYAFAAAAQKkJsAAAAAAoNQEWAAAAAKUmwAIAAACg1ARYAAAAAJSaAAsAAACAUhNgAQAAAFBqAiwAAAAASk2ABQAAAECpCbAAAAAAKDUBFgAAAAClJsACAAAAoNQEWAAAAACUmgALAAAAgFITYAEAAABQagIsAAAAAEpNgAUAAABAqQmwAAAAACg1ARYAAAAApSbAAgAAAKDUBFgAAAAAlJoACwAAAIBSE2ABAAAAUGoCLAAAAABKTYAFAAAAQKkJsAAAAAAoNQEWAAAAAKUmwAIAAACg1ARYAAAAAJSaAAsAAACAUhNgAQAAAFBqAiwAAAAASk2ABQAAAECpCbAAAAAAKDUBFgAAAAClJsACAAAAoNQEWAAAAACUmgALAAAAgFITYAEAAABQagIsAAAAAEpNgAUAAABAqQmwAAAAACg1ARYAAAAApSbAAgAAAKDUBFgAAAAAlJoACwAAAIBSE2ABAAAAUGoCLAAAAABKTYAFAAAAQKkJsAAAAAAoNQEWAAAAAKUmwAIAAACg1ARYAAAAAJSaAAsAAACAUhNgAQAAAFBqAiwAAAAASk2ABQAAAECpCbAAAAAAKDUBFgAAAAClJsACAAAAoNQEWAAAAACUmgALAAAAgFITYAEAAABQagIsAAAAAEpNgAUAAABAqQmwAAAAACg1ARYAAAAApSbAAgAAAKDUBFgAAAAAlJoACwAAAIBSE2ABAAAAUGoCLAAAAABKTYAFAAAAQKkJsAAAAAAoNQEWAAAAAKUmwAIAAACg1ARYAAAgOa87AAAgAElEQVQAAJSaAAsAAACAUhNgAQAAAFBqAiwAAAAASk2ABQAAAECpCbAAAAAAKDUBFgAAAAClJsACAAAAoNQEWAAAAACUmgALAAAAgFITYAEAAABQagIsAAAAAEpNgAUAAABAqQmwAAAAACg1ARYAAAAApSbAAgAAAKDUBFgAAAAAlJoACwAAAIBSE2ABAAAAUGoCLAAAAABKTYAFAAAAQKkJsAAAAAAoNQEWAAAAAKUmwAIAAACg1ARYAAAAAJSaAAsAAACAUhNgAQAAAFBqAiwAAAAASk2ABQAAAECpCbAAAAAAKDUBFgAAAAClJsACAAAAoNQEWAAAAACUmgALAAAAgFITYAEAAABQagIs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');
+ background-size: 100%;
+ background-repeat: no-repeat;
+ background-position: top;
+ padding-top: 68px;
+}
+#menu #dbs {
+ border: none;
+ background: #fff;
+ margin: 15px;
+ border-radius: 1000px;
+ padding: 4px 14px;
+ font-weight: 500;
+ box-shadow: 0 5px 15px rgba(0,0,0,0.3);
+}
+#menu form {
+ /*background: #7962f2;*/
+}
+#menu .links {
+ /*background-color: #7962f2;
+ background-image: url('side-menu-bg.png');*/
+ padding-bottom: 158px;
+ background-size: 100%;
+ background-position: bottom;
+ border: none;
+}
+#menu .links a {
+ background: rgba(255,255,255,0.2);
+ color: #fff;
+}
+#tables a {
+ background: transparent;
+ color: #fff;
+ font-weight: 500;
+}
+#tables a.select {
+ background: rgba(255,255,255,0.2);
+ color: #fff;
+}
+#content h2 {
+ color: #fff;
+}
+#breadcrumb a {
+ color: #7962f2
+}
+#breadcrumb {
+ text-transform: uppercase;
+ font-weight: 700;
+ color: rgba(255,255,255,0.3);
+}
+#menu select {
+ background: transparent;
+ border: none;
+ font-family: 'Montserrat', sans-serif;
+ text-transform: uppercase;
+ font-weight: 700;
+ color: rgba(0,0,0,0.6);
+}
+#dbs{
+ color: transparent;
+}
+#dbs span{
+ font-size: 0px;
+}
+#dbs span::before {
+ font-size: 16px;
+ position: relative;
+ top: 1px;
+ color: #000;
+ content: "dns";
+ font-family: "Material Icons";
+}
+#menu select {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ text-indent: 1px;
+ text-overflow: '';
+ width: 78%;
+ position: relative;
+ top: -1px;
+}
+#dbs::after{
+ content: "arrow_forward_ios";
+ font-family: "Material Icons";
+ font-size: 15px;
+ color: #000;
+ position: relative;
+ display: inline;
+ top: 1px;
+ left: 8px;
+ opacity: 0.6;
+}
+#tables .structure{
+ font-size: 14px;
+ position: relative;
+ top: -8px;
+ width: 67%;
+}
+#tables .structure::before {
+ content: "drag_indicator";
+ font-family: "Material Icons";
+ font-size: 18px;
+ color: #fff;
+ position: relative;
+ display: inline;
+ top: 3px;
+ left: -2px;
+ opacity: 0.6;
+}
+#menu p, #tables {
+ border-bottom: 1px solid transparent;
+}
+#tables a:hover {
+ background: transparent;
+ color: #7962f2;
+}
+input[type="search"]{
+ background: rgba(255,255,255,0.2);
+ border-radius: 1000px;
+ color: #fff;
+ padding-left:10px;
+}
+input[type="submit"] {
+ background: #7962f2;
+ color: #ffffff;
+ text-transform: uppercase;
+ font-weight: bold;
+}
+a, a:link {
+ color: #7962f2;
+ transition: all .2s;
+}
+td{
+ color: #ffffff;
+}
+#content fieldset:first-child #fieldset-import, #content fieldset:nth-of-type(1), #content fieldset:nth-of-type(2):not(.jsonly), #content fieldset:nth-of-type(3), #content fieldset:nth-of-type(4), #content fieldset:nth-of-type(5) {
+ background-color: #221f2e;
+}
+div input[name="delete"], div input[name="drop"], div input[name="truncate"], input[value="Kill"] {
+ background: repeating-linear-gradient(-55deg, #7962f2, #7962f2 5px, #4a39a4 5px, #4a39a4 10px);
+}
+div input[name="delete"]:hover, div input[name="drop"]:hover, div input[name="truncate"]:hover, input[value="Kill"]:hover {
+ background: repeating-linear-gradient(-55deg, #4a39a4, #4a39a4 5px, #7962f2 5px, #7962f2 10px);
+}
+.js .checkable .checked td, .js .checkable .checked th {
+ background: #221f2e;
+}
+td a, td a:visited, th a, th a:visited {
+ color: #7962f2;
+}
+a:link:hover, a:visited:hover {
+ color: #4a39a4;
+}
+#tables .select:hover {
+ background: #7962f2;
+ color: #fff;
+}
+input[type="button"][disabled], input[type="submit"][disabled] {
+ background: rgba(255,255,255,0.1); !important;
+ color: rgba(255,255,255,0.3);
+}
+::-webkit-scrollbar {
+ width: 10px;
+ border-radius: 1000px;
+ background: #1E1C27;
+}
+::-webkit-scrollbar-thumb {
+ background: #76757B;
+ width: 10px;
+ border-radius: 1000px;
+}
+table{
+ background: #2f2b3f;
+}
+#content select {
+ background: rgba(255,255,255,0.1);
+ color: #fff;
+ border-radius: 7px;
+}
+input:not([type]), input[type="number"], input[type="password"], input[type="search"], input[type="text"] {
+ background: rgba(255,255,255,0.1);
+ color: #fff;
+ border-radius: 5px;
+}
+textarea {
+ background: rgba(255,255,255,0.1);
+ color: #fff;
+ border: none;
+ border-radius: 5px;
+}
+#menu #logins a {
+ background: rgba(255,255,255,0.1);
+ color: #ffffff;
+}
+#menu #logins::before {
+ color: #ffffff;
+}
+#content .links a:hover {
+ background: #4a39a4;
+ color: #fff;
+}
+#menu .links a:hover {
+ background: #ffffff;
+ color: #7962f2;
+}
+#content .links .active {
+ background: rgba(255,255,255,0.2);
+ color: #fff;
+}
+code {
+ filter: sepia() invert();
+ color: #000000;
+}
+#content legend a {
+ color: #7962f2;
+}
+#content legend a:hover {
+ color: #7962f2;
+}
+.js .column {
+ background: #221f2e;
+}
+.sqlarea.jush-sql.jush {
+ filter: sepia() invert();
+ background: transparent;
+ box-shadow: none;
+ border: 2px solid rgba(0,0,0,0.1) !important;
+ border-radius: 12px;
+}
+input[type="radio"] {
+ filter: invert();
+}
+.icon:hover {
+ background: #000;
+}
+select option {
+ background: #221f2e;
+}
+select[name="db"] option {
+ background: #ffffff;
+}
+.message {
+ padding: 13px;
+ background: #7962f2;
+ color: #fff;
+ font-weight: 600;
+ text-transform: capitalize;
+ border-radius: 5px;
+}
+.message a{
+ color: #ffffff;
+ border-bottom: 2px solid #ffffff;
+}
+.error {
+ padding: 13px;
+ background: #7962f2;
+ color: #fff;
+ font-weight: 600;
+ text-transform: capitalize;
+ border-radius: 5px;
+}
+#version{
+ color: #7962f2;
+}
+#tables{
+ /* margin-bottom: 100px; */
+}
+a[href="#import"]{
+ font-weight: 600;
+ padding: 11px 16px;
+ border: none;
+ border-radius: 2px;
+ background: #7962f2;
+ box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
+ color: #fff;
+ text-transform: uppercase;
+ font-size: 14px;
+ cursor: pointer;
+ transition: all .2s;
+}
+a[href="#import"]:hover{
+ color: #ffffff;
+}
+#menu h1:first-of-type{
+ margin-top: -9px;
+}
+#lang{
+ box-shadow: 0 5px 15px rgba(0,0,0,0.3);
+ background: #7962f2;
+ color: #ffffff;
+ border: none;
+ right: -184px;
+ left: auto;
+ bottom: 30px;
+ width: 227px;
+ height: 42px;
+ border-top-left-radius: 12px;
+ border-bottom-left-radius: 12px;
+ font-size: 0px;
+ transition-duration: 0.3s;
+}
+#lang:hover{
+ right: 0px;
+}
+#lang::before{
+ content: "";
+ background-image: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNTEyLjQxOCA1MTIuNDE4IiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMi40MTggNTEyLjQxOCIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtNDM3LjMzNSA3NS4wODJjLTEwMC4xLTEwMC4xMDItMjYyLjEzNi0xMDAuMTE4LTM2Mi4yNTIgMC0xMDAuMTAzIDEwMC4xMDItMTAwLjExOCAyNjIuMTM2IDAgMzYyLjI1MyAxMDAuMSAxMDAuMTAyIDI2Mi4xMzYgMTAwLjExNyAzNjIuMjUyIDAgMTAwLjEwMy0xMDAuMTAyIDEwMC4xMTctMjYyLjEzNiAwLTM2Mi4yNTN6bS0xMC43MDYgMzI1LjczOWMtMTEuOTY4LTEwLjcwMi0yNC43Ny0yMC4xNzMtMzguMjY0LTI4LjMzNSA4LjkxOS0zMC44MDkgMTQuMjAzLTY0LjcxMiAxNS40NTItOTkuOTU0aDc1LjMwOWMtMy40MDUgNDcuNTAzLTIxLjY1NyA5Mi4wNjQtNTIuNDk3IDEyOC4yODl6bS0zOTMuMzM4LTEyOC4yODloNzUuMzA5YzEuMjQ5IDM1LjI0MiA2LjUzMyA2OS4xNDUgMTUuNDUyIDk5Ljk1NC0xMy40OTQgOC4xNjItMjYuMjk2IDE3LjYzMy0zOC4yNjQgMjguMzM1LTMwLjg0LTM2LjIyNS00OS4wOTEtODAuNzg2LTUyLjQ5Ny0xMjguMjg5em01Mi40OTgtMTYwLjkzNmMxMS45NjggMTAuNzAyIDI0Ljc3IDIwLjE3MyAzOC4yNjQgMjguMzM1LTguOTE5IDMwLjgwOS0xNC4yMDMgNjQuNzEyLTE1LjQ1MiA5OS45NTRoLTc1LjMxYzMuNDA2LTQ3LjUwMiAyMS42NTctOTIuMDYzIDUyLjQ5OC0xMjguMjg5em0xNTQuMDk3IDMxLjcwOWMtMjYuNjIyLTEuOTA0LTUyLjI5MS04LjQ2MS03Ni4wODgtMTkuMjc4IDEzLjg0LTM1LjYzOSAzOS4zNTQtNzguMzg0IDc2LjA4OC04OC45Nzd6bTAgMzIuNzA4djYzLjg3M2gtOTguNjI1YzEuMTMtMjkuODEyIDUuMzU0LTU4LjQzOSAxMi4zNzktODQuNjMyIDI3LjA0MyAxMS44MjIgNTYuMTI3IDE4Ljg4MiA4Ni4yNDYgMjAuNzU5em0wIDk2LjUxOXY2My44NzNjLTMwLjExOSAxLjg3Ny01OS4yMDMgOC45MzctODYuMjQ2IDIwLjc1OS03LjAyNS0yNi4xOTMtMTEuMjQ5LTU0LjgyLTEyLjM3OS04NC42MzJ6bTAgOTYuNTgxdjEwOC4yNTRjLTM2LjczMi0xMC41OTMtNjIuMjQ2LTUzLjMzMy03Ni4wODgtODguOTc2IDIzLjc5Ny0xMC44MTcgNDkuNDY2LTE3LjM3NCA3Ni4wODgtMTkuMjc4em0zMi42NDYgMGMyNi42MjIgMS45MDQgNTIuMjkxIDguNDYxIDc2LjA4OCAxOS4yNzgtMTMuODQxIDM1LjY0LTM5LjM1NCA3OC4zODMtNzYuMDg4IDg4Ljk3NnptMC0zMi43MDh2LTYzLjg3M2g5OC42MjVjLTEuMTMgMjkuODEyLTUuMzU0IDU4LjQzOS0xMi4zNzkgODQuNjMyLTI3LjA0My0xMS44MjItNTYuMTI3LTE4Ljg4Mi04Ni4yNDYtMjAuNzU5em0wLTk2LjUxOXYtNjMuODczYzMwLjExOS0xLjg3NyA1OS4yMDMtOC45MzcgODYuMjQ2LTIwLjc1OSA3LjAyNSAyNi4xOTMgMTEuMjQ5IDU0LjgyIDEyLjM3OSA4NC42MzJ6bTAtOTYuNTgxdi0xMDguMjU0YzM2LjczNCAxMC41OTMgNjIuMjQ4IDUzLjMzOCA3Ni4wODggODguOTc3LTIzLjc5NyAxMC44MTYtNDkuNDY2IDE3LjM3My03Ni4wODggMTkuMjc3em03My4zMi05MS45NTdjMjAuODk1IDkuMTUgNDAuMzg5IDIxLjU1NyA1Ny44NjQgMzYuOTUxLTguMzE4IDcuMzM0LTE3LjA5NSAxMy45ODQtMjYuMjYgMTkuOTMxLTguMTM5LTIwLjE1Mi0xOC41MzYtMzkuNzM2LTMxLjYwNC01Ni44ODJ6bS0yMTAuODkxIDU2Ljg4MmMtOS4xNjUtNS45NDctMTcuOTQxLTEyLjU5Ny0yNi4yNi0xOS45MzEgMTcuNDc1LTE1LjM5NCAzNi45NjktMjcuODAxIDU3Ljg2NC0zNi45NTEtMTMuMDY4IDE3LjE0OC0yMy40NjUgMzYuNzMyLTMxLjYwNCA1Ni44ODJ6bS4wMDEgMjk1Ljk1OGM4LjEzOCAyMC4xNTEgMTguNTM3IDM5LjczNiAzMS42MDQgNTYuODgyLTIwLjg5NS05LjE1LTQwLjM4OS0yMS41NTctNTcuODY0LTM2Ljk1MSA4LjMxOC03LjMzNCAxNy4wOTUtMTMuOTg0IDI2LjI2LTE5LjkzMXptMjQyLjQ5NCAwYzkuMTY1IDUuOTQ3IDE3Ljk0MiAxMi41OTcgMjYuMjYgMTkuOTMtMTcuNDc1IDE1LjM5NC0zNi45NjkgMjcuODAxLTU3Ljg2NCAzNi45NTEgMTMuMDY3LTE3LjE0NCAyMy40NjUtMzYuNzI5IDMxLjYwNC01Ni44ODF6bTI2LjM2Mi0xNjQuMzAyYy0xLjI0OS0zNS4yNDItNi41MzMtNjkuMTQ2LTE1LjQ1Mi05OS45NTQgMTMuNDk0LTguMTYyIDI2LjI5NS0xNy42MzMgMzguMjY0LTI4LjMzNSAzMC44NCAzNi4yMjUgNDkuMDkxIDgwLjc4NiA1Mi40OTcgMTI4LjI4OXoiLz48L3N2Zz4=);
+ width: 36px;
+ height: 21px;
+ display: inline-block;
+ background-size: contain;
+ background-repeat: no-repeat;
+ filter: invert();
+ margin: 10px;
+}
+#lang select {
+ background: #4c4665;
+ color: #fff;
+ position: relative;
+ top: -15px;
+ border-radius: 5px;
+}
+#schema{
+ position: absolute;
+}
+#schema-link{
+ float: right;
+}
+#schema .table {
+ padding: 0px 0px 10px 0px;
+ background: #2f2b3f;
+ border: none;
+ border-radius: 5px;
+ box-shadow: 0 5px 8px rgba(0, 0, 0, 0.11);
+ overflow: hidden;
+}
+#schema .table a {
+ display: inline-block;
+ background: #7962f2;
+ color: #fff;
+ padding: 7px;
+ min-width: 141px;
+ width: 100%;
+ margin-bottom: 3px;
+}
+#schema .table span {
+ margin-left: 10px;
+}
+.char {
+ color: #00e676;
+}
+.date {
+ color: #7e57c2;
+}
+table thead a{
+ color: #ffffff !important;
+}
+#form fieldset:first-child{
+ float: unset !important;
+ padding: 7px 10px !important;
+ padding-bottom: 11px !important;
+ margin-top: 11.52px !important;
+ margin-left: 0px !important;
+ margin-right: 7.2px !important;
+ margin-bottom: 10px !important;
+}
+a[href="#import"] {
+ margin-top: 20px;
+ display: inline-block;
+}
diff --git a/adminer/dockerFile b/adminer/dockerFile
new file mode 100644
index 0000000..8c922ad
--- /dev/null
+++ b/adminer/dockerFile
@@ -0,0 +1,5 @@
+FROM adminer
+
+ADD adminer.css /var/www/html/
+
+ENV ADMINER_DESIGN='hydra'
diff --git a/docker-compose.yaml b/docker-compose.yaml
new file mode 100644
index 0000000..d41e67d
--- /dev/null
+++ b/docker-compose.yaml
@@ -0,0 +1,58 @@
+version: '3'
+
+services:
+ mysql:
+ build:
+ context: ./mysql/
+ dockerfile: dockerFile
+ environment:
+ MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
+ MYSQL_DATABASE: ${MYSQL_DATABASE}
+ MYSQL_USER: ${MYSQL_USER}
+ MYSQL_PASSWORD: ${MYSQL_PASSWORD}
+ restart: always
+ volumes:
+ - './mysql/db:/var/lib/mysql'
+
+
+ api:
+ build:
+ context: ./laravel/
+ dockerfile: dockerFile
+ ports:
+ - 8000:8000
+ environment:
+ DB_HOST: "mysql"
+ DB_PORT: "3306"
+ DB_DATABASE: "database"
+ DB_USERNAME: "root"
+ DB_PASSWORD: "root"
+ WAIT_HOSTS: mysql:3306
+ WAIT_HOSTS_TIMEOUT: 300
+ WAIT_SLEEP_INTERVAL: 10
+ WAIT_HOST_CONNECT_TIMEOUT: 10
+ volumes:
+ - './laravel/my-project:/app'
+ command: sh -c "/wait && /bin/bash /app/onLaunch.sh"
+ depends_on:
+ - mysql
+
+
+ dbmanager:
+ build:
+ context: ./adminer/
+ dockerfile: dockerFile
+ restart: always
+ ports:
+ - 8080:8080
+
+
+ front:
+ build:
+ context: ./node/
+ dockerfile: dockerFile
+ ports:
+ - 8081:8081
+ volumes:
+ - ./node/vue:/var/www/html/app
+ tty: true
diff --git a/laravel/.DS_Store b/laravel/.DS_Store
new file mode 100644
index 0000000..73c8895
Binary files /dev/null and b/laravel/.DS_Store differ
diff --git a/laravel/dockerFile b/laravel/dockerFile
new file mode 100644
index 0000000..8aba82d
--- /dev/null
+++ b/laravel/dockerFile
@@ -0,0 +1,10 @@
+FROM docker.io/bitnami/laravel:9
+
+ENV DOCKER_HOSTNAME: ${DOCKER_HOSTNAME:-api}
+
+# Add docker-compose-wait tool -------------------
+ENV WAIT_VERSION 2.7.2
+ADD https://github.com/ufoscout/docker-compose-wait/releases/download/$WAIT_VERSION/wait /wait
+RUN chmod +x /wait
+
+EXPOSE 8000
diff --git a/laravel/my-project/.DS_Store b/laravel/my-project/.DS_Store
new file mode 100644
index 0000000..4d47077
Binary files /dev/null and b/laravel/my-project/.DS_Store differ
diff --git a/laravel/my-project/.buildcomplete b/laravel/my-project/.buildcomplete
new file mode 100644
index 0000000..e69de29
diff --git a/laravel/my-project/.editorconfig b/laravel/my-project/.editorconfig
new file mode 100644
index 0000000..8f0de65
--- /dev/null
+++ b/laravel/my-project/.editorconfig
@@ -0,0 +1,18 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+indent_size = 4
+indent_style = space
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+[*.md]
+trim_trailing_whitespace = false
+
+[*.{yml,yaml}]
+indent_size = 2
+
+[docker-compose.yml]
+indent_size = 4
diff --git a/laravel/my-project/.env.example b/laravel/my-project/.env.example
new file mode 100644
index 0000000..00b6110
--- /dev/null
+++ b/laravel/my-project/.env.example
@@ -0,0 +1,58 @@
+APP_NAME=Laravel
+APP_ENV=local
+APP_KEY=
+APP_DEBUG=true
+APP_URL=http://localhost
+
+LOG_CHANNEL=stack
+LOG_DEPRECATIONS_CHANNEL=null
+LOG_LEVEL=debug
+
+DB_CONNECTION=mysql
+DB_HOST=127.0.0.1
+DB_PORT=3306
+DB_DATABASE=laravel
+DB_USERNAME=root
+DB_PASSWORD=
+
+BROADCAST_DRIVER=log
+CACHE_DRIVER=file
+FILESYSTEM_DISK=local
+QUEUE_CONNECTION=sync
+SESSION_DRIVER=file
+SESSION_LIFETIME=120
+
+MEMCACHED_HOST=127.0.0.1
+
+REDIS_HOST=127.0.0.1
+REDIS_PASSWORD=null
+REDIS_PORT=6379
+
+MAIL_MAILER=smtp
+MAIL_HOST=mailhog
+MAIL_PORT=1025
+MAIL_USERNAME=null
+MAIL_PASSWORD=null
+MAIL_ENCRYPTION=null
+MAIL_FROM_ADDRESS="hello@example.com"
+MAIL_FROM_NAME="${APP_NAME}"
+
+AWS_ACCESS_KEY_ID=
+AWS_SECRET_ACCESS_KEY=
+AWS_DEFAULT_REGION=us-east-1
+AWS_BUCKET=
+AWS_USE_PATH_STYLE_ENDPOINT=false
+
+PUSHER_APP_ID=
+PUSHER_APP_KEY=
+PUSHER_APP_SECRET=
+PUSHER_HOST=
+PUSHER_PORT=443
+PUSHER_SCHEME=https
+PUSHER_APP_CLUSTER=mt1
+
+VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
+VITE_PUSHER_HOST="${PUSHER_HOST}"
+VITE_PUSHER_PORT="${PUSHER_PORT}"
+VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
+VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
diff --git a/laravel/my-project/.gitattributes b/laravel/my-project/.gitattributes
new file mode 100644
index 0000000..7dbbf41
--- /dev/null
+++ b/laravel/my-project/.gitattributes
@@ -0,0 +1,11 @@
+* text=auto
+
+*.blade.php diff=html
+*.css diff=css
+*.html diff=html
+*.md diff=markdown
+*.php diff=php
+
+/.github export-ignore
+CHANGELOG.md export-ignore
+.styleci.yml export-ignore
diff --git a/laravel/my-project/.gitignore b/laravel/my-project/.gitignore
new file mode 100644
index 0000000..f0d10af
--- /dev/null
+++ b/laravel/my-project/.gitignore
@@ -0,0 +1,18 @@
+/node_modules
+/public/build
+/public/hot
+/public/storage
+/storage/*.key
+/vendor
+.env
+.env.backup
+.env.production
+.phpunit.result.cache
+Homestead.json
+Homestead.yaml
+auth.json
+npm-debug.log
+yarn-error.log
+/.fleet
+/.idea
+/.vscode
diff --git a/laravel/my-project/README.md b/laravel/my-project/README.md
new file mode 100644
index 0000000..bf0ddd9
--- /dev/null
+++ b/laravel/my-project/README.md
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+## About Laravel
+
+Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
+
+- [Simple, fast routing engine](https://laravel.com/docs/routing).
+- [Powerful dependency injection container](https://laravel.com/docs/container).
+- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage.
+- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent).
+- Database agnostic [schema migrations](https://laravel.com/docs/migrations).
+- [Robust background job processing](https://laravel.com/docs/queues).
+- [Real-time event broadcasting](https://laravel.com/docs/broadcasting).
+
+Laravel is accessible, powerful, and provides tools required for large, robust applications.
+
+## Learning Laravel
+
+Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
+
+You may also try the [Laravel Bootcamp](https://bootcamp.laravel.com), where you will be guided through building a modern Laravel application from scratch.
+
+If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains over 2000 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
+
+## Laravel Sponsors
+
+We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel [Patreon page](https://patreon.com/taylorotwell).
+
+### Premium Partners
+
+- **[Vehikl](https://vehikl.com/)**
+- **[Tighten Co.](https://tighten.co)**
+- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)**
+- **[64 Robots](https://64robots.com)**
+- **[Cubet Techno Labs](https://cubettech.com)**
+- **[Cyber-Duck](https://cyber-duck.co.uk)**
+- **[Many](https://www.many.co.uk)**
+- **[Webdock, Fast VPS Hosting](https://www.webdock.io/en)**
+- **[DevSquad](https://devsquad.com)**
+- **[Curotec](https://www.curotec.com/services/technologies/laravel/)**
+- **[OP.GG](https://op.gg)**
+- **[WebReinvent](https://webreinvent.com/?utm_source=laravel&utm_medium=github&utm_campaign=patreon-sponsors)**
+- **[Lendio](https://lendio.com)**
+
+## Contributing
+
+Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
+
+## Code of Conduct
+
+In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
+
+## Security Vulnerabilities
+
+If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed.
+
+## License
+
+The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
diff --git a/laravel/my-project/app/Console/Kernel.php b/laravel/my-project/app/Console/Kernel.php
new file mode 100644
index 0000000..d8bc1d2
--- /dev/null
+++ b/laravel/my-project/app/Console/Kernel.php
@@ -0,0 +1,32 @@
+command('inspire')->hourly();
+ }
+
+ /**
+ * Register the commands for the application.
+ *
+ * @return void
+ */
+ protected function commands()
+ {
+ $this->load(__DIR__.'/Commands');
+
+ require base_path('routes/console.php');
+ }
+}
diff --git a/laravel/my-project/app/Exceptions/Handler.php b/laravel/my-project/app/Exceptions/Handler.php
new file mode 100644
index 0000000..82a37e4
--- /dev/null
+++ b/laravel/my-project/app/Exceptions/Handler.php
@@ -0,0 +1,50 @@
+, \Psr\Log\LogLevel::*>
+ */
+ protected $levels = [
+ //
+ ];
+
+ /**
+ * A list of the exception types that are not reported.
+ *
+ * @var array>
+ */
+ protected $dontReport = [
+ //
+ ];
+
+ /**
+ * A list of the inputs that are never flashed to the session on validation exceptions.
+ *
+ * @var array
+ */
+ protected $dontFlash = [
+ 'current_password',
+ 'password',
+ 'password_confirmation',
+ ];
+
+ /**
+ * Register the exception handling callbacks for the application.
+ *
+ * @return void
+ */
+ public function register()
+ {
+ $this->reportable(function (Throwable $e) {
+ //
+ });
+ }
+}
diff --git a/laravel/my-project/app/Http/Controllers/Controller.php b/laravel/my-project/app/Http/Controllers/Controller.php
new file mode 100644
index 0000000..a0a2a8a
--- /dev/null
+++ b/laravel/my-project/app/Http/Controllers/Controller.php
@@ -0,0 +1,13 @@
+where('id', 1)->get();
+ return json_encode($words);
+ //return "ok";
+ }
+}
diff --git a/laravel/my-project/app/Http/Kernel.php b/laravel/my-project/app/Http/Kernel.php
new file mode 100644
index 0000000..5b2eb5d
--- /dev/null
+++ b/laravel/my-project/app/Http/Kernel.php
@@ -0,0 +1,68 @@
+
+ */
+ protected $middleware = [
+ // \App\Http\Middleware\TrustHosts::class,
+ \Fruitcake\Cors\HandleCors::class,
+ \App\Http\Middleware\TrustProxies::class,
+ \Illuminate\Http\Middleware\HandleCors::class,
+ \App\Http\Middleware\PreventRequestsDuringMaintenance::class,
+ \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
+ \App\Http\Middleware\TrimStrings::class,
+ \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
+ ];
+
+ /**
+ * The application's route middleware groups.
+ *
+ * @var array>
+ */
+ protected $middlewareGroups = [
+ 'web' => [
+ \App\Http\Middleware\EncryptCookies::class,
+ \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
+ \Illuminate\Session\Middleware\StartSession::class,
+ \Illuminate\View\Middleware\ShareErrorsFromSession::class,
+ \App\Http\Middleware\VerifyCsrfToken::class,
+ \Illuminate\Routing\Middleware\SubstituteBindings::class,
+ ],
+
+ 'api' => [
+ // \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
+ 'throttle:api',
+ \Illuminate\Routing\Middleware\SubstituteBindings::class,
+ ],
+ ];
+
+ /**
+ * The application's route middleware.
+ *
+ * These middleware may be assigned to groups or used individually.
+ *
+ * @var array
+ */
+ protected $routeMiddleware = [
+ 'auth' => \App\Http\Middleware\Authenticate::class,
+ 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
+ 'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class,
+ 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
+ 'can' => \Illuminate\Auth\Middleware\Authorize::class,
+ 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
+ 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
+ 'signed' => \App\Http\Middleware\ValidateSignature::class,
+ 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
+ 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
+ ];
+}
diff --git a/laravel/my-project/app/Http/Middleware/Authenticate.php b/laravel/my-project/app/Http/Middleware/Authenticate.php
new file mode 100644
index 0000000..704089a
--- /dev/null
+++ b/laravel/my-project/app/Http/Middleware/Authenticate.php
@@ -0,0 +1,21 @@
+expectsJson()) {
+ return route('login');
+ }
+ }
+}
diff --git a/laravel/my-project/app/Http/Middleware/EncryptCookies.php b/laravel/my-project/app/Http/Middleware/EncryptCookies.php
new file mode 100644
index 0000000..867695b
--- /dev/null
+++ b/laravel/my-project/app/Http/Middleware/EncryptCookies.php
@@ -0,0 +1,17 @@
+
+ */
+ protected $except = [
+ //
+ ];
+}
diff --git a/laravel/my-project/app/Http/Middleware/PreventRequestsDuringMaintenance.php b/laravel/my-project/app/Http/Middleware/PreventRequestsDuringMaintenance.php
new file mode 100644
index 0000000..74cbd9a
--- /dev/null
+++ b/laravel/my-project/app/Http/Middleware/PreventRequestsDuringMaintenance.php
@@ -0,0 +1,17 @@
+
+ */
+ protected $except = [
+ //
+ ];
+}
diff --git a/laravel/my-project/app/Http/Middleware/RedirectIfAuthenticated.php b/laravel/my-project/app/Http/Middleware/RedirectIfAuthenticated.php
new file mode 100644
index 0000000..a2813a0
--- /dev/null
+++ b/laravel/my-project/app/Http/Middleware/RedirectIfAuthenticated.php
@@ -0,0 +1,32 @@
+check()) {
+ return redirect(RouteServiceProvider::HOME);
+ }
+ }
+
+ return $next($request);
+ }
+}
diff --git a/laravel/my-project/app/Http/Middleware/TrimStrings.php b/laravel/my-project/app/Http/Middleware/TrimStrings.php
new file mode 100644
index 0000000..88cadca
--- /dev/null
+++ b/laravel/my-project/app/Http/Middleware/TrimStrings.php
@@ -0,0 +1,19 @@
+
+ */
+ protected $except = [
+ 'current_password',
+ 'password',
+ 'password_confirmation',
+ ];
+}
diff --git a/laravel/my-project/app/Http/Middleware/TrustHosts.php b/laravel/my-project/app/Http/Middleware/TrustHosts.php
new file mode 100644
index 0000000..7186414
--- /dev/null
+++ b/laravel/my-project/app/Http/Middleware/TrustHosts.php
@@ -0,0 +1,20 @@
+
+ */
+ public function hosts()
+ {
+ return [
+ $this->allSubdomainsOfApplicationUrl(),
+ ];
+ }
+}
diff --git a/laravel/my-project/app/Http/Middleware/TrustProxies.php b/laravel/my-project/app/Http/Middleware/TrustProxies.php
new file mode 100644
index 0000000..3391630
--- /dev/null
+++ b/laravel/my-project/app/Http/Middleware/TrustProxies.php
@@ -0,0 +1,28 @@
+|string|null
+ */
+ protected $proxies;
+
+ /**
+ * The headers that should be used to detect proxies.
+ *
+ * @var int
+ */
+ protected $headers =
+ Request::HEADER_X_FORWARDED_FOR |
+ Request::HEADER_X_FORWARDED_HOST |
+ Request::HEADER_X_FORWARDED_PORT |
+ Request::HEADER_X_FORWARDED_PROTO |
+ Request::HEADER_X_FORWARDED_AWS_ELB;
+}
diff --git a/laravel/my-project/app/Http/Middleware/ValidateSignature.php b/laravel/my-project/app/Http/Middleware/ValidateSignature.php
new file mode 100644
index 0000000..093bf64
--- /dev/null
+++ b/laravel/my-project/app/Http/Middleware/ValidateSignature.php
@@ -0,0 +1,22 @@
+
+ */
+ protected $except = [
+ // 'fbclid',
+ // 'utm_campaign',
+ // 'utm_content',
+ // 'utm_medium',
+ // 'utm_source',
+ // 'utm_term',
+ ];
+}
diff --git a/laravel/my-project/app/Http/Middleware/VerifyCsrfToken.php b/laravel/my-project/app/Http/Middleware/VerifyCsrfToken.php
new file mode 100644
index 0000000..9e86521
--- /dev/null
+++ b/laravel/my-project/app/Http/Middleware/VerifyCsrfToken.php
@@ -0,0 +1,17 @@
+
+ */
+ protected $except = [
+ //
+ ];
+}
diff --git a/laravel/my-project/app/Models/User.php b/laravel/my-project/app/Models/User.php
new file mode 100644
index 0000000..23b4063
--- /dev/null
+++ b/laravel/my-project/app/Models/User.php
@@ -0,0 +1,44 @@
+
+ */
+ protected $fillable = [
+ 'name',
+ 'email',
+ 'password',
+ ];
+
+ /**
+ * The attributes that should be hidden for serialization.
+ *
+ * @var array
+ */
+ protected $hidden = [
+ 'password',
+ 'remember_token',
+ ];
+
+ /**
+ * The attributes that should be cast.
+ *
+ * @var array
+ */
+ protected $casts = [
+ 'email_verified_at' => 'datetime',
+ ];
+}
diff --git a/laravel/my-project/app/Providers/AppServiceProvider.php b/laravel/my-project/app/Providers/AppServiceProvider.php
new file mode 100644
index 0000000..ee8ca5b
--- /dev/null
+++ b/laravel/my-project/app/Providers/AppServiceProvider.php
@@ -0,0 +1,28 @@
+
+ */
+ protected $policies = [
+ // 'App\Models\Model' => 'App\Policies\ModelPolicy',
+ ];
+
+ /**
+ * Register any authentication / authorization services.
+ *
+ * @return void
+ */
+ public function boot()
+ {
+ $this->registerPolicies();
+
+ //
+ }
+}
diff --git a/laravel/my-project/app/Providers/BroadcastServiceProvider.php b/laravel/my-project/app/Providers/BroadcastServiceProvider.php
new file mode 100644
index 0000000..395c518
--- /dev/null
+++ b/laravel/my-project/app/Providers/BroadcastServiceProvider.php
@@ -0,0 +1,21 @@
+>
+ */
+ protected $listen = [
+ Registered::class => [
+ SendEmailVerificationNotification::class,
+ ],
+ ];
+
+ /**
+ * Register any events for your application.
+ *
+ * @return void
+ */
+ public function boot()
+ {
+ //
+ }
+
+ /**
+ * Determine if events and listeners should be automatically discovered.
+ *
+ * @return bool
+ */
+ public function shouldDiscoverEvents()
+ {
+ return false;
+ }
+}
diff --git a/laravel/my-project/app/Providers/RouteServiceProvider.php b/laravel/my-project/app/Providers/RouteServiceProvider.php
new file mode 100644
index 0000000..ea87f2e
--- /dev/null
+++ b/laravel/my-project/app/Providers/RouteServiceProvider.php
@@ -0,0 +1,52 @@
+configureRateLimiting();
+
+ $this->routes(function () {
+ Route::middleware('api')
+ ->prefix('api')
+ ->group(base_path('routes/api.php'));
+
+ Route::middleware('web')
+ ->group(base_path('routes/web.php'));
+ });
+ }
+
+ /**
+ * Configure the rate limiters for the application.
+ *
+ * @return void
+ */
+ protected function configureRateLimiting()
+ {
+ RateLimiter::for('api', function (Request $request) {
+ return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
+ });
+ }
+}
diff --git a/laravel/my-project/artisan b/laravel/my-project/artisan
new file mode 100755
index 0000000..67a3329
--- /dev/null
+++ b/laravel/my-project/artisan
@@ -0,0 +1,53 @@
+#!/usr/bin/env php
+make(Illuminate\Contracts\Console\Kernel::class);
+
+$status = $kernel->handle(
+ $input = new Symfony\Component\Console\Input\ArgvInput,
+ new Symfony\Component\Console\Output\ConsoleOutput
+);
+
+/*
+|--------------------------------------------------------------------------
+| Shutdown The Application
+|--------------------------------------------------------------------------
+|
+| Once Artisan has finished running, we will fire off the shutdown events
+| so that any final work may be done by the application before we shut
+| down the process. This is the last thing to happen to the request.
+|
+*/
+
+$kernel->terminate($input, $status);
+
+exit($status);
diff --git a/laravel/my-project/bootstrap/app.php b/laravel/my-project/bootstrap/app.php
new file mode 100644
index 0000000..037e17d
--- /dev/null
+++ b/laravel/my-project/bootstrap/app.php
@@ -0,0 +1,55 @@
+singleton(
+ Illuminate\Contracts\Http\Kernel::class,
+ App\Http\Kernel::class
+);
+
+$app->singleton(
+ Illuminate\Contracts\Console\Kernel::class,
+ App\Console\Kernel::class
+);
+
+$app->singleton(
+ Illuminate\Contracts\Debug\ExceptionHandler::class,
+ App\Exceptions\Handler::class
+);
+
+/*
+|--------------------------------------------------------------------------
+| Return The Application
+|--------------------------------------------------------------------------
+|
+| This script returns the application instance. The instance is given to
+| the calling script so we can separate the building of the instances
+| from the actual running of the application and sending responses.
+|
+*/
+
+return $app;
diff --git a/laravel/my-project/bootstrap/cache/.gitignore b/laravel/my-project/bootstrap/cache/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/laravel/my-project/bootstrap/cache/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/laravel/my-project/composer.json b/laravel/my-project/composer.json
new file mode 100644
index 0000000..cf25532
--- /dev/null
+++ b/laravel/my-project/composer.json
@@ -0,0 +1,67 @@
+{
+ "name": "laravel/laravel",
+ "type": "project",
+ "description": "The Laravel Framework.",
+ "keywords": ["framework", "laravel"],
+ "license": "MIT",
+ "require": {
+ "php": "^8.0.2",
+ "fruitcake/laravel-cors": "^3.0",
+ "guzzlehttp/guzzle": "^7.2",
+ "laravel/framework": "^9.19",
+ "laravel/sanctum": "^3.0",
+ "laravel/tinker": "^2.7"
+ },
+ "require-dev": {
+ "fakerphp/faker": "^1.9.1",
+ "laravel/pint": "^1.0",
+ "laravel/sail": "^1.0.1",
+ "mockery/mockery": "^1.4.4",
+ "nunomaduro/collision": "^6.1",
+ "phpunit/phpunit": "^9.5.10",
+ "spatie/laravel-ignition": "^1.0"
+ },
+ "autoload": {
+ "psr-4": {
+ "App\\": "app/",
+ "Database\\Factories\\": "database/factories/",
+ "Database\\Seeders\\": "database/seeders/"
+ }
+
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "Tests\\": "tests/"
+ }
+ },
+ "scripts": {
+ "post-autoload-dump": [
+ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
+ "@php artisan package:discover --ansi"
+ ],
+ "post-update-cmd": [
+ "@php artisan vendor:publish --tag=laravel-assets --ansi --force"
+ ],
+ "post-root-package-install": [
+ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
+ ],
+ "post-create-project-cmd": [
+ "@php artisan key:generate --ansi"
+ ]
+ },
+ "extra": {
+ "laravel": {
+ "dont-discover": []
+ }
+ },
+ "config": {
+ "optimize-autoloader": true,
+ "preferred-install": "dist",
+ "sort-packages": true,
+ "allow-plugins": {
+ "pestphp/pest-plugin": true
+ }
+ },
+ "minimum-stability": "dev",
+ "prefer-stable": true
+}
diff --git a/laravel/my-project/composer.lock b/laravel/my-project/composer.lock
new file mode 100644
index 0000000..6923785
--- /dev/null
+++ b/laravel/my-project/composer.lock
@@ -0,0 +1,7905 @@
+{
+ "_readme": [
+ "This file locks the dependencies of your project to a known state",
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
+ "This file is @generated automatically"
+ ],
+ "content-hash": "3d4469b56e67c06dd5a90295945685f3",
+ "packages": [
+ {
+ "name": "brick/math",
+ "version": "0.10.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/brick/math.git",
+ "reference": "459f2781e1a08d52ee56b0b1444086e038561e3f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/brick/math/zipball/459f2781e1a08d52ee56b0b1444086e038561e3f",
+ "reference": "459f2781e1a08d52ee56b0b1444086e038561e3f",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "php": "^7.4 || ^8.0"
+ },
+ "require-dev": {
+ "php-coveralls/php-coveralls": "^2.2",
+ "phpunit/phpunit": "^9.0",
+ "vimeo/psalm": "4.25.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Brick\\Math\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Arbitrary-precision arithmetic library",
+ "keywords": [
+ "Arbitrary-precision",
+ "BigInteger",
+ "BigRational",
+ "arithmetic",
+ "bigdecimal",
+ "bignum",
+ "brick",
+ "math"
+ ],
+ "support": {
+ "issues": "https://github.com/brick/math/issues",
+ "source": "https://github.com/brick/math/tree/0.10.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/BenMorel",
+ "type": "github"
+ }
+ ],
+ "time": "2022-08-10T22:54:19+00:00"
+ },
+ {
+ "name": "dflydev/dot-access-data",
+ "version": "v3.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/dflydev/dflydev-dot-access-data.git",
+ "reference": "f41715465d65213d644d3141a6a93081be5d3549"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549",
+ "reference": "f41715465d65213d644d3141a6a93081be5d3549",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^0.12.42",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3",
+ "scrutinizer/ocular": "1.6.0",
+ "squizlabs/php_codesniffer": "^3.5",
+ "vimeo/psalm": "^4.0.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Dflydev\\DotAccessData\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Dragonfly Development Inc.",
+ "email": "info@dflydev.com",
+ "homepage": "http://dflydev.com"
+ },
+ {
+ "name": "Beau Simensen",
+ "email": "beau@dflydev.com",
+ "homepage": "http://beausimensen.com"
+ },
+ {
+ "name": "Carlos Frutos",
+ "email": "carlos@kiwing.it",
+ "homepage": "https://github.com/cfrutos"
+ },
+ {
+ "name": "Colin O'Dell",
+ "email": "colinodell@gmail.com",
+ "homepage": "https://www.colinodell.com"
+ }
+ ],
+ "description": "Given a deep data structure, access data by dot notation.",
+ "homepage": "https://github.com/dflydev/dflydev-dot-access-data",
+ "keywords": [
+ "access",
+ "data",
+ "dot",
+ "notation"
+ ],
+ "support": {
+ "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues",
+ "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2"
+ },
+ "time": "2022-10-27T11:44:00+00:00"
+ },
+ {
+ "name": "doctrine/inflector",
+ "version": "2.0.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/inflector.git",
+ "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024",
+ "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^10",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-phpunit": "^1.1",
+ "phpstan/phpstan-strict-rules": "^1.3",
+ "phpunit/phpunit": "^8.5 || ^9.5",
+ "vimeo/psalm": "^4.25"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Inflector\\": "lib/Doctrine/Inflector"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Guilherme Blanco",
+ "email": "guilhermeblanco@gmail.com"
+ },
+ {
+ "name": "Roman Borschel",
+ "email": "roman@code-factory.org"
+ },
+ {
+ "name": "Benjamin Eberlei",
+ "email": "kontakt@beberlei.de"
+ },
+ {
+ "name": "Jonathan Wage",
+ "email": "jonwage@gmail.com"
+ },
+ {
+ "name": "Johannes Schmitt",
+ "email": "schmittjoh@gmail.com"
+ }
+ ],
+ "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.",
+ "homepage": "https://www.doctrine-project.org/projects/inflector.html",
+ "keywords": [
+ "inflection",
+ "inflector",
+ "lowercase",
+ "manipulation",
+ "php",
+ "plural",
+ "singular",
+ "strings",
+ "uppercase",
+ "words"
+ ],
+ "support": {
+ "issues": "https://github.com/doctrine/inflector/issues",
+ "source": "https://github.com/doctrine/inflector/tree/2.0.6"
+ },
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-20T09:10:12+00:00"
+ },
+ {
+ "name": "doctrine/lexer",
+ "version": "1.2.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/lexer.git",
+ "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229",
+ "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^9.0",
+ "phpstan/phpstan": "^1.3",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "vimeo/psalm": "^4.11"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Guilherme Blanco",
+ "email": "guilhermeblanco@gmail.com"
+ },
+ {
+ "name": "Roman Borschel",
+ "email": "roman@code-factory.org"
+ },
+ {
+ "name": "Johannes Schmitt",
+ "email": "schmittjoh@gmail.com"
+ }
+ ],
+ "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.",
+ "homepage": "https://www.doctrine-project.org/projects/lexer.html",
+ "keywords": [
+ "annotations",
+ "docblock",
+ "lexer",
+ "parser",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/doctrine/lexer/issues",
+ "source": "https://github.com/doctrine/lexer/tree/1.2.3"
+ },
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-02-28T11:07:21+00:00"
+ },
+ {
+ "name": "dragonmantank/cron-expression",
+ "version": "v3.3.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/dragonmantank/cron-expression.git",
+ "reference": "782ca5968ab8b954773518e9e49a6f892a34b2a8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/782ca5968ab8b954773518e9e49a6f892a34b2a8",
+ "reference": "782ca5968ab8b954773518e9e49a6f892a34b2a8",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2|^8.0",
+ "webmozart/assert": "^1.0"
+ },
+ "replace": {
+ "mtdowling/cron-expression": "^1.0"
+ },
+ "require-dev": {
+ "phpstan/extension-installer": "^1.0",
+ "phpstan/phpstan": "^1.0",
+ "phpstan/phpstan-webmozart-assert": "^1.0",
+ "phpunit/phpunit": "^7.0|^8.0|^9.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Cron\\": "src/Cron/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Chris Tankersley",
+ "email": "chris@ctankersley.com",
+ "homepage": "https://github.com/dragonmantank"
+ }
+ ],
+ "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due",
+ "keywords": [
+ "cron",
+ "schedule"
+ ],
+ "support": {
+ "issues": "https://github.com/dragonmantank/cron-expression/issues",
+ "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/dragonmantank",
+ "type": "github"
+ }
+ ],
+ "time": "2022-09-10T18:51:20+00:00"
+ },
+ {
+ "name": "egulias/email-validator",
+ "version": "3.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/egulias/EmailValidator.git",
+ "reference": "f88dcf4b14af14a98ad96b14b2b317969eab6715"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/f88dcf4b14af14a98ad96b14b2b317969eab6715",
+ "reference": "f88dcf4b14af14a98ad96b14b2b317969eab6715",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/lexer": "^1.2",
+ "php": ">=7.2",
+ "symfony/polyfill-intl-idn": "^1.15"
+ },
+ "require-dev": {
+ "php-coveralls/php-coveralls": "^2.2",
+ "phpunit/phpunit": "^8.5.8|^9.3.3",
+ "vimeo/psalm": "^4"
+ },
+ "suggest": {
+ "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Egulias\\EmailValidator\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Eduardo Gulias Davis"
+ }
+ ],
+ "description": "A library for validating emails against several RFCs",
+ "homepage": "https://github.com/egulias/EmailValidator",
+ "keywords": [
+ "email",
+ "emailvalidation",
+ "emailvalidator",
+ "validation",
+ "validator"
+ ],
+ "support": {
+ "issues": "https://github.com/egulias/EmailValidator/issues",
+ "source": "https://github.com/egulias/EmailValidator/tree/3.2.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/egulias",
+ "type": "github"
+ }
+ ],
+ "time": "2022-06-18T20:57:19+00:00"
+ },
+ {
+ "name": "fruitcake/laravel-cors",
+ "version": "v3.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/fruitcake/laravel-cors.git",
+ "reference": "7c036ec08972d8d5d9db637e772af6887828faf5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/7c036ec08972d8d5d9db637e772af6887828faf5",
+ "reference": "7c036ec08972d8d5d9db637e772af6887828faf5",
+ "shasum": ""
+ },
+ "require": {
+ "fruitcake/php-cors": "^1.2",
+ "illuminate/contracts": "^6|^7|^8|^9",
+ "illuminate/support": "^6|^7|^8|^9",
+ "php": "^7.4|^8.0"
+ },
+ "require-dev": {
+ "laravel/framework": "^6|^7.24|^8",
+ "orchestra/testbench-dusk": "^4|^5|^6|^7",
+ "phpunit/phpunit": "^9",
+ "squizlabs/php_codesniffer": "^3.5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Fruitcake\\Cors\\CorsServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Fruitcake\\Cors\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fruitcake",
+ "homepage": "https://fruitcake.nl"
+ },
+ {
+ "name": "Barry vd. Heuvel",
+ "email": "barryvdh@gmail.com"
+ }
+ ],
+ "description": "Adds CORS (Cross-Origin Resource Sharing) headers support in your Laravel application",
+ "keywords": [
+ "api",
+ "cors",
+ "crossdomain",
+ "laravel"
+ ],
+ "support": {
+ "issues": "https://github.com/fruitcake/laravel-cors/issues",
+ "source": "https://github.com/fruitcake/laravel-cors/tree/v3.0.0"
+ },
+ "funding": [
+ {
+ "url": "https://fruitcake.nl",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/barryvdh",
+ "type": "github"
+ }
+ ],
+ "time": "2022-02-23T14:53:22+00:00"
+ },
+ {
+ "name": "fruitcake/php-cors",
+ "version": "v1.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/fruitcake/php-cors.git",
+ "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/58571acbaa5f9f462c9c77e911700ac66f446d4e",
+ "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.4|^8.0",
+ "symfony/http-foundation": "^4.4|^5.4|^6"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^1.4",
+ "phpunit/phpunit": "^9",
+ "squizlabs/php_codesniffer": "^3.5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.1-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Fruitcake\\Cors\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fruitcake",
+ "homepage": "https://fruitcake.nl"
+ },
+ {
+ "name": "Barryvdh",
+ "email": "barryvdh@gmail.com"
+ }
+ ],
+ "description": "Cross-origin resource sharing library for the Symfony HttpFoundation",
+ "homepage": "https://github.com/fruitcake/php-cors",
+ "keywords": [
+ "cors",
+ "laravel",
+ "symfony"
+ ],
+ "support": {
+ "issues": "https://github.com/fruitcake/php-cors/issues",
+ "source": "https://github.com/fruitcake/php-cors/tree/v1.2.0"
+ },
+ "funding": [
+ {
+ "url": "https://fruitcake.nl",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/barryvdh",
+ "type": "github"
+ }
+ ],
+ "time": "2022-02-20T15:07:15+00:00"
+ },
+ {
+ "name": "graham-campbell/result-type",
+ "version": "v1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/GrahamCampbell/Result-Type.git",
+ "reference": "a878d45c1914464426dc94da61c9e1d36ae262a8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/a878d45c1914464426dc94da61c9e1d36ae262a8",
+ "reference": "a878d45c1914464426dc94da61c9e1d36ae262a8",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2.5 || ^8.0",
+ "phpoption/phpoption": "^1.9"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.5.28 || ^9.5.21"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "GrahamCampbell\\ResultType\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
+ }
+ ],
+ "description": "An Implementation Of The Result Type",
+ "keywords": [
+ "Graham Campbell",
+ "GrahamCampbell",
+ "Result Type",
+ "Result-Type",
+ "result"
+ ],
+ "support": {
+ "issues": "https://github.com/GrahamCampbell/Result-Type/issues",
+ "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-07-30T15:56:11+00:00"
+ },
+ {
+ "name": "guzzlehttp/guzzle",
+ "version": "7.5.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/guzzle.git",
+ "reference": "b50a2a1251152e43f6a37f0fa053e730a67d25ba"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b50a2a1251152e43f6a37f0fa053e730a67d25ba",
+ "reference": "b50a2a1251152e43f6a37f0fa053e730a67d25ba",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "guzzlehttp/promises": "^1.5",
+ "guzzlehttp/psr7": "^1.9 || ^2.4",
+ "php": "^7.2.5 || ^8.0",
+ "psr/http-client": "^1.0",
+ "symfony/deprecation-contracts": "^2.2 || ^3.0"
+ },
+ "provide": {
+ "psr/http-client-implementation": "1.0"
+ },
+ "require-dev": {
+ "bamarni/composer-bin-plugin": "^1.8.1",
+ "ext-curl": "*",
+ "php-http/client-integration-tests": "^3.0",
+ "phpunit/phpunit": "^8.5.29 || ^9.5.23",
+ "psr/log": "^1.1 || ^2.0 || ^3.0"
+ },
+ "suggest": {
+ "ext-curl": "Required for CURL handler support",
+ "ext-intl": "Required for Internationalized Domain Name (IDN) support",
+ "psr/log": "Required for using the Log middleware"
+ },
+ "type": "library",
+ "extra": {
+ "bamarni-bin": {
+ "bin-links": true,
+ "forward-command": false
+ },
+ "branch-alias": {
+ "dev-master": "7.5-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/functions_include.php"
+ ],
+ "psr-4": {
+ "GuzzleHttp\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
+ },
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "Jeremy Lindblom",
+ "email": "jeremeamia@gmail.com",
+ "homepage": "https://github.com/jeremeamia"
+ },
+ {
+ "name": "George Mponos",
+ "email": "gmponos@gmail.com",
+ "homepage": "https://github.com/gmponos"
+ },
+ {
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com",
+ "homepage": "https://github.com/Nyholm"
+ },
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com",
+ "homepage": "https://github.com/sagikazarmark"
+ },
+ {
+ "name": "Tobias Schultze",
+ "email": "webmaster@tubo-world.de",
+ "homepage": "https://github.com/Tobion"
+ }
+ ],
+ "description": "Guzzle is a PHP HTTP client library",
+ "keywords": [
+ "client",
+ "curl",
+ "framework",
+ "http",
+ "http client",
+ "psr-18",
+ "psr-7",
+ "rest",
+ "web service"
+ ],
+ "support": {
+ "issues": "https://github.com/guzzle/guzzle/issues",
+ "source": "https://github.com/guzzle/guzzle/tree/7.5.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/Nyholm",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-08-28T15:39:27+00:00"
+ },
+ {
+ "name": "guzzlehttp/promises",
+ "version": "1.5.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/promises.git",
+ "reference": "b94b2807d85443f9719887892882d0329d1e2598"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598",
+ "reference": "b94b2807d85443f9719887892882d0329d1e2598",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5"
+ },
+ "require-dev": {
+ "symfony/phpunit-bridge": "^4.4 || ^5.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.5-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/functions_include.php"
+ ],
+ "psr-4": {
+ "GuzzleHttp\\Promise\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
+ },
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com",
+ "homepage": "https://github.com/Nyholm"
+ },
+ {
+ "name": "Tobias Schultze",
+ "email": "webmaster@tubo-world.de",
+ "homepage": "https://github.com/Tobion"
+ }
+ ],
+ "description": "Guzzle promises library",
+ "keywords": [
+ "promise"
+ ],
+ "support": {
+ "issues": "https://github.com/guzzle/promises/issues",
+ "source": "https://github.com/guzzle/promises/tree/1.5.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/Nyholm",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-08-28T14:55:35+00:00"
+ },
+ {
+ "name": "guzzlehttp/psr7",
+ "version": "2.4.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/psr7.git",
+ "reference": "67c26b443f348a51926030c83481b85718457d3d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/67c26b443f348a51926030c83481b85718457d3d",
+ "reference": "67c26b443f348a51926030c83481b85718457d3d",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2.5 || ^8.0",
+ "psr/http-factory": "^1.0",
+ "psr/http-message": "^1.0",
+ "ralouphie/getallheaders": "^3.0"
+ },
+ "provide": {
+ "psr/http-factory-implementation": "1.0",
+ "psr/http-message-implementation": "1.0"
+ },
+ "require-dev": {
+ "bamarni/composer-bin-plugin": "^1.8.1",
+ "http-interop/http-factory-tests": "^0.9",
+ "phpunit/phpunit": "^8.5.29 || ^9.5.23"
+ },
+ "suggest": {
+ "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
+ },
+ "type": "library",
+ "extra": {
+ "bamarni-bin": {
+ "bin-links": true,
+ "forward-command": false
+ },
+ "branch-alias": {
+ "dev-master": "2.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "GuzzleHttp\\Psr7\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
+ },
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "George Mponos",
+ "email": "gmponos@gmail.com",
+ "homepage": "https://github.com/gmponos"
+ },
+ {
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com",
+ "homepage": "https://github.com/Nyholm"
+ },
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com",
+ "homepage": "https://github.com/sagikazarmark"
+ },
+ {
+ "name": "Tobias Schultze",
+ "email": "webmaster@tubo-world.de",
+ "homepage": "https://github.com/Tobion"
+ },
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com",
+ "homepage": "https://sagikazarmark.hu"
+ }
+ ],
+ "description": "PSR-7 message implementation that also provides common utility methods",
+ "keywords": [
+ "http",
+ "message",
+ "psr-7",
+ "request",
+ "response",
+ "stream",
+ "uri",
+ "url"
+ ],
+ "support": {
+ "issues": "https://github.com/guzzle/psr7/issues",
+ "source": "https://github.com/guzzle/psr7/tree/2.4.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/Nyholm",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-26T14:07:24+00:00"
+ },
+ {
+ "name": "laravel/framework",
+ "version": "v9.37.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laravel/framework.git",
+ "reference": "0c9675abf6d966e834b2ebeca3319f524e07a330"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/0c9675abf6d966e834b2ebeca3319f524e07a330",
+ "reference": "0c9675abf6d966e834b2ebeca3319f524e07a330",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/inflector": "^2.0",
+ "dragonmantank/cron-expression": "^3.3.2",
+ "egulias/email-validator": "^3.2.1",
+ "ext-mbstring": "*",
+ "ext-openssl": "*",
+ "fruitcake/php-cors": "^1.2",
+ "laravel/serializable-closure": "^1.2.2",
+ "league/commonmark": "^2.2",
+ "league/flysystem": "^3.8.0",
+ "monolog/monolog": "^2.0",
+ "nesbot/carbon": "^2.62.1",
+ "nunomaduro/termwind": "^1.13",
+ "php": "^8.0.2",
+ "psr/container": "^1.1.1|^2.0.1",
+ "psr/log": "^1.0|^2.0|^3.0",
+ "psr/simple-cache": "^1.0|^2.0|^3.0",
+ "ramsey/uuid": "^4.2.2",
+ "symfony/console": "^6.0.9",
+ "symfony/error-handler": "^6.0",
+ "symfony/finder": "^6.0",
+ "symfony/http-foundation": "^6.0",
+ "symfony/http-kernel": "^6.0",
+ "symfony/mailer": "^6.0",
+ "symfony/mime": "^6.0",
+ "symfony/process": "^6.0",
+ "symfony/routing": "^6.0",
+ "symfony/uid": "^6.0",
+ "symfony/var-dumper": "^6.0",
+ "tijsverkoyen/css-to-inline-styles": "^2.2.5",
+ "vlucas/phpdotenv": "^5.4.1",
+ "voku/portable-ascii": "^2.0"
+ },
+ "conflict": {
+ "tightenco/collect": "<5.5.33"
+ },
+ "provide": {
+ "psr/container-implementation": "1.1|2.0",
+ "psr/simple-cache-implementation": "1.0|2.0|3.0"
+ },
+ "replace": {
+ "illuminate/auth": "self.version",
+ "illuminate/broadcasting": "self.version",
+ "illuminate/bus": "self.version",
+ "illuminate/cache": "self.version",
+ "illuminate/collections": "self.version",
+ "illuminate/conditionable": "self.version",
+ "illuminate/config": "self.version",
+ "illuminate/console": "self.version",
+ "illuminate/container": "self.version",
+ "illuminate/contracts": "self.version",
+ "illuminate/cookie": "self.version",
+ "illuminate/database": "self.version",
+ "illuminate/encryption": "self.version",
+ "illuminate/events": "self.version",
+ "illuminate/filesystem": "self.version",
+ "illuminate/hashing": "self.version",
+ "illuminate/http": "self.version",
+ "illuminate/log": "self.version",
+ "illuminate/macroable": "self.version",
+ "illuminate/mail": "self.version",
+ "illuminate/notifications": "self.version",
+ "illuminate/pagination": "self.version",
+ "illuminate/pipeline": "self.version",
+ "illuminate/queue": "self.version",
+ "illuminate/redis": "self.version",
+ "illuminate/routing": "self.version",
+ "illuminate/session": "self.version",
+ "illuminate/support": "self.version",
+ "illuminate/testing": "self.version",
+ "illuminate/translation": "self.version",
+ "illuminate/validation": "self.version",
+ "illuminate/view": "self.version"
+ },
+ "require-dev": {
+ "ably/ably-php": "^1.0",
+ "aws/aws-sdk-php": "^3.235.5",
+ "doctrine/dbal": "^2.13.3|^3.1.4",
+ "fakerphp/faker": "^1.9.2",
+ "guzzlehttp/guzzle": "^7.5",
+ "league/flysystem-aws-s3-v3": "^3.0",
+ "league/flysystem-ftp": "^3.0",
+ "league/flysystem-path-prefixing": "^3.3",
+ "league/flysystem-read-only": "^3.3",
+ "league/flysystem-sftp-v3": "^3.0",
+ "mockery/mockery": "^1.5.1",
+ "orchestra/testbench-core": "^7.11",
+ "pda/pheanstalk": "^4.0",
+ "phpstan/phpstan": "^1.4.7",
+ "phpunit/phpunit": "^9.5.8",
+ "predis/predis": "^1.1.9|^2.0.2",
+ "symfony/cache": "^6.0"
+ },
+ "suggest": {
+ "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).",
+ "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).",
+ "brianium/paratest": "Required to run tests in parallel (^6.0).",
+ "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.4).",
+ "ext-bcmath": "Required to use the multiple_of validation rule.",
+ "ext-ftp": "Required to use the Flysystem FTP driver.",
+ "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().",
+ "ext-memcached": "Required to use the memcache cache driver.",
+ "ext-pcntl": "Required to use all features of the queue worker.",
+ "ext-posix": "Required to use all features of the queue worker.",
+ "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).",
+ "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).",
+ "filp/whoops": "Required for friendly error pages in development (^2.14.3).",
+ "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.5).",
+ "laravel/tinker": "Required to use the tinker console command (^2.0).",
+ "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).",
+ "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).",
+ "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).",
+ "league/flysystem-read-only": "Required to use read-only disks (^3.3)",
+ "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).",
+ "mockery/mockery": "Required to use mocking (^1.5.1).",
+ "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).",
+ "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).",
+ "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8).",
+ "predis/predis": "Required to use the predis connector (^1.1.9|^2.0.2).",
+ "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).",
+ "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).",
+ "symfony/cache": "Required to PSR-6 cache bridge (^6.0).",
+ "symfony/filesystem": "Required to enable support for relative symbolic links (^6.0).",
+ "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.0).",
+ "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.0).",
+ "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.0).",
+ "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)."
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.x-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/Illuminate/Collections/helpers.php",
+ "src/Illuminate/Events/functions.php",
+ "src/Illuminate/Foundation/helpers.php",
+ "src/Illuminate/Support/helpers.php"
+ ],
+ "psr-4": {
+ "Illuminate\\": "src/Illuminate/",
+ "Illuminate\\Support\\": [
+ "src/Illuminate/Macroable/",
+ "src/Illuminate/Collections/",
+ "src/Illuminate/Conditionable/"
+ ]
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "The Laravel Framework.",
+ "homepage": "https://laravel.com",
+ "keywords": [
+ "framework",
+ "laravel"
+ ],
+ "support": {
+ "issues": "https://github.com/laravel/framework/issues",
+ "source": "https://github.com/laravel/framework"
+ },
+ "time": "2022-10-25T15:43:46+00:00"
+ },
+ {
+ "name": "laravel/sanctum",
+ "version": "v3.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laravel/sanctum.git",
+ "reference": "b71e80a3a8e8029e2ec8c1aa814b999609ce16dc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laravel/sanctum/zipball/b71e80a3a8e8029e2ec8c1aa814b999609ce16dc",
+ "reference": "b71e80a3a8e8029e2ec8c1aa814b999609ce16dc",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "illuminate/console": "^9.21",
+ "illuminate/contracts": "^9.21",
+ "illuminate/database": "^9.21",
+ "illuminate/support": "^9.21",
+ "php": "^8.0.2"
+ },
+ "require-dev": {
+ "mockery/mockery": "^1.0",
+ "orchestra/testbench": "^7.0",
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.x-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Laravel\\Sanctum\\SanctumServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laravel\\Sanctum\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "Laravel Sanctum provides a featherweight authentication system for SPAs and simple APIs.",
+ "keywords": [
+ "auth",
+ "laravel",
+ "sanctum"
+ ],
+ "support": {
+ "issues": "https://github.com/laravel/sanctum/issues",
+ "source": "https://github.com/laravel/sanctum"
+ },
+ "time": "2022-07-29T21:33:30+00:00"
+ },
+ {
+ "name": "laravel/serializable-closure",
+ "version": "v1.2.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laravel/serializable-closure.git",
+ "reference": "47afb7fae28ed29057fdca37e16a84f90cc62fae"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/47afb7fae28ed29057fdca37e16a84f90cc62fae",
+ "reference": "47afb7fae28ed29057fdca37e16a84f90cc62fae",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.3|^8.0"
+ },
+ "require-dev": {
+ "nesbot/carbon": "^2.61",
+ "pestphp/pest": "^1.21.3",
+ "phpstan/phpstan": "^1.8.2",
+ "symfony/var-dumper": "^5.4.11"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laravel\\SerializableClosure\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ },
+ {
+ "name": "Nuno Maduro",
+ "email": "nuno@laravel.com"
+ }
+ ],
+ "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.",
+ "keywords": [
+ "closure",
+ "laravel",
+ "serializable"
+ ],
+ "support": {
+ "issues": "https://github.com/laravel/serializable-closure/issues",
+ "source": "https://github.com/laravel/serializable-closure"
+ },
+ "time": "2022-09-08T13:45:54+00:00"
+ },
+ {
+ "name": "laravel/tinker",
+ "version": "v2.7.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laravel/tinker.git",
+ "reference": "dff39b661e827dae6e092412f976658df82dbac5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laravel/tinker/zipball/dff39b661e827dae6e092412f976658df82dbac5",
+ "reference": "dff39b661e827dae6e092412f976658df82dbac5",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/console": "^6.0|^7.0|^8.0|^9.0",
+ "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0",
+ "illuminate/support": "^6.0|^7.0|^8.0|^9.0",
+ "php": "^7.2.5|^8.0",
+ "psy/psysh": "^0.10.4|^0.11.1",
+ "symfony/var-dumper": "^4.3.4|^5.0|^6.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "~1.3.3|^1.4.2",
+ "phpunit/phpunit": "^8.5.8|^9.3.3"
+ },
+ "suggest": {
+ "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0)."
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.x-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Laravel\\Tinker\\TinkerServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laravel\\Tinker\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "Powerful REPL for the Laravel framework.",
+ "keywords": [
+ "REPL",
+ "Tinker",
+ "laravel",
+ "psysh"
+ ],
+ "support": {
+ "issues": "https://github.com/laravel/tinker/issues",
+ "source": "https://github.com/laravel/tinker/tree/v2.7.2"
+ },
+ "time": "2022-03-23T12:38:24+00:00"
+ },
+ {
+ "name": "league/commonmark",
+ "version": "2.3.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/commonmark.git",
+ "reference": "857afc47ce113454bd629037213378ba3219dd40"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/857afc47ce113454bd629037213378ba3219dd40",
+ "reference": "857afc47ce113454bd629037213378ba3219dd40",
+ "shasum": ""
+ },
+ "require": {
+ "ext-mbstring": "*",
+ "league/config": "^1.1.1",
+ "php": "^7.4 || ^8.0",
+ "psr/event-dispatcher": "^1.0",
+ "symfony/deprecation-contracts": "^2.1 || ^3.0",
+ "symfony/polyfill-php80": "^1.16"
+ },
+ "require-dev": {
+ "cebe/markdown": "^1.0",
+ "commonmark/cmark": "0.30.0",
+ "commonmark/commonmark.js": "0.30.0",
+ "composer/package-versions-deprecated": "^1.8",
+ "embed/embed": "^4.4",
+ "erusev/parsedown": "^1.0",
+ "ext-json": "*",
+ "github/gfm": "0.29.0",
+ "michelf/php-markdown": "^1.4 || ^2.0",
+ "nyholm/psr7": "^1.5",
+ "phpstan/phpstan": "^1.8.2",
+ "phpunit/phpunit": "^9.5.21",
+ "scrutinizer/ocular": "^1.8.1",
+ "symfony/finder": "^5.3 | ^6.0",
+ "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0",
+ "unleashedtech/php-coding-standard": "^3.1.1",
+ "vimeo/psalm": "^4.24.0"
+ },
+ "suggest": {
+ "symfony/yaml": "v2.3+ required if using the Front Matter extension"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "League\\CommonMark\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Colin O'Dell",
+ "email": "colinodell@gmail.com",
+ "homepage": "https://www.colinodell.com",
+ "role": "Lead Developer"
+ }
+ ],
+ "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)",
+ "homepage": "https://commonmark.thephpleague.com",
+ "keywords": [
+ "commonmark",
+ "flavored",
+ "gfm",
+ "github",
+ "github-flavored",
+ "markdown",
+ "md",
+ "parser"
+ ],
+ "support": {
+ "docs": "https://commonmark.thephpleague.com/",
+ "forum": "https://github.com/thephpleague/commonmark/discussions",
+ "issues": "https://github.com/thephpleague/commonmark/issues",
+ "rss": "https://github.com/thephpleague/commonmark/releases.atom",
+ "source": "https://github.com/thephpleague/commonmark"
+ },
+ "funding": [
+ {
+ "url": "https://www.colinodell.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.paypal.me/colinpodell/10.00",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/colinodell",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/league/commonmark",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-30T16:45:38+00:00"
+ },
+ {
+ "name": "league/config",
+ "version": "v1.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/config.git",
+ "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/config/zipball/a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e",
+ "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e",
+ "shasum": ""
+ },
+ "require": {
+ "dflydev/dot-access-data": "^3.0.1",
+ "nette/schema": "^1.2",
+ "php": "^7.4 || ^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^0.12.90",
+ "phpunit/phpunit": "^9.5.5",
+ "scrutinizer/ocular": "^1.8.1",
+ "unleashedtech/php-coding-standard": "^3.1",
+ "vimeo/psalm": "^4.7.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.2-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "League\\Config\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Colin O'Dell",
+ "email": "colinodell@gmail.com",
+ "homepage": "https://www.colinodell.com",
+ "role": "Lead Developer"
+ }
+ ],
+ "description": "Define configuration arrays with strict schemas and access values with dot notation",
+ "homepage": "https://config.thephpleague.com",
+ "keywords": [
+ "array",
+ "config",
+ "configuration",
+ "dot",
+ "dot-access",
+ "nested",
+ "schema"
+ ],
+ "support": {
+ "docs": "https://config.thephpleague.com/",
+ "issues": "https://github.com/thephpleague/config/issues",
+ "rss": "https://github.com/thephpleague/config/releases.atom",
+ "source": "https://github.com/thephpleague/config"
+ },
+ "funding": [
+ {
+ "url": "https://www.colinodell.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.paypal.me/colinpodell/10.00",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/colinodell",
+ "type": "github"
+ }
+ ],
+ "time": "2021-08-14T12:15:32+00:00"
+ },
+ {
+ "name": "league/flysystem",
+ "version": "3.10.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/flysystem.git",
+ "reference": "b9bd194b016114d6ff6765c09d40c7d427e4e3f6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/b9bd194b016114d6ff6765c09d40c7d427e4e3f6",
+ "reference": "b9bd194b016114d6ff6765c09d40c7d427e4e3f6",
+ "shasum": ""
+ },
+ "require": {
+ "league/mime-type-detection": "^1.0.0",
+ "php": "^8.0.2"
+ },
+ "conflict": {
+ "aws/aws-sdk-php": "3.209.31 || 3.210.0",
+ "guzzlehttp/guzzle": "<7.0",
+ "guzzlehttp/ringphp": "<1.1.1",
+ "phpseclib/phpseclib": "3.0.15",
+ "symfony/http-client": "<5.2"
+ },
+ "require-dev": {
+ "async-aws/s3": "^1.5",
+ "async-aws/simple-s3": "^1.1",
+ "aws/aws-sdk-php": "^3.198.1",
+ "composer/semver": "^3.0",
+ "ext-fileinfo": "*",
+ "ext-ftp": "*",
+ "ext-zip": "*",
+ "friendsofphp/php-cs-fixer": "^3.5",
+ "google/cloud-storage": "^1.23",
+ "microsoft/azure-storage-blob": "^1.1",
+ "phpseclib/phpseclib": "^3.0.14",
+ "phpstan/phpstan": "^0.12.26",
+ "phpunit/phpunit": "^9.5.11",
+ "sabre/dav": "^4.3.1"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "League\\Flysystem\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Frank de Jonge",
+ "email": "info@frankdejonge.nl"
+ }
+ ],
+ "description": "File storage abstraction for PHP",
+ "keywords": [
+ "WebDAV",
+ "aws",
+ "cloud",
+ "file",
+ "files",
+ "filesystem",
+ "filesystems",
+ "ftp",
+ "s3",
+ "sftp",
+ "storage"
+ ],
+ "support": {
+ "issues": "https://github.com/thephpleague/flysystem/issues",
+ "source": "https://github.com/thephpleague/flysystem/tree/3.10.2"
+ },
+ "funding": [
+ {
+ "url": "https://ecologi.com/frankdejonge",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/frankdejonge",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/league/flysystem",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-25T07:01:47+00:00"
+ },
+ {
+ "name": "league/mime-type-detection",
+ "version": "1.11.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/mime-type-detection.git",
+ "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd",
+ "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd",
+ "shasum": ""
+ },
+ "require": {
+ "ext-fileinfo": "*",
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^3.2",
+ "phpstan/phpstan": "^0.12.68",
+ "phpunit/phpunit": "^8.5.8 || ^9.3"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "League\\MimeTypeDetection\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Frank de Jonge",
+ "email": "info@frankdejonge.nl"
+ }
+ ],
+ "description": "Mime-type detection for Flysystem",
+ "support": {
+ "issues": "https://github.com/thephpleague/mime-type-detection/issues",
+ "source": "https://github.com/thephpleague/mime-type-detection/tree/1.11.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/frankdejonge",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/league/flysystem",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-04-17T13:12:02+00:00"
+ },
+ {
+ "name": "monolog/monolog",
+ "version": "2.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Seldaek/monolog.git",
+ "reference": "720488632c590286b88b80e62aa3d3d551ad4a50"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/720488632c590286b88b80e62aa3d3d551ad4a50",
+ "reference": "720488632c590286b88b80e62aa3d3d551ad4a50",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2",
+ "psr/log": "^1.0.1 || ^2.0 || ^3.0"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0"
+ },
+ "require-dev": {
+ "aws/aws-sdk-php": "^2.4.9 || ^3.0",
+ "doctrine/couchdb": "~1.0@dev",
+ "elasticsearch/elasticsearch": "^7 || ^8",
+ "ext-json": "*",
+ "graylog2/gelf-php": "^1.4.2",
+ "guzzlehttp/guzzle": "^7.4",
+ "guzzlehttp/psr7": "^2.2",
+ "mongodb/mongodb": "^1.8",
+ "php-amqplib/php-amqplib": "~2.4 || ^3",
+ "phpspec/prophecy": "^1.15",
+ "phpstan/phpstan": "^0.12.91",
+ "phpunit/phpunit": "^8.5.14",
+ "predis/predis": "^1.1 || ^2.0",
+ "rollbar/rollbar": "^1.3 || ^2 || ^3",
+ "ruflin/elastica": "^7",
+ "swiftmailer/swiftmailer": "^5.3|^6.0",
+ "symfony/mailer": "^5.4 || ^6",
+ "symfony/mime": "^5.4 || ^6"
+ },
+ "suggest": {
+ "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
+ "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
+ "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client",
+ "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
+ "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler",
+ "ext-mbstring": "Allow to work properly with unicode symbols",
+ "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)",
+ "ext-openssl": "Required to send log messages using SSL",
+ "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)",
+ "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
+ "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)",
+ "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
+ "rollbar/rollbar": "Allow sending log messages to Rollbar",
+ "ruflin/elastica": "Allow sending log messages to an Elastic Search server"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Monolog\\": "src/Monolog"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "https://seld.be"
+ }
+ ],
+ "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
+ "homepage": "https://github.com/Seldaek/monolog",
+ "keywords": [
+ "log",
+ "logging",
+ "psr-3"
+ ],
+ "support": {
+ "issues": "https://github.com/Seldaek/monolog/issues",
+ "source": "https://github.com/Seldaek/monolog/tree/2.8.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/Seldaek",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/monolog/monolog",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-07-24T11:55:47+00:00"
+ },
+ {
+ "name": "nesbot/carbon",
+ "version": "2.62.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/briannesbitt/Carbon.git",
+ "reference": "01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a",
+ "reference": "01bc4cdefe98ef58d1f9cb31bdbbddddf2a88f7a",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "php": "^7.1.8 || ^8.0",
+ "symfony/polyfill-mbstring": "^1.0",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0"
+ },
+ "require-dev": {
+ "doctrine/dbal": "^2.0 || ^3.0",
+ "doctrine/orm": "^2.7",
+ "friendsofphp/php-cs-fixer": "^3.0",
+ "kylekatarnls/multi-tester": "^2.0",
+ "ondrejmirtes/better-reflection": "*",
+ "phpmd/phpmd": "^2.9",
+ "phpstan/extension-installer": "^1.0",
+ "phpstan/phpstan": "^0.12.99 || ^1.7.14",
+ "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6",
+ "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20",
+ "squizlabs/php_codesniffer": "^3.4"
+ },
+ "bin": [
+ "bin/carbon"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-3.x": "3.x-dev",
+ "dev-master": "2.x-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Carbon\\Laravel\\ServiceProvider"
+ ]
+ },
+ "phpstan": {
+ "includes": [
+ "extension.neon"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Carbon\\": "src/Carbon/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Brian Nesbitt",
+ "email": "brian@nesbot.com",
+ "homepage": "https://markido.com"
+ },
+ {
+ "name": "kylekatarnls",
+ "homepage": "https://github.com/kylekatarnls"
+ }
+ ],
+ "description": "An API extension for DateTime that supports 281 different languages.",
+ "homepage": "https://carbon.nesbot.com",
+ "keywords": [
+ "date",
+ "datetime",
+ "time"
+ ],
+ "support": {
+ "docs": "https://carbon.nesbot.com/docs",
+ "issues": "https://github.com/briannesbitt/Carbon/issues",
+ "source": "https://github.com/briannesbitt/Carbon"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/kylekatarnls",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/Carbon#sponsor",
+ "type": "opencollective"
+ },
+ {
+ "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-09-02T07:48:13+00:00"
+ },
+ {
+ "name": "nette/schema",
+ "version": "v1.2.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nette/schema.git",
+ "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nette/schema/zipball/9a39cef03a5b34c7de64f551538cbba05c2be5df",
+ "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df",
+ "shasum": ""
+ },
+ "require": {
+ "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0",
+ "php": ">=7.1 <8.2"
+ },
+ "require-dev": {
+ "nette/tester": "^2.3 || ^2.4",
+ "phpstan/phpstan-nette": "^0.12",
+ "tracy/tracy": "^2.7"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.2-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause",
+ "GPL-2.0-only",
+ "GPL-3.0-only"
+ ],
+ "authors": [
+ {
+ "name": "David Grudl",
+ "homepage": "https://davidgrudl.com"
+ },
+ {
+ "name": "Nette Community",
+ "homepage": "https://nette.org/contributors"
+ }
+ ],
+ "description": "📐 Nette Schema: validating data structures against a given Schema.",
+ "homepage": "https://nette.org",
+ "keywords": [
+ "config",
+ "nette"
+ ],
+ "support": {
+ "issues": "https://github.com/nette/schema/issues",
+ "source": "https://github.com/nette/schema/tree/v1.2.2"
+ },
+ "time": "2021-10-15T11:40:02+00:00"
+ },
+ {
+ "name": "nette/utils",
+ "version": "v3.2.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nette/utils.git",
+ "reference": "02a54c4c872b99e4ec05c4aec54b5a06eb0f6368"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nette/utils/zipball/02a54c4c872b99e4ec05c4aec54b5a06eb0f6368",
+ "reference": "02a54c4c872b99e4ec05c4aec54b5a06eb0f6368",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2 <8.3"
+ },
+ "conflict": {
+ "nette/di": "<3.0.6"
+ },
+ "require-dev": {
+ "nette/tester": "~2.0",
+ "phpstan/phpstan": "^1.0",
+ "tracy/tracy": "^2.3"
+ },
+ "suggest": {
+ "ext-gd": "to use Image",
+ "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()",
+ "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()",
+ "ext-json": "to use Nette\\Utils\\Json",
+ "ext-mbstring": "to use Strings::lower() etc...",
+ "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()",
+ "ext-xml": "to use Strings::length() etc. when mbstring is not available"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.2-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause",
+ "GPL-2.0-only",
+ "GPL-3.0-only"
+ ],
+ "authors": [
+ {
+ "name": "David Grudl",
+ "homepage": "https://davidgrudl.com"
+ },
+ {
+ "name": "Nette Community",
+ "homepage": "https://nette.org/contributors"
+ }
+ ],
+ "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.",
+ "homepage": "https://nette.org",
+ "keywords": [
+ "array",
+ "core",
+ "datetime",
+ "images",
+ "json",
+ "nette",
+ "paginator",
+ "password",
+ "slugify",
+ "string",
+ "unicode",
+ "utf-8",
+ "utility",
+ "validation"
+ ],
+ "support": {
+ "issues": "https://github.com/nette/utils/issues",
+ "source": "https://github.com/nette/utils/tree/v3.2.8"
+ },
+ "time": "2022-09-12T23:36:20+00:00"
+ },
+ {
+ "name": "nikic/php-parser",
+ "version": "v4.15.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nikic/PHP-Parser.git",
+ "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ef6c55a3f47f89d7a374e6f835197a0b5fcf900",
+ "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900",
+ "shasum": ""
+ },
+ "require": {
+ "ext-tokenizer": "*",
+ "php": ">=7.0"
+ },
+ "require-dev": {
+ "ircmaxell/php-yacc": "^0.0.7",
+ "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
+ },
+ "bin": [
+ "bin/php-parse"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.9-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PhpParser\\": "lib/PhpParser"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Nikita Popov"
+ }
+ ],
+ "description": "A PHP parser written in PHP",
+ "keywords": [
+ "parser",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/nikic/PHP-Parser/issues",
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.1"
+ },
+ "time": "2022-09-04T07:30:47+00:00"
+ },
+ {
+ "name": "nunomaduro/termwind",
+ "version": "v1.14.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nunomaduro/termwind.git",
+ "reference": "9a8218511eb1a0965629ff820dda25985440aefc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/9a8218511eb1a0965629ff820dda25985440aefc",
+ "reference": "9a8218511eb1a0965629ff820dda25985440aefc",
+ "shasum": ""
+ },
+ "require": {
+ "ext-mbstring": "*",
+ "php": "^8.0",
+ "symfony/console": "^5.3.0|^6.0.0"
+ },
+ "require-dev": {
+ "ergebnis/phpstan-rules": "^1.0.",
+ "illuminate/console": "^8.0|^9.0",
+ "illuminate/support": "^8.0|^9.0",
+ "laravel/pint": "^1.0.0",
+ "pestphp/pest": "^1.21.0",
+ "pestphp/pest-plugin-mock": "^1.0",
+ "phpstan/phpstan": "^1.4.6",
+ "phpstan/phpstan-strict-rules": "^1.1.0",
+ "symfony/var-dumper": "^5.2.7|^6.0.0",
+ "thecodingmachine/phpstan-strict-rules": "^1.0.0"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Termwind\\Laravel\\TermwindServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/Functions.php"
+ ],
+ "psr-4": {
+ "Termwind\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
+ }
+ ],
+ "description": "Its like Tailwind CSS, but for the console.",
+ "keywords": [
+ "cli",
+ "console",
+ "css",
+ "package",
+ "php",
+ "style"
+ ],
+ "support": {
+ "issues": "https://github.com/nunomaduro/termwind/issues",
+ "source": "https://github.com/nunomaduro/termwind/tree/v1.14.2"
+ },
+ "funding": [
+ {
+ "url": "https://www.paypal.com/paypalme/enunomaduro",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/nunomaduro",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/xiCO2k",
+ "type": "github"
+ }
+ ],
+ "time": "2022-10-28T22:51:32+00:00"
+ },
+ {
+ "name": "phpoption/phpoption",
+ "version": "1.9.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/schmittjoh/php-option.git",
+ "reference": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/dc5ff11e274a90cc1c743f66c9ad700ce50db9ab",
+ "reference": "dc5ff11e274a90cc1c743f66c9ad700ce50db9ab",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2.5 || ^8.0"
+ },
+ "require-dev": {
+ "bamarni/composer-bin-plugin": "^1.8",
+ "phpunit/phpunit": "^8.5.28 || ^9.5.21"
+ },
+ "type": "library",
+ "extra": {
+ "bamarni-bin": {
+ "bin-links": true,
+ "forward-command": true
+ },
+ "branch-alias": {
+ "dev-master": "1.9-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PhpOption\\": "src/PhpOption/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "Apache-2.0"
+ ],
+ "authors": [
+ {
+ "name": "Johannes M. Schmitt",
+ "email": "schmittjoh@gmail.com",
+ "homepage": "https://github.com/schmittjoh"
+ },
+ {
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
+ }
+ ],
+ "description": "Option Type for PHP",
+ "keywords": [
+ "language",
+ "option",
+ "php",
+ "type"
+ ],
+ "support": {
+ "issues": "https://github.com/schmittjoh/php-option/issues",
+ "source": "https://github.com/schmittjoh/php-option/tree/1.9.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-07-30T15:51:26+00:00"
+ },
+ {
+ "name": "psr/container",
+ "version": "2.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.4.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Container\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common Container Interface (PHP FIG PSR-11)",
+ "homepage": "https://github.com/php-fig/container",
+ "keywords": [
+ "PSR-11",
+ "container",
+ "container-interface",
+ "container-interop",
+ "psr"
+ ],
+ "support": {
+ "issues": "https://github.com/php-fig/container/issues",
+ "source": "https://github.com/php-fig/container/tree/2.0.2"
+ },
+ "time": "2021-11-05T16:47:00+00:00"
+ },
+ {
+ "name": "psr/event-dispatcher",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/event-dispatcher.git",
+ "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0",
+ "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\EventDispatcher\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Standard interfaces for event handling.",
+ "keywords": [
+ "events",
+ "psr",
+ "psr-14"
+ ],
+ "support": {
+ "issues": "https://github.com/php-fig/event-dispatcher/issues",
+ "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0"
+ },
+ "time": "2019-01-08T18:20:26+00:00"
+ },
+ {
+ "name": "psr/http-client",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/http-client.git",
+ "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
+ "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0 || ^8.0",
+ "psr/http-message": "^1.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Http\\Client\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for HTTP clients",
+ "homepage": "https://github.com/php-fig/http-client",
+ "keywords": [
+ "http",
+ "http-client",
+ "psr",
+ "psr-18"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/http-client/tree/master"
+ },
+ "time": "2020-06-29T06:28:15+00:00"
+ },
+ {
+ "name": "psr/http-factory",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/http-factory.git",
+ "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
+ "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.0.0",
+ "psr/http-message": "^1.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Http\\Message\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interfaces for PSR-7 HTTP message factories",
+ "keywords": [
+ "factory",
+ "http",
+ "message",
+ "psr",
+ "psr-17",
+ "psr-7",
+ "request",
+ "response"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/http-factory/tree/master"
+ },
+ "time": "2019-04-30T12:38:16+00:00"
+ },
+ {
+ "name": "psr/http-message",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/http-message.git",
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
+ "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Http\\Message\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for HTTP messages",
+ "homepage": "https://github.com/php-fig/http-message",
+ "keywords": [
+ "http",
+ "http-message",
+ "psr",
+ "psr-7",
+ "request",
+ "response"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/http-message/tree/master"
+ },
+ "time": "2016-08-06T14:39:51+00:00"
+ },
+ {
+ "name": "psr/log",
+ "version": "3.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
+ "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.0.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Log\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for logging libraries",
+ "homepage": "https://github.com/php-fig/log",
+ "keywords": [
+ "log",
+ "psr",
+ "psr-3"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/log/tree/3.0.0"
+ },
+ "time": "2021-07-14T16:46:02+00:00"
+ },
+ {
+ "name": "psr/simple-cache",
+ "version": "3.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/simple-cache.git",
+ "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865",
+ "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.0.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\SimpleCache\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interfaces for simple caching",
+ "keywords": [
+ "cache",
+ "caching",
+ "psr",
+ "psr-16",
+ "simple-cache"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/simple-cache/tree/3.0.0"
+ },
+ "time": "2021-10-29T13:26:27+00:00"
+ },
+ {
+ "name": "psy/psysh",
+ "version": "v0.11.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/bobthecow/psysh.git",
+ "reference": "f455acf3645262ae389b10e9beba0c358aa6994e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/bobthecow/psysh/zipball/f455acf3645262ae389b10e9beba0c358aa6994e",
+ "reference": "f455acf3645262ae389b10e9beba0c358aa6994e",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "ext-tokenizer": "*",
+ "nikic/php-parser": "^4.0 || ^3.1",
+ "php": "^8.0 || ^7.0.8",
+ "symfony/console": "^6.0 || ^5.0 || ^4.0 || ^3.4",
+ "symfony/var-dumper": "^6.0 || ^5.0 || ^4.0 || ^3.4"
+ },
+ "conflict": {
+ "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4"
+ },
+ "require-dev": {
+ "bamarni/composer-bin-plugin": "^1.2"
+ },
+ "suggest": {
+ "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)",
+ "ext-pdo-sqlite": "The doc command requires SQLite to work.",
+ "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.",
+ "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history."
+ },
+ "bin": [
+ "bin/psysh"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "0.11.x-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/functions.php"
+ ],
+ "psr-4": {
+ "Psy\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Justin Hileman",
+ "email": "justin@justinhileman.info",
+ "homepage": "http://justinhileman.com"
+ }
+ ],
+ "description": "An interactive shell for modern PHP.",
+ "homepage": "http://psysh.org",
+ "keywords": [
+ "REPL",
+ "console",
+ "interactive",
+ "shell"
+ ],
+ "support": {
+ "issues": "https://github.com/bobthecow/psysh/issues",
+ "source": "https://github.com/bobthecow/psysh/tree/v0.11.8"
+ },
+ "time": "2022-07-28T14:25:11+00:00"
+ },
+ {
+ "name": "ralouphie/getallheaders",
+ "version": "3.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/ralouphie/getallheaders.git",
+ "reference": "120b605dfeb996808c31b6477290a714d356e822"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
+ "reference": "120b605dfeb996808c31b6477290a714d356e822",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.6"
+ },
+ "require-dev": {
+ "php-coveralls/php-coveralls": "^2.1",
+ "phpunit/phpunit": "^5 || ^6.5"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "src/getallheaders.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Ralph Khattar",
+ "email": "ralph.khattar@gmail.com"
+ }
+ ],
+ "description": "A polyfill for getallheaders.",
+ "support": {
+ "issues": "https://github.com/ralouphie/getallheaders/issues",
+ "source": "https://github.com/ralouphie/getallheaders/tree/develop"
+ },
+ "time": "2019-03-08T08:55:37+00:00"
+ },
+ {
+ "name": "ramsey/collection",
+ "version": "1.2.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/ramsey/collection.git",
+ "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a",
+ "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.3 || ^8",
+ "symfony/polyfill-php81": "^1.23"
+ },
+ "require-dev": {
+ "captainhook/captainhook": "^5.3",
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
+ "ergebnis/composer-normalize": "^2.6",
+ "fakerphp/faker": "^1.5",
+ "hamcrest/hamcrest-php": "^2",
+ "jangregor/phpstan-prophecy": "^0.8",
+ "mockery/mockery": "^1.3",
+ "phpspec/prophecy-phpunit": "^2.0",
+ "phpstan/extension-installer": "^1",
+ "phpstan/phpstan": "^0.12.32",
+ "phpstan/phpstan-mockery": "^0.12.5",
+ "phpstan/phpstan-phpunit": "^0.12.11",
+ "phpunit/phpunit": "^8.5 || ^9",
+ "psy/psysh": "^0.10.4",
+ "slevomat/coding-standard": "^6.3",
+ "squizlabs/php_codesniffer": "^3.5",
+ "vimeo/psalm": "^4.4"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Ramsey\\Collection\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Ben Ramsey",
+ "email": "ben@benramsey.com",
+ "homepage": "https://benramsey.com"
+ }
+ ],
+ "description": "A PHP library for representing and manipulating collections.",
+ "keywords": [
+ "array",
+ "collection",
+ "hash",
+ "map",
+ "queue",
+ "set"
+ ],
+ "support": {
+ "issues": "https://github.com/ramsey/collection/issues",
+ "source": "https://github.com/ramsey/collection/tree/1.2.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/ramsey",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/ramsey/collection",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-10-10T03:01:02+00:00"
+ },
+ {
+ "name": "ramsey/uuid",
+ "version": "4.5.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/ramsey/uuid.git",
+ "reference": "a161a26d917604dc6d3aa25100fddf2556e9f35d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/ramsey/uuid/zipball/a161a26d917604dc6d3aa25100fddf2556e9f35d",
+ "reference": "a161a26d917604dc6d3aa25100fddf2556e9f35d",
+ "shasum": ""
+ },
+ "require": {
+ "brick/math": "^0.8.8 || ^0.9 || ^0.10",
+ "ext-ctype": "*",
+ "ext-json": "*",
+ "php": "^8.0",
+ "ramsey/collection": "^1.0"
+ },
+ "replace": {
+ "rhumsaa/uuid": "self.version"
+ },
+ "require-dev": {
+ "captainhook/captainhook": "^5.10",
+ "captainhook/plugin-composer": "^5.3",
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
+ "doctrine/annotations": "^1.8",
+ "ergebnis/composer-normalize": "^2.15",
+ "mockery/mockery": "^1.3",
+ "paragonie/random-lib": "^2",
+ "php-mock/php-mock": "^2.2",
+ "php-mock/php-mock-mockery": "^1.3",
+ "php-parallel-lint/php-parallel-lint": "^1.1",
+ "phpbench/phpbench": "^1.0",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-mockery": "^1.1",
+ "phpstan/phpstan-phpunit": "^1.1",
+ "phpunit/phpunit": "^8.5 || ^9",
+ "ramsey/composer-repl": "^1.4",
+ "slevomat/coding-standard": "^8.4",
+ "squizlabs/php_codesniffer": "^3.5",
+ "vimeo/psalm": "^4.9"
+ },
+ "suggest": {
+ "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.",
+ "ext-ctype": "Enables faster processing of character classification using ctype functions.",
+ "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.",
+ "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.",
+ "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter",
+ "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type."
+ },
+ "type": "library",
+ "extra": {
+ "captainhook": {
+ "force-install": true
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/functions.php"
+ ],
+ "psr-4": {
+ "Ramsey\\Uuid\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).",
+ "keywords": [
+ "guid",
+ "identifier",
+ "uuid"
+ ],
+ "support": {
+ "issues": "https://github.com/ramsey/uuid/issues",
+ "source": "https://github.com/ramsey/uuid/tree/4.5.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/ramsey",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-09-16T03:22:46+00:00"
+ },
+ {
+ "name": "symfony/console",
+ "version": "v6.1.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/console.git",
+ "reference": "a1282bd0c096e0bdb8800b104177e2ce404d8815"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/console/zipball/a1282bd0c096e0bdb8800b104177e2ce404d8815",
+ "reference": "a1282bd0c096e0bdb8800b104177e2ce404d8815",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/service-contracts": "^1.1|^2|^3",
+ "symfony/string": "^5.4|^6.0"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<5.4",
+ "symfony/dotenv": "<5.4",
+ "symfony/event-dispatcher": "<5.4",
+ "symfony/lock": "<5.4",
+ "symfony/process": "<5.4"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0|2.0|3.0"
+ },
+ "require-dev": {
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/event-dispatcher": "^5.4|^6.0",
+ "symfony/lock": "^5.4|^6.0",
+ "symfony/process": "^5.4|^6.0",
+ "symfony/var-dumper": "^5.4|^6.0"
+ },
+ "suggest": {
+ "psr/log": "For using the console logger",
+ "symfony/event-dispatcher": "",
+ "symfony/lock": "",
+ "symfony/process": ""
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Console\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Eases the creation of beautiful and testable command line interfaces",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "cli",
+ "command line",
+ "console",
+ "terminal"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/console/tree/v6.1.7"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-26T21:42:49+00:00"
+ },
+ {
+ "name": "symfony/css-selector",
+ "version": "v6.1.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/css-selector.git",
+ "reference": "0dd5e36b80e1de97f8f74ed7023ac2b837a36443"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/0dd5e36b80e1de97f8f74ed7023ac2b837a36443",
+ "reference": "0dd5e36b80e1de97f8f74ed7023ac2b837a36443",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\CssSelector\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Jean-François Simon",
+ "email": "jeanfrancois.simon@sensiolabs.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Converts CSS selectors to XPath expressions",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/css-selector/tree/v6.1.3"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-06-27T17:24:16+00:00"
+ },
+ {
+ "name": "symfony/deprecation-contracts",
+ "version": "v3.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/deprecation-contracts.git",
+ "reference": "07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918",
+ "reference": "07f1b9cc2ffee6aaafcf4b710fbc38ff736bd918",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.1-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
+ "autoload": {
+ "files": [
+ "function.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "A generic function and convention to trigger deprecation notices",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.1.1"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-02-25T11:15:52+00:00"
+ },
+ {
+ "name": "symfony/error-handler",
+ "version": "v6.1.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/error-handler.git",
+ "reference": "699a26ce5ec656c198bf6e26398b0f0818c7e504"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/699a26ce5ec656c198bf6e26398b0f0818c7e504",
+ "reference": "699a26ce5ec656c198bf6e26398b0f0818c7e504",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "psr/log": "^1|^2|^3",
+ "symfony/var-dumper": "^5.4|^6.0"
+ },
+ "require-dev": {
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/http-kernel": "^5.4|^6.0",
+ "symfony/serializer": "^5.4|^6.0"
+ },
+ "bin": [
+ "Resources/bin/patch-type-declarations"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\ErrorHandler\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides tools to manage errors and ease debugging PHP code",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/error-handler/tree/v6.1.7"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-28T16:23:08+00:00"
+ },
+ {
+ "name": "symfony/event-dispatcher",
+ "version": "v6.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/event-dispatcher.git",
+ "reference": "a0449a7ad7daa0f7c0acd508259f80544ab5a347"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a0449a7ad7daa0f7c0acd508259f80544ab5a347",
+ "reference": "a0449a7ad7daa0f7c0acd508259f80544ab5a347",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/event-dispatcher-contracts": "^2|^3"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<5.4"
+ },
+ "provide": {
+ "psr/event-dispatcher-implementation": "1.0",
+ "symfony/event-dispatcher-implementation": "2.0|3.0"
+ },
+ "require-dev": {
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/error-handler": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/service-contracts": "^1.1|^2|^3",
+ "symfony/stopwatch": "^5.4|^6.0"
+ },
+ "suggest": {
+ "symfony/dependency-injection": "",
+ "symfony/http-kernel": ""
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\EventDispatcher\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/event-dispatcher/tree/v6.1.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-05-05T16:51:07+00:00"
+ },
+ {
+ "name": "symfony/event-dispatcher-contracts",
+ "version": "v3.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/event-dispatcher-contracts.git",
+ "reference": "02ff5eea2f453731cfbc6bc215e456b781480448"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/02ff5eea2f453731cfbc6bc215e456b781480448",
+ "reference": "02ff5eea2f453731cfbc6bc215e456b781480448",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "psr/event-dispatcher": "^1"
+ },
+ "suggest": {
+ "symfony/event-dispatcher-implementation": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.1-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Contracts\\EventDispatcher\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Generic abstractions related to dispatching event",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.1.1"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-02-25T11:15:52+00:00"
+ },
+ {
+ "name": "symfony/finder",
+ "version": "v6.1.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/finder.git",
+ "reference": "39696bff2c2970b3779a5cac7bf9f0b88fc2b709"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/39696bff2c2970b3779a5cac7bf9f0b88fc2b709",
+ "reference": "39696bff2c2970b3779a5cac7bf9f0b88fc2b709",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1"
+ },
+ "require-dev": {
+ "symfony/filesystem": "^6.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Finder\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Finds files and directories via an intuitive fluent interface",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/finder/tree/v6.1.3"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-07-29T07:42:06+00:00"
+ },
+ {
+ "name": "symfony/http-foundation",
+ "version": "v6.1.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/http-foundation.git",
+ "reference": "792a1856d2b95273f0e1c3435785f1d01a60ecc6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/792a1856d2b95273f0e1c3435785f1d01a60ecc6",
+ "reference": "792a1856d2b95273f0e1c3435785f1d01a60ecc6",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-mbstring": "~1.1"
+ },
+ "require-dev": {
+ "predis/predis": "~1.0",
+ "symfony/cache": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4",
+ "symfony/mime": "^5.4|^6.0",
+ "symfony/rate-limiter": "^5.2|^6.0"
+ },
+ "suggest": {
+ "symfony/mime": "To use the file extension guesser"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\HttpFoundation\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Defines an object-oriented layer for the HTTP specification",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/http-foundation/tree/v6.1.7"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-12T09:44:59+00:00"
+ },
+ {
+ "name": "symfony/http-kernel",
+ "version": "v6.1.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/http-kernel.git",
+ "reference": "8fc1ffe753948c47a103a809cdd6a4a8458b3254"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/8fc1ffe753948c47a103a809cdd6a4a8458b3254",
+ "reference": "8fc1ffe753948c47a103a809cdd6a4a8458b3254",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "psr/log": "^1|^2|^3",
+ "symfony/error-handler": "^6.1",
+ "symfony/event-dispatcher": "^5.4|^6.0",
+ "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/polyfill-ctype": "^1.8"
+ },
+ "conflict": {
+ "symfony/browser-kit": "<5.4",
+ "symfony/cache": "<5.4",
+ "symfony/config": "<6.1",
+ "symfony/console": "<5.4",
+ "symfony/dependency-injection": "<6.1",
+ "symfony/doctrine-bridge": "<5.4",
+ "symfony/form": "<5.4",
+ "symfony/http-client": "<5.4",
+ "symfony/mailer": "<5.4",
+ "symfony/messenger": "<5.4",
+ "symfony/translation": "<5.4",
+ "symfony/twig-bridge": "<5.4",
+ "symfony/validator": "<5.4",
+ "twig/twig": "<2.13"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0|2.0|3.0"
+ },
+ "require-dev": {
+ "psr/cache": "^1.0|^2.0|^3.0",
+ "symfony/browser-kit": "^5.4|^6.0",
+ "symfony/config": "^6.1",
+ "symfony/console": "^5.4|^6.0",
+ "symfony/css-selector": "^5.4|^6.0",
+ "symfony/dependency-injection": "^6.1",
+ "symfony/dom-crawler": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/finder": "^5.4|^6.0",
+ "symfony/http-client-contracts": "^1.1|^2|^3",
+ "symfony/process": "^5.4|^6.0",
+ "symfony/routing": "^5.4|^6.0",
+ "symfony/stopwatch": "^5.4|^6.0",
+ "symfony/translation": "^5.4|^6.0",
+ "symfony/translation-contracts": "^1.1|^2|^3",
+ "symfony/uid": "^5.4|^6.0",
+ "twig/twig": "^2.13|^3.0.4"
+ },
+ "suggest": {
+ "symfony/browser-kit": "",
+ "symfony/config": "",
+ "symfony/console": "",
+ "symfony/dependency-injection": ""
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\HttpKernel\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides a structured process for converting a Request into a Response",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/http-kernel/tree/v6.1.7"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-28T18:06:36+00:00"
+ },
+ {
+ "name": "symfony/mailer",
+ "version": "v6.1.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/mailer.git",
+ "reference": "7e19813c0b43387c55665780c4caea505cc48391"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/7e19813c0b43387c55665780c4caea505cc48391",
+ "reference": "7e19813c0b43387c55665780c4caea505cc48391",
+ "shasum": ""
+ },
+ "require": {
+ "egulias/email-validator": "^2.1.10|^3",
+ "php": ">=8.1",
+ "psr/event-dispatcher": "^1",
+ "psr/log": "^1|^2|^3",
+ "symfony/event-dispatcher": "^5.4|^6.0",
+ "symfony/mime": "^5.4|^6.0",
+ "symfony/service-contracts": "^1.1|^2|^3"
+ },
+ "conflict": {
+ "symfony/http-kernel": "<5.4"
+ },
+ "require-dev": {
+ "symfony/http-client-contracts": "^1.1|^2|^3",
+ "symfony/messenger": "^5.4|^6.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Mailer\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Helps sending emails",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/mailer/tree/v6.1.7"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-28T16:23:08+00:00"
+ },
+ {
+ "name": "symfony/mime",
+ "version": "v6.1.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/mime.git",
+ "reference": "f440f066d57691088d998d6e437ce98771144618"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/f440f066d57691088d998d6e437ce98771144618",
+ "reference": "f440f066d57691088d998d6e437ce98771144618",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/polyfill-intl-idn": "^1.10",
+ "symfony/polyfill-mbstring": "^1.0"
+ },
+ "conflict": {
+ "egulias/email-validator": "~3.0.0",
+ "phpdocumentor/reflection-docblock": "<3.2.2",
+ "phpdocumentor/type-resolver": "<1.4.0",
+ "symfony/mailer": "<5.4"
+ },
+ "require-dev": {
+ "egulias/email-validator": "^2.1.10|^3.1",
+ "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/property-access": "^5.4|^6.0",
+ "symfony/property-info": "^5.4|^6.0",
+ "symfony/serializer": "^5.2|^6.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Mime\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Allows manipulating MIME messages",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "mime",
+ "mime-type"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/mime/tree/v6.1.7"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-19T08:10:53+00:00"
+ },
+ {
+ "name": "symfony/polyfill-ctype",
+ "version": "v1.26.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-ctype.git",
+ "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
+ "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "provide": {
+ "ext-ctype": "*"
+ },
+ "suggest": {
+ "ext-ctype": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.26-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Ctype\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Gert de Pagter",
+ "email": "BackEndTea@gmail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for ctype functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "ctype",
+ "polyfill",
+ "portable"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-05-24T11:49:31+00:00"
+ },
+ {
+ "name": "symfony/polyfill-intl-grapheme",
+ "version": "v1.26.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
+ "reference": "433d05519ce6990bf3530fba6957499d327395c2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/433d05519ce6990bf3530fba6957499d327395c2",
+ "reference": "433d05519ce6990bf3530fba6957499d327395c2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "suggest": {
+ "ext-intl": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.26-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for intl's grapheme_* functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "grapheme",
+ "intl",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.26.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-05-24T11:49:31+00:00"
+ },
+ {
+ "name": "symfony/polyfill-intl-idn",
+ "version": "v1.26.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-intl-idn.git",
+ "reference": "59a8d271f00dd0e4c2e518104cc7963f655a1aa8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/59a8d271f00dd0e4c2e518104cc7963f655a1aa8",
+ "reference": "59a8d271f00dd0e4c2e518104cc7963f655a1aa8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1",
+ "symfony/polyfill-intl-normalizer": "^1.10",
+ "symfony/polyfill-php72": "^1.10"
+ },
+ "suggest": {
+ "ext-intl": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.26-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Idn\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Laurent Bassin",
+ "email": "laurent@bassin.info"
+ },
+ {
+ "name": "Trevor Rowbotham",
+ "email": "trevor.rowbotham@pm.me"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "idn",
+ "intl",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.26.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-05-24T11:49:31+00:00"
+ },
+ {
+ "name": "symfony/polyfill-intl-normalizer",
+ "version": "v1.26.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
+ "reference": "219aa369ceff116e673852dce47c3a41794c14bd"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/219aa369ceff116e673852dce47c3a41794c14bd",
+ "reference": "219aa369ceff116e673852dce47c3a41794c14bd",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "suggest": {
+ "ext-intl": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.26-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for intl's Normalizer class and related functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "intl",
+ "normalizer",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.26.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-05-24T11:49:31+00:00"
+ },
+ {
+ "name": "symfony/polyfill-mbstring",
+ "version": "v1.26.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
+ "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
+ "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "provide": {
+ "ext-mbstring": "*"
+ },
+ "suggest": {
+ "ext-mbstring": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.26-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for the Mbstring extension",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "mbstring",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-05-24T11:49:31+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php72",
+ "version": "v1.26.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php72.git",
+ "reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/bf44a9fd41feaac72b074de600314a93e2ae78e2",
+ "reference": "bf44a9fd41feaac72b074de600314a93e2ae78e2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.26-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php72\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php72/tree/v1.26.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-05-24T11:49:31+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php80",
+ "version": "v1.26.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php80.git",
+ "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace",
+ "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.26-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php80\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Ion Bazan",
+ "email": "ion.bazan@gmail.com"
+ },
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.26.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-05-10T07:21:04+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php81",
+ "version": "v1.26.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php81.git",
+ "reference": "13f6d1271c663dc5ae9fb843a8f16521db7687a1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/13f6d1271c663dc5ae9fb843a8f16521db7687a1",
+ "reference": "13f6d1271c663dc5ae9fb843a8f16521db7687a1",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.26-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php81\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php81/tree/v1.26.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-05-24T11:49:31+00:00"
+ },
+ {
+ "name": "symfony/polyfill-uuid",
+ "version": "v1.26.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-uuid.git",
+ "reference": "a41886c1c81dc075a09c71fe6db5b9d68c79de23"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/a41886c1c81dc075a09c71fe6db5b9d68c79de23",
+ "reference": "a41886c1c81dc075a09c71fe6db5b9d68c79de23",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "provide": {
+ "ext-uuid": "*"
+ },
+ "suggest": {
+ "ext-uuid": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.26-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Uuid\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Grégoire Pineau",
+ "email": "lyrixx@lyrixx.info"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for uuid functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "uuid"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-uuid/tree/v1.26.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-05-24T11:49:31+00:00"
+ },
+ {
+ "name": "symfony/process",
+ "version": "v6.1.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/process.git",
+ "reference": "a6506e99cfad7059b1ab5cab395854a0a0c21292"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/process/zipball/a6506e99cfad7059b1ab5cab395854a0a0c21292",
+ "reference": "a6506e99cfad7059b1ab5cab395854a0a0c21292",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Process\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Executes commands in sub-processes",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/process/tree/v6.1.3"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-06-27T17:24:16+00:00"
+ },
+ {
+ "name": "symfony/routing",
+ "version": "v6.1.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/routing.git",
+ "reference": "95effeb9d6e2cec861cee06bf5bbf82d09aea7f5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/95effeb9d6e2cec861cee06bf5bbf82d09aea7f5",
+ "reference": "95effeb9d6e2cec861cee06bf5bbf82d09aea7f5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1"
+ },
+ "conflict": {
+ "doctrine/annotations": "<1.12",
+ "symfony/config": "<5.4",
+ "symfony/dependency-injection": "<5.4",
+ "symfony/yaml": "<5.4"
+ },
+ "require-dev": {
+ "doctrine/annotations": "^1.12",
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/http-foundation": "^5.4|^6.0",
+ "symfony/yaml": "^5.4|^6.0"
+ },
+ "suggest": {
+ "symfony/config": "For using the all-in-one router or any loader",
+ "symfony/expression-language": "For using expression matching",
+ "symfony/http-foundation": "For using a Symfony Request object",
+ "symfony/yaml": "For using the YAML loader"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Routing\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Maps an HTTP request to a set of configuration variables",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "router",
+ "routing",
+ "uri",
+ "url"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/routing/tree/v6.1.7"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-18T13:12:43+00:00"
+ },
+ {
+ "name": "symfony/service-contracts",
+ "version": "v3.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/service-contracts.git",
+ "reference": "925e713fe8fcacf6bc05e936edd8dd5441a21239"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/925e713fe8fcacf6bc05e936edd8dd5441a21239",
+ "reference": "925e713fe8fcacf6bc05e936edd8dd5441a21239",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "psr/container": "^2.0"
+ },
+ "conflict": {
+ "ext-psr": "<1.1|>=2"
+ },
+ "suggest": {
+ "symfony/service-implementation": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.1-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Contracts\\Service\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Test/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Generic abstractions related to writing services",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/service-contracts/tree/v3.1.1"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-05-30T19:18:58+00:00"
+ },
+ {
+ "name": "symfony/string",
+ "version": "v6.1.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/string.git",
+ "reference": "823f143370880efcbdfa2dbca946b3358c4707e5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/string/zipball/823f143370880efcbdfa2dbca946b3358c4707e5",
+ "reference": "823f143370880efcbdfa2dbca946b3358c4707e5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-intl-grapheme": "~1.0",
+ "symfony/polyfill-intl-normalizer": "~1.0",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "conflict": {
+ "symfony/translation-contracts": "<2.0"
+ },
+ "require-dev": {
+ "symfony/error-handler": "^5.4|^6.0",
+ "symfony/http-client": "^5.4|^6.0",
+ "symfony/translation-contracts": "^2.0|^3.0",
+ "symfony/var-exporter": "^5.4|^6.0"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "Resources/functions.php"
+ ],
+ "psr-4": {
+ "Symfony\\Component\\String\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "grapheme",
+ "i18n",
+ "string",
+ "unicode",
+ "utf-8",
+ "utf8"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/string/tree/v6.1.7"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-10T09:34:31+00:00"
+ },
+ {
+ "name": "symfony/translation",
+ "version": "v6.1.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/translation.git",
+ "reference": "e6cd330e5a072518f88d65148f3f165541807494"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/e6cd330e5a072518f88d65148f3f165541807494",
+ "reference": "e6cd330e5a072518f88d65148f3f165541807494",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/translation-contracts": "^2.3|^3.0"
+ },
+ "conflict": {
+ "symfony/config": "<5.4",
+ "symfony/console": "<5.4",
+ "symfony/dependency-injection": "<5.4",
+ "symfony/http-kernel": "<5.4",
+ "symfony/twig-bundle": "<5.4",
+ "symfony/yaml": "<5.4"
+ },
+ "provide": {
+ "symfony/translation-implementation": "2.3|3.0"
+ },
+ "require-dev": {
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^5.4|^6.0",
+ "symfony/console": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/finder": "^5.4|^6.0",
+ "symfony/http-client-contracts": "^1.1|^2.0|^3.0",
+ "symfony/http-kernel": "^5.4|^6.0",
+ "symfony/intl": "^5.4|^6.0",
+ "symfony/polyfill-intl-icu": "^1.21",
+ "symfony/routing": "^5.4|^6.0",
+ "symfony/service-contracts": "^1.1.2|^2|^3",
+ "symfony/yaml": "^5.4|^6.0"
+ },
+ "suggest": {
+ "psr/log-implementation": "To use logging capability in translator",
+ "symfony/config": "",
+ "symfony/yaml": ""
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "Resources/functions.php"
+ ],
+ "psr-4": {
+ "Symfony\\Component\\Translation\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides tools to internationalize your application",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/translation/tree/v6.1.6"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-07T08:04:03+00:00"
+ },
+ {
+ "name": "symfony/translation-contracts",
+ "version": "v3.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/translation-contracts.git",
+ "reference": "606be0f48e05116baef052f7f3abdb345c8e02cc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/606be0f48e05116baef052f7f3abdb345c8e02cc",
+ "reference": "606be0f48e05116baef052f7f3abdb345c8e02cc",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1"
+ },
+ "suggest": {
+ "symfony/translation-implementation": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.1-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Contracts\\Translation\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Test/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Generic abstractions related to translation",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/translation-contracts/tree/v3.1.1"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-06-27T17:24:16+00:00"
+ },
+ {
+ "name": "symfony/uid",
+ "version": "v6.1.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/uid.git",
+ "reference": "e03519f7b1ce1d3c0b74f751892bb41d549a2d98"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/uid/zipball/e03519f7b1ce1d3c0b74f751892bb41d549a2d98",
+ "reference": "e03519f7b1ce1d3c0b74f751892bb41d549a2d98",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/polyfill-uuid": "^1.15"
+ },
+ "require-dev": {
+ "symfony/console": "^5.4|^6.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Uid\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Grégoire Pineau",
+ "email": "lyrixx@lyrixx.info"
+ },
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides an object-oriented API to generate and represent UIDs",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "UID",
+ "ulid",
+ "uuid"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/uid/tree/v6.1.5"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-09-09T09:34:27+00:00"
+ },
+ {
+ "name": "symfony/var-dumper",
+ "version": "v6.1.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/var-dumper.git",
+ "reference": "0f0adde127f24548e23cbde83bcaeadc491c551f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0f0adde127f24548e23cbde83bcaeadc491c551f",
+ "reference": "0f0adde127f24548e23cbde83bcaeadc491c551f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "conflict": {
+ "phpunit/phpunit": "<5.4.3",
+ "symfony/console": "<5.4"
+ },
+ "require-dev": {
+ "ext-iconv": "*",
+ "symfony/console": "^5.4|^6.0",
+ "symfony/process": "^5.4|^6.0",
+ "symfony/uid": "^5.4|^6.0",
+ "twig/twig": "^2.13|^3.0.4"
+ },
+ "suggest": {
+ "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
+ "ext-intl": "To show region name in time zone dump",
+ "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
+ },
+ "bin": [
+ "Resources/bin/var-dump-server"
+ ],
+ "type": "library",
+ "autoload": {
+ "files": [
+ "Resources/functions/dump.php"
+ ],
+ "psr-4": {
+ "Symfony\\Component\\VarDumper\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides mechanisms for walking through any arbitrary PHP variable",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "debug",
+ "dump"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/var-dumper/tree/v6.1.6"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-07T08:04:03+00:00"
+ },
+ {
+ "name": "tijsverkoyen/css-to-inline-styles",
+ "version": "2.2.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git",
+ "reference": "4348a3a06651827a27d989ad1d13efec6bb49b19"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/4348a3a06651827a27d989ad1d13efec6bb49b19",
+ "reference": "4348a3a06651827a27d989ad1d13efec6bb49b19",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "php": "^5.5 || ^7.0 || ^8.0",
+ "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "TijsVerkoyen\\CssToInlineStyles\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Tijs Verkoyen",
+ "email": "css_to_inline_styles@verkoyen.eu",
+ "role": "Developer"
+ }
+ ],
+ "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.",
+ "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
+ "support": {
+ "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues",
+ "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.5"
+ },
+ "time": "2022-09-12T13:28:28+00:00"
+ },
+ {
+ "name": "vlucas/phpdotenv",
+ "version": "v5.5.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/vlucas/phpdotenv.git",
+ "reference": "1a7ea2afc49c3ee6d87061f5a233e3a035d0eae7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/1a7ea2afc49c3ee6d87061f5a233e3a035d0eae7",
+ "reference": "1a7ea2afc49c3ee6d87061f5a233e3a035d0eae7",
+ "shasum": ""
+ },
+ "require": {
+ "ext-pcre": "*",
+ "graham-campbell/result-type": "^1.0.2",
+ "php": "^7.1.3 || ^8.0",
+ "phpoption/phpoption": "^1.8",
+ "symfony/polyfill-ctype": "^1.23",
+ "symfony/polyfill-mbstring": "^1.23.1",
+ "symfony/polyfill-php80": "^1.23.1"
+ },
+ "require-dev": {
+ "bamarni/composer-bin-plugin": "^1.4.1",
+ "ext-filter": "*",
+ "phpunit/phpunit": "^7.5.20 || ^8.5.30 || ^9.5.25"
+ },
+ "suggest": {
+ "ext-filter": "Required to use the boolean validator."
+ },
+ "type": "library",
+ "extra": {
+ "bamarni-bin": {
+ "bin-links": true,
+ "forward-command": true
+ },
+ "branch-alias": {
+ "dev-master": "5.5-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Dotenv\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
+ },
+ {
+ "name": "Vance Lucas",
+ "email": "vance@vancelucas.com",
+ "homepage": "https://github.com/vlucas"
+ }
+ ],
+ "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.",
+ "keywords": [
+ "dotenv",
+ "env",
+ "environment"
+ ],
+ "support": {
+ "issues": "https://github.com/vlucas/phpdotenv/issues",
+ "source": "https://github.com/vlucas/phpdotenv/tree/v5.5.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-16T01:01:54+00:00"
+ },
+ {
+ "name": "voku/portable-ascii",
+ "version": "2.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/voku/portable-ascii.git",
+ "reference": "b56450eed252f6801410d810c8e1727224ae0743"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743",
+ "reference": "b56450eed252f6801410d810c8e1727224ae0743",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.0.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0"
+ },
+ "suggest": {
+ "ext-intl": "Use Intl for transliterator_transliterate() support"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "voku\\": "src/voku/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Lars Moelleken",
+ "homepage": "http://www.moelleken.org/"
+ }
+ ],
+ "description": "Portable ASCII library - performance optimized (ascii) string functions for php.",
+ "homepage": "https://github.com/voku/portable-ascii",
+ "keywords": [
+ "ascii",
+ "clean",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/voku/portable-ascii/issues",
+ "source": "https://github.com/voku/portable-ascii/tree/2.0.1"
+ },
+ "funding": [
+ {
+ "url": "https://www.paypal.me/moelleken",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/voku",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/portable-ascii",
+ "type": "open_collective"
+ },
+ {
+ "url": "https://www.patreon.com/voku",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-03-08T17:03:00+00:00"
+ },
+ {
+ "name": "webmozart/assert",
+ "version": "1.11.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/webmozarts/assert.git",
+ "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
+ "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
+ "shasum": ""
+ },
+ "require": {
+ "ext-ctype": "*",
+ "php": "^7.2 || ^8.0"
+ },
+ "conflict": {
+ "phpstan/phpstan": "<0.12.20",
+ "vimeo/psalm": "<4.6.1 || 4.6.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.5.13"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.10-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Webmozart\\Assert\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ }
+ ],
+ "description": "Assertions to validate method input/output with nice error messages.",
+ "keywords": [
+ "assert",
+ "check",
+ "validate"
+ ],
+ "support": {
+ "issues": "https://github.com/webmozarts/assert/issues",
+ "source": "https://github.com/webmozarts/assert/tree/1.11.0"
+ },
+ "time": "2022-06-03T18:03:27+00:00"
+ }
+ ],
+ "packages-dev": [
+ {
+ "name": "doctrine/instantiator",
+ "version": "1.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/instantiator.git",
+ "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc",
+ "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^9",
+ "ext-pdo": "*",
+ "ext-phar": "*",
+ "phpbench/phpbench": "^0.16 || ^1",
+ "phpstan/phpstan": "^1.4",
+ "phpstan/phpstan-phpunit": "^1",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "vimeo/psalm": "^4.22"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com",
+ "homepage": "https://ocramius.github.io/"
+ }
+ ],
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+ "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
+ "keywords": [
+ "constructor",
+ "instantiate"
+ ],
+ "support": {
+ "issues": "https://github.com/doctrine/instantiator/issues",
+ "source": "https://github.com/doctrine/instantiator/tree/1.4.1"
+ },
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-03-03T08:28:38+00:00"
+ },
+ {
+ "name": "fakerphp/faker",
+ "version": "v1.20.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/FakerPHP/Faker.git",
+ "reference": "37f751c67a5372d4e26353bd9384bc03744ec77b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/37f751c67a5372d4e26353bd9384bc03744ec77b",
+ "reference": "37f751c67a5372d4e26353bd9384bc03744ec77b",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0",
+ "psr/container": "^1.0 || ^2.0",
+ "symfony/deprecation-contracts": "^2.2 || ^3.0"
+ },
+ "conflict": {
+ "fzaninotto/faker": "*"
+ },
+ "require-dev": {
+ "bamarni/composer-bin-plugin": "^1.4.1",
+ "doctrine/persistence": "^1.3 || ^2.0",
+ "ext-intl": "*",
+ "symfony/phpunit-bridge": "^4.4 || ^5.2"
+ },
+ "suggest": {
+ "doctrine/orm": "Required to use Faker\\ORM\\Doctrine",
+ "ext-curl": "Required by Faker\\Provider\\Image to download images.",
+ "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.",
+ "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.",
+ "ext-mbstring": "Required for multibyte Unicode string functionality."
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "v1.20-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Faker\\": "src/Faker/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "François Zaninotto"
+ }
+ ],
+ "description": "Faker is a PHP library that generates fake data for you.",
+ "keywords": [
+ "data",
+ "faker",
+ "fixtures"
+ ],
+ "support": {
+ "issues": "https://github.com/FakerPHP/Faker/issues",
+ "source": "https://github.com/FakerPHP/Faker/tree/v1.20.0"
+ },
+ "time": "2022-07-20T13:12:54+00:00"
+ },
+ {
+ "name": "filp/whoops",
+ "version": "2.14.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/filp/whoops.git",
+ "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/filp/whoops/zipball/a63e5e8f26ebbebf8ed3c5c691637325512eb0dc",
+ "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.5.9 || ^7.0 || ^8.0",
+ "psr/log": "^1.0.1 || ^2.0 || ^3.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "^0.9 || ^1.0",
+ "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3",
+ "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0"
+ },
+ "suggest": {
+ "symfony/var-dumper": "Pretty print complex values better with var-dumper available",
+ "whoops/soap": "Formats errors as SOAP responses"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.7-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Whoops\\": "src/Whoops/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Filipe Dobreira",
+ "homepage": "https://github.com/filp",
+ "role": "Developer"
+ }
+ ],
+ "description": "php error handling for cool kids",
+ "homepage": "https://filp.github.io/whoops/",
+ "keywords": [
+ "error",
+ "exception",
+ "handling",
+ "library",
+ "throwable",
+ "whoops"
+ ],
+ "support": {
+ "issues": "https://github.com/filp/whoops/issues",
+ "source": "https://github.com/filp/whoops/tree/2.14.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/denis-sokolov",
+ "type": "github"
+ }
+ ],
+ "time": "2022-01-07T12:00:00+00:00"
+ },
+ {
+ "name": "hamcrest/hamcrest-php",
+ "version": "v2.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/hamcrest/hamcrest-php.git",
+ "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3",
+ "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.3|^7.0|^8.0"
+ },
+ "replace": {
+ "cordoval/hamcrest-php": "*",
+ "davedevelopment/hamcrest-php": "*",
+ "kodova/hamcrest-php": "*"
+ },
+ "require-dev": {
+ "phpunit/php-file-iterator": "^1.4 || ^2.0",
+ "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "hamcrest"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "This is the PHP port of Hamcrest Matchers",
+ "keywords": [
+ "test"
+ ],
+ "support": {
+ "issues": "https://github.com/hamcrest/hamcrest-php/issues",
+ "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1"
+ },
+ "time": "2020-07-09T08:09:16+00:00"
+ },
+ {
+ "name": "laravel/pint",
+ "version": "v1.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laravel/pint.git",
+ "reference": "1d276e4c803397a26cc337df908f55c2a4e90d86"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laravel/pint/zipball/1d276e4c803397a26cc337df908f55c2a4e90d86",
+ "reference": "1d276e4c803397a26cc337df908f55c2a4e90d86",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "ext-tokenizer": "*",
+ "ext-xml": "*",
+ "php": "^8.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^3.11.0",
+ "illuminate/view": "^9.27",
+ "laravel-zero/framework": "^9.1.3",
+ "mockery/mockery": "^1.5.0",
+ "nunomaduro/larastan": "^2.2",
+ "nunomaduro/termwind": "^1.14.0",
+ "pestphp/pest": "^1.22.1"
+ },
+ "bin": [
+ "builds/pint"
+ ],
+ "type": "project",
+ "autoload": {
+ "psr-4": {
+ "App\\": "app/",
+ "Database\\Seeders\\": "database/seeders/",
+ "Database\\Factories\\": "database/factories/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
+ }
+ ],
+ "description": "An opinionated code formatter for PHP.",
+ "homepage": "https://laravel.com",
+ "keywords": [
+ "format",
+ "formatter",
+ "lint",
+ "linter",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/laravel/pint/issues",
+ "source": "https://github.com/laravel/pint"
+ },
+ "time": "2022-09-13T15:07:15+00:00"
+ },
+ {
+ "name": "laravel/sail",
+ "version": "v1.16.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laravel/sail.git",
+ "reference": "7d1ed5f856ec8b9708712e3fc0708fcabe114659"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laravel/sail/zipball/7d1ed5f856ec8b9708712e3fc0708fcabe114659",
+ "reference": "7d1ed5f856ec8b9708712e3fc0708fcabe114659",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/console": "^8.0|^9.0",
+ "illuminate/contracts": "^8.0|^9.0",
+ "illuminate/support": "^8.0|^9.0",
+ "php": "^7.3|^8.0"
+ },
+ "bin": [
+ "bin/sail"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Laravel\\Sail\\SailServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laravel\\Sail\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "Docker files for running a basic Laravel application.",
+ "keywords": [
+ "docker",
+ "laravel"
+ ],
+ "support": {
+ "issues": "https://github.com/laravel/sail/issues",
+ "source": "https://github.com/laravel/sail"
+ },
+ "time": "2022-09-28T13:13:22+00:00"
+ },
+ {
+ "name": "mockery/mockery",
+ "version": "1.5.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mockery/mockery.git",
+ "reference": "e92dcc83d5a51851baf5f5591d32cb2b16e3684e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mockery/mockery/zipball/e92dcc83d5a51851baf5f5591d32cb2b16e3684e",
+ "reference": "e92dcc83d5a51851baf5f5591d32cb2b16e3684e",
+ "shasum": ""
+ },
+ "require": {
+ "hamcrest/hamcrest-php": "^2.0.1",
+ "lib-pcre": ">=7.0",
+ "php": "^7.3 || ^8.0"
+ },
+ "conflict": {
+ "phpunit/phpunit": "<8.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.5 || ^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.4.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Mockery": "library/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Pádraic Brady",
+ "email": "padraic.brady@gmail.com",
+ "homepage": "http://blog.astrumfutura.com"
+ },
+ {
+ "name": "Dave Marshall",
+ "email": "dave.marshall@atstsolutions.co.uk",
+ "homepage": "http://davedevelopment.co.uk"
+ }
+ ],
+ "description": "Mockery is a simple yet flexible PHP mock object framework",
+ "homepage": "https://github.com/mockery/mockery",
+ "keywords": [
+ "BDD",
+ "TDD",
+ "library",
+ "mock",
+ "mock objects",
+ "mockery",
+ "stub",
+ "test",
+ "test double",
+ "testing"
+ ],
+ "support": {
+ "issues": "https://github.com/mockery/mockery/issues",
+ "source": "https://github.com/mockery/mockery/tree/1.5.1"
+ },
+ "time": "2022-09-07T15:32:08+00:00"
+ },
+ {
+ "name": "myclabs/deep-copy",
+ "version": "1.11.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/myclabs/DeepCopy.git",
+ "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614",
+ "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "conflict": {
+ "doctrine/collections": "<1.6.8",
+ "doctrine/common": "<2.13.3 || >=3,<3.2.2"
+ },
+ "require-dev": {
+ "doctrine/collections": "^1.6.8",
+ "doctrine/common": "^2.13.3 || ^3.2.2",
+ "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "src/DeepCopy/deep_copy.php"
+ ],
+ "psr-4": {
+ "DeepCopy\\": "src/DeepCopy/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Create deep copies (clones) of your objects",
+ "keywords": [
+ "clone",
+ "copy",
+ "duplicate",
+ "object",
+ "object graph"
+ ],
+ "support": {
+ "issues": "https://github.com/myclabs/DeepCopy/issues",
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0"
+ },
+ "funding": [
+ {
+ "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-03-03T13:19:32+00:00"
+ },
+ {
+ "name": "nunomaduro/collision",
+ "version": "v6.3.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nunomaduro/collision.git",
+ "reference": "0f6349c3ed5dd28467087b08fb59384bb458a22b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nunomaduro/collision/zipball/0f6349c3ed5dd28467087b08fb59384bb458a22b",
+ "reference": "0f6349c3ed5dd28467087b08fb59384bb458a22b",
+ "shasum": ""
+ },
+ "require": {
+ "filp/whoops": "^2.14.5",
+ "php": "^8.0.0",
+ "symfony/console": "^6.0.2"
+ },
+ "require-dev": {
+ "brianium/paratest": "^6.4.1",
+ "laravel/framework": "^9.26.1",
+ "laravel/pint": "^1.1.1",
+ "nunomaduro/larastan": "^1.0.3",
+ "nunomaduro/mock-final-classes": "^1.1.0",
+ "orchestra/testbench": "^7.7",
+ "phpunit/phpunit": "^9.5.23",
+ "spatie/ignition": "^1.4.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-develop": "6.x-dev"
+ },
+ "laravel": {
+ "providers": [
+ "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "NunoMaduro\\Collision\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
+ }
+ ],
+ "description": "Cli error handling for console/command-line PHP applications.",
+ "keywords": [
+ "artisan",
+ "cli",
+ "command-line",
+ "console",
+ "error",
+ "handling",
+ "laravel",
+ "laravel-zero",
+ "php",
+ "symfony"
+ ],
+ "support": {
+ "issues": "https://github.com/nunomaduro/collision/issues",
+ "source": "https://github.com/nunomaduro/collision"
+ },
+ "funding": [
+ {
+ "url": "https://www.paypal.com/paypalme/enunomaduro",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/nunomaduro",
+ "type": "github"
+ },
+ {
+ "url": "https://www.patreon.com/nunomaduro",
+ "type": "patreon"
+ }
+ ],
+ "time": "2022-09-29T12:29:49+00:00"
+ },
+ {
+ "name": "phar-io/manifest",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/manifest.git",
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-phar": "*",
+ "ext-xmlwriter": "*",
+ "phar-io/version": "^3.0.1",
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
+ "support": {
+ "issues": "https://github.com/phar-io/manifest/issues",
+ "source": "https://github.com/phar-io/manifest/tree/2.0.3"
+ },
+ "time": "2021-07-20T11:28:43+00:00"
+ },
+ {
+ "name": "phar-io/version",
+ "version": "3.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/version.git",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Library for handling version information and constraints",
+ "support": {
+ "issues": "https://github.com/phar-io/version/issues",
+ "source": "https://github.com/phar-io/version/tree/3.2.1"
+ },
+ "time": "2022-02-21T01:04:05+00:00"
+ },
+ {
+ "name": "phpunit/php-code-coverage",
+ "version": "9.2.18",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+ "reference": "12fddc491826940cf9b7e88ad9664cf51f0f6d0a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/12fddc491826940cf9b7e88ad9664cf51f0f6d0a",
+ "reference": "12fddc491826940cf9b7e88ad9664cf51f0f6d0a",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "ext-xmlwriter": "*",
+ "nikic/php-parser": "^4.14",
+ "php": ">=7.3",
+ "phpunit/php-file-iterator": "^3.0.3",
+ "phpunit/php-text-template": "^2.0.2",
+ "sebastian/code-unit-reverse-lookup": "^2.0.2",
+ "sebastian/complexity": "^2.0",
+ "sebastian/environment": "^5.1.2",
+ "sebastian/lines-of-code": "^1.0.3",
+ "sebastian/version": "^3.0.1",
+ "theseer/tokenizer": "^1.2.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-pcov": "*",
+ "ext-xdebug": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.2-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
+ "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
+ "keywords": [
+ "coverage",
+ "testing",
+ "xunit"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.18"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2022-10-27T13:35:33+00:00"
+ },
+ {
+ "name": "phpunit/php-file-iterator",
+ "version": "3.0.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+ "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "FilterIterator implementation that filters files based on a list of suffixes.",
+ "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
+ "keywords": [
+ "filesystem",
+ "iterator"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2021-12-02T12:48:52+00:00"
+ },
+ {
+ "name": "phpunit/php-invoker",
+ "version": "3.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-invoker.git",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "ext-pcntl": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-pcntl": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Invoke callables with a timeout",
+ "homepage": "https://github.com/sebastianbergmann/php-invoker/",
+ "keywords": [
+ "process"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:58:55+00:00"
+ },
+ {
+ "name": "phpunit/php-text-template",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Simple template engine.",
+ "homepage": "https://github.com/sebastianbergmann/php-text-template/",
+ "keywords": [
+ "template"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T05:33:50+00:00"
+ },
+ {
+ "name": "phpunit/php-timer",
+ "version": "5.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Utility class for timing",
+ "homepage": "https://github.com/sebastianbergmann/php-timer/",
+ "keywords": [
+ "timer"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-timer/issues",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:16:10+00:00"
+ },
+ {
+ "name": "phpunit/phpunit",
+ "version": "9.5.26",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
+ "reference": "851867efcbb6a1b992ec515c71cdcf20d895e9d2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/851867efcbb6a1b992ec515c71cdcf20d895e9d2",
+ "reference": "851867efcbb6a1b992ec515c71cdcf20d895e9d2",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.3.1",
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "ext-xml": "*",
+ "ext-xmlwriter": "*",
+ "myclabs/deep-copy": "^1.10.1",
+ "phar-io/manifest": "^2.0.3",
+ "phar-io/version": "^3.0.2",
+ "php": ">=7.3",
+ "phpunit/php-code-coverage": "^9.2.13",
+ "phpunit/php-file-iterator": "^3.0.5",
+ "phpunit/php-invoker": "^3.1.1",
+ "phpunit/php-text-template": "^2.0.3",
+ "phpunit/php-timer": "^5.0.2",
+ "sebastian/cli-parser": "^1.0.1",
+ "sebastian/code-unit": "^1.0.6",
+ "sebastian/comparator": "^4.0.8",
+ "sebastian/diff": "^4.0.3",
+ "sebastian/environment": "^5.1.3",
+ "sebastian/exporter": "^4.0.5",
+ "sebastian/global-state": "^5.0.1",
+ "sebastian/object-enumerator": "^4.0.3",
+ "sebastian/resource-operations": "^3.0.3",
+ "sebastian/type": "^3.2",
+ "sebastian/version": "^3.0.2"
+ },
+ "suggest": {
+ "ext-soap": "*",
+ "ext-xdebug": "*"
+ },
+ "bin": [
+ "phpunit"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.5-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/Framework/Assert/Functions.php"
+ ],
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "The PHP Unit Testing framework.",
+ "homepage": "https://phpunit.de/",
+ "keywords": [
+ "phpunit",
+ "testing",
+ "xunit"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/phpunit/issues",
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.26"
+ },
+ "funding": [
+ {
+ "url": "https://phpunit.de/sponsors.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-28T06:00:21+00:00"
+ },
+ {
+ "name": "sebastian/cli-parser",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/cli-parser.git",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for parsing CLI options",
+ "homepage": "https://github.com/sebastianbergmann/cli-parser",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:08:49+00:00"
+ },
+ {
+ "name": "sebastian/code-unit",
+ "version": "1.0.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit.git",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/code-unit",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:08:54+00:00"
+ },
+ {
+ "name": "sebastian/code-unit-reverse-lookup",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Looks up which function or method a line of code belongs to",
+ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:30:19+00:00"
+ },
+ {
+ "name": "sebastian/comparator",
+ "version": "4.0.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/comparator.git",
+ "reference": "fa0f136dd2334583309d32b62544682ee972b51a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
+ "reference": "fa0f136dd2334583309d32b62544682ee972b51a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/diff": "^4.0",
+ "sebastian/exporter": "^4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@2bepublished.at"
+ }
+ ],
+ "description": "Provides the functionality to compare PHP values for equality",
+ "homepage": "https://github.com/sebastianbergmann/comparator",
+ "keywords": [
+ "comparator",
+ "compare",
+ "equality"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/comparator/issues",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2022-09-14T12:41:17+00:00"
+ },
+ {
+ "name": "sebastian/complexity",
+ "version": "2.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/complexity.git",
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^4.7",
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for calculating the complexity of PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/complexity",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/complexity/issues",
+ "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T15:52:27+00:00"
+ },
+ {
+ "name": "sebastian/diff",
+ "version": "4.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/diff.git",
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3",
+ "symfony/process": "^4.2 || ^5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
+ }
+ ],
+ "description": "Diff implementation",
+ "homepage": "https://github.com/sebastianbergmann/diff",
+ "keywords": [
+ "diff",
+ "udiff",
+ "unidiff",
+ "unified diff"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/diff/issues",
+ "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:10:38+00:00"
+ },
+ {
+ "name": "sebastian/environment",
+ "version": "5.1.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/environment.git",
+ "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7",
+ "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-posix": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides functionality to handle HHVM/PHP environments",
+ "homepage": "http://www.github.com/sebastianbergmann/environment",
+ "keywords": [
+ "Xdebug",
+ "environment",
+ "hhvm"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/environment/issues",
+ "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2022-04-03T09:37:03+00:00"
+ },
+ {
+ "name": "sebastian/exporter",
+ "version": "4.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/exporter.git",
+ "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
+ "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/recursion-context": "^4.0"
+ },
+ "require-dev": {
+ "ext-mbstring": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ }
+ ],
+ "description": "Provides the functionality to export PHP variables for visualization",
+ "homepage": "https://www.github.com/sebastianbergmann/exporter",
+ "keywords": [
+ "export",
+ "exporter"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/exporter/issues",
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2022-09-14T06:03:37+00:00"
+ },
+ {
+ "name": "sebastian/global-state",
+ "version": "5.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/global-state.git",
+ "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2",
+ "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
+ },
+ "require-dev": {
+ "ext-dom": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-uopz": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Snapshotting of global state",
+ "homepage": "http://www.github.com/sebastianbergmann/global-state",
+ "keywords": [
+ "global state"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/global-state/issues",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2022-02-14T08:28:10+00:00"
+ },
+ {
+ "name": "sebastian/lines-of-code",
+ "version": "1.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/lines-of-code.git",
+ "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^4.6",
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for counting the lines of code in PHP source code",
+ "homepage": "https://github.com/sebastianbergmann/lines-of-code",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-11-28T06:42:11+00:00"
+ },
+ {
+ "name": "sebastian/object-enumerator",
+ "version": "4.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/object-enumerator.git",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Traverses array structures and object graphs to enumerate all referenced objects",
+ "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:12:34+00:00"
+ },
+ {
+ "name": "sebastian/object-reflector",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/object-reflector.git",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Allows reflection of object attributes, including inherited and non-public ones",
+ "homepage": "https://github.com/sebastianbergmann/object-reflector/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:14:26+00:00"
+ },
+ {
+ "name": "sebastian/recursion-context",
+ "version": "4.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/recursion-context.git",
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ }
+ ],
+ "description": "Provides functionality to recursively process PHP variables",
+ "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:17:30+00:00"
+ },
+ {
+ "name": "sebastian/resource-operations",
+ "version": "3.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/resource-operations.git",
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides a list of PHP built-in functions that operate on resources",
+ "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
+ "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:45:17+00:00"
+ },
+ {
+ "name": "sebastian/type",
+ "version": "3.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/type.git",
+ "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e",
+ "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.2-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the types of the PHP type system",
+ "homepage": "https://github.com/sebastianbergmann/type",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/type/issues",
+ "source": "https://github.com/sebastianbergmann/type/tree/3.2.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2022-09-12T14:47:03+00:00"
+ },
+ {
+ "name": "sebastian/version",
+ "version": "3.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/version.git",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+ "homepage": "https://github.com/sebastianbergmann/version",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/version/issues",
+ "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:39:44+00:00"
+ },
+ {
+ "name": "spatie/backtrace",
+ "version": "1.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/backtrace.git",
+ "reference": "4ee7d41aa5268107906ea8a4d9ceccde136dbd5b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/backtrace/zipball/4ee7d41aa5268107906ea8a4d9ceccde136dbd5b",
+ "reference": "4ee7d41aa5268107906ea8a4d9ceccde136dbd5b",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.3|^8.0"
+ },
+ "require-dev": {
+ "ext-json": "*",
+ "phpunit/phpunit": "^9.3",
+ "symfony/var-dumper": "^5.1"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Spatie\\Backtrace\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Freek Van de Herten",
+ "email": "freek@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "A better backtrace",
+ "homepage": "https://github.com/spatie/backtrace",
+ "keywords": [
+ "Backtrace",
+ "spatie"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/backtrace/issues",
+ "source": "https://github.com/spatie/backtrace/tree/1.2.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/spatie",
+ "type": "github"
+ },
+ {
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "other"
+ }
+ ],
+ "time": "2021-11-09T10:57:15+00:00"
+ },
+ {
+ "name": "spatie/flare-client-php",
+ "version": "1.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/flare-client-php.git",
+ "reference": "b1b974348750925b717fa8c8b97a0db0d1aa40ca"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/b1b974348750925b717fa8c8b97a0db0d1aa40ca",
+ "reference": "b1b974348750925b717fa8c8b97a0db0d1aa40ca",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/pipeline": "^8.0|^9.0",
+ "php": "^8.0",
+ "spatie/backtrace": "^1.2",
+ "symfony/http-foundation": "^5.0|^6.0",
+ "symfony/mime": "^5.2|^6.0",
+ "symfony/process": "^5.2|^6.0",
+ "symfony/var-dumper": "^5.2|^6.0"
+ },
+ "require-dev": {
+ "dms/phpunit-arraysubset-asserts": "^0.3.0",
+ "pestphp/pest": "^1.20",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan-deprecation-rules": "^1.0",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "spatie/phpunit-snapshot-assertions": "^4.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.1.x-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/helpers.php"
+ ],
+ "psr-4": {
+ "Spatie\\FlareClient\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Send PHP errors to Flare",
+ "homepage": "https://github.com/spatie/flare-client-php",
+ "keywords": [
+ "exception",
+ "flare",
+ "reporting",
+ "spatie"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/flare-client-php/issues",
+ "source": "https://github.com/spatie/flare-client-php/tree/1.3.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2022-08-08T10:10:20+00:00"
+ },
+ {
+ "name": "spatie/ignition",
+ "version": "1.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/ignition.git",
+ "reference": "dd3d456779108d7078baf4e43f8c2b937d9794a1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/ignition/zipball/dd3d456779108d7078baf4e43f8c2b937d9794a1",
+ "reference": "dd3d456779108d7078baf4e43f8c2b937d9794a1",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "monolog/monolog": "^2.0",
+ "php": "^8.0",
+ "spatie/flare-client-php": "^1.1",
+ "symfony/console": "^5.4|^6.0",
+ "symfony/var-dumper": "^5.4|^6.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "^1.4",
+ "pestphp/pest": "^1.20",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan-deprecation-rules": "^1.0",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "symfony/process": "^5.4|^6.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Spatie\\Ignition\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Spatie",
+ "email": "info@spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "A beautiful error page for PHP applications.",
+ "homepage": "https://flareapp.io/ignition",
+ "keywords": [
+ "error",
+ "flare",
+ "laravel",
+ "page"
+ ],
+ "support": {
+ "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction",
+ "forum": "https://twitter.com/flareappio",
+ "issues": "https://github.com/spatie/ignition/issues",
+ "source": "https://github.com/spatie/ignition"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2022-08-26T11:51:15+00:00"
+ },
+ {
+ "name": "spatie/laravel-ignition",
+ "version": "1.6.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/laravel-ignition.git",
+ "reference": "2b79cf6ed40946b64ac6713d7d2da8a9d87f612b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/2b79cf6ed40946b64ac6713d7d2da8a9d87f612b",
+ "reference": "2b79cf6ed40946b64ac6713d7d2da8a9d87f612b",
+ "shasum": ""
+ },
+ "require": {
+ "ext-curl": "*",
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "illuminate/support": "^8.77|^9.27",
+ "monolog/monolog": "^2.3",
+ "php": "^8.0",
+ "spatie/flare-client-php": "^1.0.1",
+ "spatie/ignition": "^1.4.1",
+ "symfony/console": "^5.0|^6.0",
+ "symfony/var-dumper": "^5.0|^6.0"
+ },
+ "require-dev": {
+ "filp/whoops": "^2.14",
+ "livewire/livewire": "^2.8|dev-develop",
+ "mockery/mockery": "^1.4",
+ "nunomaduro/larastan": "^1.0",
+ "orchestra/testbench": "^6.23|^7.0",
+ "pestphp/pest": "^1.20",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan-deprecation-rules": "^1.0",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "spatie/laravel-ray": "^1.27"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Spatie\\LaravelIgnition\\IgnitionServiceProvider"
+ ],
+ "aliases": {
+ "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare"
+ }
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/helpers.php"
+ ],
+ "psr-4": {
+ "Spatie\\LaravelIgnition\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Spatie",
+ "email": "info@spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "A beautiful error page for Laravel applications.",
+ "homepage": "https://flareapp.io/ignition",
+ "keywords": [
+ "error",
+ "flare",
+ "laravel",
+ "page"
+ ],
+ "support": {
+ "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction",
+ "forum": "https://twitter.com/flareappio",
+ "issues": "https://github.com/spatie/laravel-ignition/issues",
+ "source": "https://github.com/spatie/laravel-ignition"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2022-10-26T17:39:54+00:00"
+ },
+ {
+ "name": "theseer/tokenizer",
+ "version": "1.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/theseer/tokenizer.git",
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
+ "support": {
+ "issues": "https://github.com/theseer/tokenizer/issues",
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/theseer",
+ "type": "github"
+ }
+ ],
+ "time": "2021-07-28T10:34:58+00:00"
+ }
+ ],
+ "aliases": [],
+ "minimum-stability": "dev",
+ "stability-flags": [],
+ "prefer-stable": true,
+ "prefer-lowest": false,
+ "platform": {
+ "php": "^8.0.2"
+ },
+ "platform-dev": [],
+ "plugin-api-version": "2.3.0"
+}
diff --git a/laravel/my-project/config/app.php b/laravel/my-project/config/app.php
new file mode 100644
index 0000000..ef76a7e
--- /dev/null
+++ b/laravel/my-project/config/app.php
@@ -0,0 +1,215 @@
+ env('APP_NAME', 'Laravel'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Application Environment
+ |--------------------------------------------------------------------------
+ |
+ | This value determines the "environment" your application is currently
+ | running in. This may determine how you prefer to configure various
+ | services the application utilizes. Set this in your ".env" file.
+ |
+ */
+
+ 'env' => env('APP_ENV', 'production'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Application Debug Mode
+ |--------------------------------------------------------------------------
+ |
+ | When your application is in debug mode, detailed error messages with
+ | stack traces will be shown on every error that occurs within your
+ | application. If disabled, a simple generic error page is shown.
+ |
+ */
+
+ 'debug' => (bool) env('APP_DEBUG', false),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Application URL
+ |--------------------------------------------------------------------------
+ |
+ | This URL is used by the console to properly generate URLs when using
+ | the Artisan command line tool. You should set this to the root of
+ | your application so that it is used when running Artisan tasks.
+ |
+ */
+
+ 'url' => env('APP_URL', 'http://localhost'),
+
+ 'asset_url' => env('ASSET_URL'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Application Timezone
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify the default timezone for your application, which
+ | will be used by the PHP date and date-time functions. We have gone
+ | ahead and set this to a sensible default for you out of the box.
+ |
+ */
+
+ 'timezone' => 'UTC',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Application Locale Configuration
+ |--------------------------------------------------------------------------
+ |
+ | The application locale determines the default locale that will be used
+ | by the translation service provider. You are free to set this value
+ | to any of the locales which will be supported by the application.
+ |
+ */
+
+ 'locale' => 'en',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Application Fallback Locale
+ |--------------------------------------------------------------------------
+ |
+ | The fallback locale determines the locale to use when the current one
+ | is not available. You may change the value to correspond to any of
+ | the language folders that are provided through your application.
+ |
+ */
+
+ 'fallback_locale' => 'en',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Faker Locale
+ |--------------------------------------------------------------------------
+ |
+ | This locale will be used by the Faker PHP library when generating fake
+ | data for your database seeds. For example, this will be used to get
+ | localized telephone numbers, street address information and more.
+ |
+ */
+
+ 'faker_locale' => 'en_US',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Encryption Key
+ |--------------------------------------------------------------------------
+ |
+ | This key is used by the Illuminate encrypter service and should be set
+ | to a random, 32 character string, otherwise these encrypted strings
+ | will not be safe. Please do this before deploying an application!
+ |
+ */
+
+ 'key' => env('APP_KEY'),
+
+ 'cipher' => 'AES-256-CBC',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Maintenance Mode Driver
+ |--------------------------------------------------------------------------
+ |
+ | These configuration options determine the driver used to determine and
+ | manage Laravel's "maintenance mode" status. The "cache" driver will
+ | allow maintenance mode to be controlled across multiple machines.
+ |
+ | Supported drivers: "file", "cache"
+ |
+ */
+
+ 'maintenance' => [
+ 'driver' => 'file',
+ // 'store' => 'redis',
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Autoloaded Service Providers
+ |--------------------------------------------------------------------------
+ |
+ | The service providers listed here will be automatically loaded on the
+ | request to your application. Feel free to add your own services to
+ | this array to grant expanded functionality to your applications.
+ |
+ */
+
+ 'providers' => [
+
+ /*
+ * Laravel Framework Service Providers...
+ */
+ Illuminate\Auth\AuthServiceProvider::class,
+ Illuminate\Broadcasting\BroadcastServiceProvider::class,
+ Illuminate\Bus\BusServiceProvider::class,
+ Illuminate\Cache\CacheServiceProvider::class,
+ Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
+ Illuminate\Cookie\CookieServiceProvider::class,
+ Illuminate\Database\DatabaseServiceProvider::class,
+ Illuminate\Encryption\EncryptionServiceProvider::class,
+ Illuminate\Filesystem\FilesystemServiceProvider::class,
+ Illuminate\Foundation\Providers\FoundationServiceProvider::class,
+ Illuminate\Hashing\HashServiceProvider::class,
+ Illuminate\Mail\MailServiceProvider::class,
+ Illuminate\Notifications\NotificationServiceProvider::class,
+ Illuminate\Pagination\PaginationServiceProvider::class,
+ Illuminate\Pipeline\PipelineServiceProvider::class,
+ Illuminate\Queue\QueueServiceProvider::class,
+ Illuminate\Redis\RedisServiceProvider::class,
+ Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
+ Illuminate\Session\SessionServiceProvider::class,
+ Illuminate\Translation\TranslationServiceProvider::class,
+ Illuminate\Validation\ValidationServiceProvider::class,
+ Illuminate\View\ViewServiceProvider::class,
+
+ /*
+ * Package Service Providers...
+ */
+
+ /*
+ * Application Service Providers...
+ */
+ App\Providers\AppServiceProvider::class,
+ App\Providers\AuthServiceProvider::class,
+ // App\Providers\BroadcastServiceProvider::class,
+ App\Providers\EventServiceProvider::class,
+ App\Providers\RouteServiceProvider::class,
+
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Class Aliases
+ |--------------------------------------------------------------------------
+ |
+ | This array of class aliases will be registered when this application
+ | is started. However, feel free to register as many as you wish as
+ | the aliases are "lazy" loaded so they don't hinder performance.
+ |
+ */
+
+ 'aliases' => Facade::defaultAliases()->merge([
+ // 'ExampleClass' => App\Example\ExampleClass::class,
+ ])->toArray(),
+
+];
diff --git a/laravel/my-project/config/auth.php b/laravel/my-project/config/auth.php
new file mode 100644
index 0000000..d8c6cee
--- /dev/null
+++ b/laravel/my-project/config/auth.php
@@ -0,0 +1,111 @@
+ [
+ 'guard' => 'web',
+ 'passwords' => 'users',
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Authentication Guards
+ |--------------------------------------------------------------------------
+ |
+ | Next, you may define every authentication guard for your application.
+ | Of course, a great default configuration has been defined for you
+ | here which uses session storage and the Eloquent user provider.
+ |
+ | All authentication drivers have a user provider. This defines how the
+ | users are actually retrieved out of your database or other storage
+ | mechanisms used by this application to persist your user's data.
+ |
+ | Supported: "session"
+ |
+ */
+
+ 'guards' => [
+ 'web' => [
+ 'driver' => 'session',
+ 'provider' => 'users',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | User Providers
+ |--------------------------------------------------------------------------
+ |
+ | All authentication drivers have a user provider. This defines how the
+ | users are actually retrieved out of your database or other storage
+ | mechanisms used by this application to persist your user's data.
+ |
+ | If you have multiple user tables or models you may configure multiple
+ | sources which represent each model / table. These sources may then
+ | be assigned to any extra authentication guards you have defined.
+ |
+ | Supported: "database", "eloquent"
+ |
+ */
+
+ 'providers' => [
+ 'users' => [
+ 'driver' => 'eloquent',
+ 'model' => App\Models\User::class,
+ ],
+
+ // 'users' => [
+ // 'driver' => 'database',
+ // 'table' => 'users',
+ // ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Resetting Passwords
+ |--------------------------------------------------------------------------
+ |
+ | You may specify multiple password reset configurations if you have more
+ | than one user table or model in the application and you want to have
+ | separate password reset settings based on the specific user types.
+ |
+ | The expire time is the number of minutes that each reset token will be
+ | considered valid. This security feature keeps tokens short-lived so
+ | they have less time to be guessed. You may change this as needed.
+ |
+ */
+
+ 'passwords' => [
+ 'users' => [
+ 'provider' => 'users',
+ 'table' => 'password_resets',
+ 'expire' => 60,
+ 'throttle' => 60,
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Password Confirmation Timeout
+ |--------------------------------------------------------------------------
+ |
+ | Here you may define the amount of seconds before a password confirmation
+ | times out and the user is prompted to re-enter their password via the
+ | confirmation screen. By default, the timeout lasts for three hours.
+ |
+ */
+
+ 'password_timeout' => 10800,
+
+];
diff --git a/laravel/my-project/config/broadcasting.php b/laravel/my-project/config/broadcasting.php
new file mode 100644
index 0000000..9e4d4aa
--- /dev/null
+++ b/laravel/my-project/config/broadcasting.php
@@ -0,0 +1,70 @@
+ env('BROADCAST_DRIVER', 'null'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Broadcast Connections
+ |--------------------------------------------------------------------------
+ |
+ | Here you may define all of the broadcast connections that will be used
+ | to broadcast events to other systems or over websockets. Samples of
+ | each available type of connection are provided inside this array.
+ |
+ */
+
+ 'connections' => [
+
+ 'pusher' => [
+ 'driver' => 'pusher',
+ 'key' => env('PUSHER_APP_KEY'),
+ 'secret' => env('PUSHER_APP_SECRET'),
+ 'app_id' => env('PUSHER_APP_ID'),
+ 'options' => [
+ 'host' => env('PUSHER_HOST') ?: 'api-'.env('PUSHER_APP_CLUSTER', 'mt1').'.pusher.com',
+ 'port' => env('PUSHER_PORT', 443),
+ 'scheme' => env('PUSHER_SCHEME', 'https'),
+ 'encrypted' => true,
+ 'useTLS' => env('PUSHER_SCHEME', 'https') === 'https',
+ ],
+ 'client_options' => [
+ // Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html
+ ],
+ ],
+
+ 'ably' => [
+ 'driver' => 'ably',
+ 'key' => env('ABLY_KEY'),
+ ],
+
+ 'redis' => [
+ 'driver' => 'redis',
+ 'connection' => 'default',
+ ],
+
+ 'log' => [
+ 'driver' => 'log',
+ ],
+
+ 'null' => [
+ 'driver' => 'null',
+ ],
+
+ ],
+
+];
diff --git a/laravel/my-project/config/cache.php b/laravel/my-project/config/cache.php
new file mode 100644
index 0000000..33bb295
--- /dev/null
+++ b/laravel/my-project/config/cache.php
@@ -0,0 +1,110 @@
+ env('CACHE_DRIVER', 'file'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Cache Stores
+ |--------------------------------------------------------------------------
+ |
+ | Here you may define all of the cache "stores" for your application as
+ | well as their drivers. You may even define multiple stores for the
+ | same cache driver to group types of items stored in your caches.
+ |
+ | Supported drivers: "apc", "array", "database", "file",
+ | "memcached", "redis", "dynamodb", "octane", "null"
+ |
+ */
+
+ 'stores' => [
+
+ 'apc' => [
+ 'driver' => 'apc',
+ ],
+
+ 'array' => [
+ 'driver' => 'array',
+ 'serialize' => false,
+ ],
+
+ 'database' => [
+ 'driver' => 'database',
+ 'table' => 'cache',
+ 'connection' => null,
+ 'lock_connection' => null,
+ ],
+
+ 'file' => [
+ 'driver' => 'file',
+ 'path' => storage_path('framework/cache/data'),
+ ],
+
+ 'memcached' => [
+ 'driver' => 'memcached',
+ 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
+ 'sasl' => [
+ env('MEMCACHED_USERNAME'),
+ env('MEMCACHED_PASSWORD'),
+ ],
+ 'options' => [
+ // Memcached::OPT_CONNECT_TIMEOUT => 2000,
+ ],
+ 'servers' => [
+ [
+ 'host' => env('MEMCACHED_HOST', '127.0.0.1'),
+ 'port' => env('MEMCACHED_PORT', 11211),
+ 'weight' => 100,
+ ],
+ ],
+ ],
+
+ 'redis' => [
+ 'driver' => 'redis',
+ 'connection' => 'cache',
+ 'lock_connection' => 'default',
+ ],
+
+ 'dynamodb' => [
+ 'driver' => 'dynamodb',
+ 'key' => env('AWS_ACCESS_KEY_ID'),
+ 'secret' => env('AWS_SECRET_ACCESS_KEY'),
+ 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
+ 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),
+ 'endpoint' => env('DYNAMODB_ENDPOINT'),
+ ],
+
+ 'octane' => [
+ 'driver' => 'octane',
+ ],
+
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Cache Key Prefix
+ |--------------------------------------------------------------------------
+ |
+ | When utilizing the APC, database, memcached, Redis, or DynamoDB cache
+ | stores there might be other applications using the same cache. For
+ | that reason, you may prefix every cache key to avoid collisions.
+ |
+ */
+
+ 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'),
+
+];
diff --git a/laravel/my-project/config/cors.php b/laravel/my-project/config/cors.php
new file mode 100644
index 0000000..f1588e3
--- /dev/null
+++ b/laravel/my-project/config/cors.php
@@ -0,0 +1,34 @@
+ ['api/*', 'sanctum/csrf-cookie', 'api'],
+
+ 'allowed_methods' => ['*'],
+
+ 'allowed_origins' => ['*'],
+
+ 'allowed_origins_patterns' => [],
+
+ 'allowed_headers' => ['*'],
+
+ 'exposed_headers' => [],
+
+ 'max_age' => 0,
+
+ 'supports_credentials' => false,
+
+];
diff --git a/laravel/my-project/config/database.php b/laravel/my-project/config/database.php
new file mode 100644
index 0000000..137ad18
--- /dev/null
+++ b/laravel/my-project/config/database.php
@@ -0,0 +1,151 @@
+ env('DB_CONNECTION', 'mysql'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Database Connections
+ |--------------------------------------------------------------------------
+ |
+ | Here are each of the database connections setup for your application.
+ | Of course, examples of configuring each database platform that is
+ | supported by Laravel is shown below to make development simple.
+ |
+ |
+ | All database work in Laravel is done through the PHP PDO facilities
+ | so make sure you have the driver for your particular database of
+ | choice installed on your machine before you begin development.
+ |
+ */
+
+ 'connections' => [
+
+ 'sqlite' => [
+ 'driver' => 'sqlite',
+ 'url' => env('DATABASE_URL'),
+ 'database' => env('DB_DATABASE', database_path('database.sqlite')),
+ 'prefix' => '',
+ 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
+ ],
+
+ 'mysql' => [
+ 'driver' => 'mysql',
+ 'url' => env('DATABASE_URL'),
+ 'host' => env('DB_HOST', '127.0.0.1'),
+ 'port' => env('DB_PORT', '3306'),
+ 'database' => env('DB_DATABASE', 'forge'),
+ 'username' => env('DB_USERNAME', 'forge'),
+ 'password' => env('DB_PASSWORD', ''),
+ 'unix_socket' => env('DB_SOCKET', ''),
+ 'charset' => 'utf8mb4',
+ 'collation' => 'utf8mb4_unicode_ci',
+ 'prefix' => '',
+ 'prefix_indexes' => true,
+ 'strict' => true,
+ 'engine' => null,
+ 'options' => extension_loaded('pdo_mysql') ? array_filter([
+ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
+ ]) : [],
+ ],
+
+ 'pgsql' => [
+ 'driver' => 'pgsql',
+ 'url' => env('DATABASE_URL'),
+ 'host' => env('DB_HOST', '127.0.0.1'),
+ 'port' => env('DB_PORT', '5432'),
+ 'database' => env('DB_DATABASE', 'forge'),
+ 'username' => env('DB_USERNAME', 'forge'),
+ 'password' => env('DB_PASSWORD', ''),
+ 'charset' => 'utf8',
+ 'prefix' => '',
+ 'prefix_indexes' => true,
+ 'search_path' => 'public',
+ 'sslmode' => 'prefer',
+ ],
+
+ 'sqlsrv' => [
+ 'driver' => 'sqlsrv',
+ 'url' => env('DATABASE_URL'),
+ 'host' => env('DB_HOST', 'localhost'),
+ 'port' => env('DB_PORT', '1433'),
+ 'database' => env('DB_DATABASE', 'forge'),
+ 'username' => env('DB_USERNAME', 'forge'),
+ 'password' => env('DB_PASSWORD', ''),
+ 'charset' => 'utf8',
+ 'prefix' => '',
+ 'prefix_indexes' => true,
+ // 'encrypt' => env('DB_ENCRYPT', 'yes'),
+ // 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'),
+ ],
+
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Migration Repository Table
+ |--------------------------------------------------------------------------
+ |
+ | This table keeps track of all the migrations that have already run for
+ | your application. Using this information, we can determine which of
+ | the migrations on disk haven't actually been run in the database.
+ |
+ */
+
+ 'migrations' => 'migrations',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Redis Databases
+ |--------------------------------------------------------------------------
+ |
+ | Redis is an open source, fast, and advanced key-value store that also
+ | provides a richer body of commands than a typical key-value system
+ | such as APC or Memcached. Laravel makes it easy to dig right in.
+ |
+ */
+
+ 'redis' => [
+
+ 'client' => env('REDIS_CLIENT', 'phpredis'),
+
+ 'options' => [
+ 'cluster' => env('REDIS_CLUSTER', 'redis'),
+ 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
+ ],
+
+ 'default' => [
+ 'url' => env('REDIS_URL'),
+ 'host' => env('REDIS_HOST', '127.0.0.1'),
+ 'username' => env('REDIS_USERNAME'),
+ 'password' => env('REDIS_PASSWORD'),
+ 'port' => env('REDIS_PORT', '6379'),
+ 'database' => env('REDIS_DB', '0'),
+ ],
+
+ 'cache' => [
+ 'url' => env('REDIS_URL'),
+ 'host' => env('REDIS_HOST', '127.0.0.1'),
+ 'username' => env('REDIS_USERNAME'),
+ 'password' => env('REDIS_PASSWORD'),
+ 'port' => env('REDIS_PORT', '6379'),
+ 'database' => env('REDIS_CACHE_DB', '1'),
+ ],
+
+ ],
+
+];
diff --git a/laravel/my-project/config/filesystems.php b/laravel/my-project/config/filesystems.php
new file mode 100644
index 0000000..e9d9dbd
--- /dev/null
+++ b/laravel/my-project/config/filesystems.php
@@ -0,0 +1,76 @@
+ env('FILESYSTEM_DISK', 'local'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Filesystem Disks
+ |--------------------------------------------------------------------------
+ |
+ | Here you may configure as many filesystem "disks" as you wish, and you
+ | may even configure multiple disks of the same driver. Defaults have
+ | been set up for each driver as an example of the required values.
+ |
+ | Supported Drivers: "local", "ftp", "sftp", "s3"
+ |
+ */
+
+ 'disks' => [
+
+ 'local' => [
+ 'driver' => 'local',
+ 'root' => storage_path('app'),
+ 'throw' => false,
+ ],
+
+ 'public' => [
+ 'driver' => 'local',
+ 'root' => storage_path('app/public'),
+ 'url' => env('APP_URL').'/storage',
+ 'visibility' => 'public',
+ 'throw' => false,
+ ],
+
+ 's3' => [
+ 'driver' => 's3',
+ 'key' => env('AWS_ACCESS_KEY_ID'),
+ 'secret' => env('AWS_SECRET_ACCESS_KEY'),
+ 'region' => env('AWS_DEFAULT_REGION'),
+ 'bucket' => env('AWS_BUCKET'),
+ 'url' => env('AWS_URL'),
+ 'endpoint' => env('AWS_ENDPOINT'),
+ 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
+ 'throw' => false,
+ ],
+
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Symbolic Links
+ |--------------------------------------------------------------------------
+ |
+ | Here you may configure the symbolic links that will be created when the
+ | `storage:link` Artisan command is executed. The array keys should be
+ | the locations of the links and the values should be their targets.
+ |
+ */
+
+ 'links' => [
+ public_path('storage') => storage_path('app/public'),
+ ],
+
+];
diff --git a/laravel/my-project/config/hashing.php b/laravel/my-project/config/hashing.php
new file mode 100644
index 0000000..bcd3be4
--- /dev/null
+++ b/laravel/my-project/config/hashing.php
@@ -0,0 +1,52 @@
+ 'bcrypt',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Bcrypt Options
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify the configuration options that should be used when
+ | passwords are hashed using the Bcrypt algorithm. This will allow you
+ | to control the amount of time it takes to hash the given password.
+ |
+ */
+
+ 'bcrypt' => [
+ 'rounds' => env('BCRYPT_ROUNDS', 10),
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Argon Options
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify the configuration options that should be used when
+ | passwords are hashed using the Argon algorithm. These will allow you
+ | to control the amount of time it takes to hash the given password.
+ |
+ */
+
+ 'argon' => [
+ 'memory' => 65536,
+ 'threads' => 1,
+ 'time' => 4,
+ ],
+
+];
diff --git a/laravel/my-project/config/logging.php b/laravel/my-project/config/logging.php
new file mode 100644
index 0000000..5aa1dbb
--- /dev/null
+++ b/laravel/my-project/config/logging.php
@@ -0,0 +1,122 @@
+ env('LOG_CHANNEL', 'stack'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Deprecations Log Channel
+ |--------------------------------------------------------------------------
+ |
+ | This option controls the log channel that should be used to log warnings
+ | regarding deprecated PHP and library features. This allows you to get
+ | your application ready for upcoming major versions of dependencies.
+ |
+ */
+
+ 'deprecations' => [
+ 'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),
+ 'trace' => false,
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Log Channels
+ |--------------------------------------------------------------------------
+ |
+ | Here you may configure the log channels for your application. Out of
+ | the box, Laravel uses the Monolog PHP logging library. This gives
+ | you a variety of powerful log handlers / formatters to utilize.
+ |
+ | Available Drivers: "single", "daily", "slack", "syslog",
+ | "errorlog", "monolog",
+ | "custom", "stack"
+ |
+ */
+
+ 'channels' => [
+ 'stack' => [
+ 'driver' => 'stack',
+ 'channels' => ['single'],
+ 'ignore_exceptions' => false,
+ ],
+
+ 'single' => [
+ 'driver' => 'single',
+ 'path' => storage_path('logs/laravel.log'),
+ 'level' => env('LOG_LEVEL', 'debug'),
+ ],
+
+ 'daily' => [
+ 'driver' => 'daily',
+ 'path' => storage_path('logs/laravel.log'),
+ 'level' => env('LOG_LEVEL', 'debug'),
+ 'days' => 14,
+ ],
+
+ 'slack' => [
+ 'driver' => 'slack',
+ 'url' => env('LOG_SLACK_WEBHOOK_URL'),
+ 'username' => 'Laravel Log',
+ 'emoji' => ':boom:',
+ 'level' => env('LOG_LEVEL', 'critical'),
+ ],
+
+ 'papertrail' => [
+ 'driver' => 'monolog',
+ 'level' => env('LOG_LEVEL', 'debug'),
+ 'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class),
+ 'handler_with' => [
+ 'host' => env('PAPERTRAIL_URL'),
+ 'port' => env('PAPERTRAIL_PORT'),
+ 'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'),
+ ],
+ ],
+
+ 'stderr' => [
+ 'driver' => 'monolog',
+ 'level' => env('LOG_LEVEL', 'debug'),
+ 'handler' => StreamHandler::class,
+ 'formatter' => env('LOG_STDERR_FORMATTER'),
+ 'with' => [
+ 'stream' => 'php://stderr',
+ ],
+ ],
+
+ 'syslog' => [
+ 'driver' => 'syslog',
+ 'level' => env('LOG_LEVEL', 'debug'),
+ ],
+
+ 'errorlog' => [
+ 'driver' => 'errorlog',
+ 'level' => env('LOG_LEVEL', 'debug'),
+ ],
+
+ 'null' => [
+ 'driver' => 'monolog',
+ 'handler' => NullHandler::class,
+ ],
+
+ 'emergency' => [
+ 'path' => storage_path('logs/laravel.log'),
+ ],
+ ],
+
+];
diff --git a/laravel/my-project/config/mail.php b/laravel/my-project/config/mail.php
new file mode 100644
index 0000000..534395a
--- /dev/null
+++ b/laravel/my-project/config/mail.php
@@ -0,0 +1,118 @@
+ env('MAIL_MAILER', 'smtp'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Mailer Configurations
+ |--------------------------------------------------------------------------
+ |
+ | Here you may configure all of the mailers used by your application plus
+ | their respective settings. Several examples have been configured for
+ | you and you are free to add your own as your application requires.
+ |
+ | Laravel supports a variety of mail "transport" drivers to be used while
+ | sending an e-mail. You will specify which one you are using for your
+ | mailers below. You are free to add additional mailers as required.
+ |
+ | Supported: "smtp", "sendmail", "mailgun", "ses",
+ | "postmark", "log", "array", "failover"
+ |
+ */
+
+ 'mailers' => [
+ 'smtp' => [
+ 'transport' => 'smtp',
+ 'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
+ 'port' => env('MAIL_PORT', 587),
+ 'encryption' => env('MAIL_ENCRYPTION', 'tls'),
+ 'username' => env('MAIL_USERNAME'),
+ 'password' => env('MAIL_PASSWORD'),
+ 'timeout' => null,
+ 'local_domain' => env('MAIL_EHLO_DOMAIN'),
+ ],
+
+ 'ses' => [
+ 'transport' => 'ses',
+ ],
+
+ 'mailgun' => [
+ 'transport' => 'mailgun',
+ ],
+
+ 'postmark' => [
+ 'transport' => 'postmark',
+ ],
+
+ 'sendmail' => [
+ 'transport' => 'sendmail',
+ 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'),
+ ],
+
+ 'log' => [
+ 'transport' => 'log',
+ 'channel' => env('MAIL_LOG_CHANNEL'),
+ ],
+
+ 'array' => [
+ 'transport' => 'array',
+ ],
+
+ 'failover' => [
+ 'transport' => 'failover',
+ 'mailers' => [
+ 'smtp',
+ 'log',
+ ],
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Global "From" Address
+ |--------------------------------------------------------------------------
+ |
+ | You may wish for all e-mails sent by your application to be sent from
+ | the same address. Here, you may specify a name and address that is
+ | used globally for all e-mails that are sent by your application.
+ |
+ */
+
+ 'from' => [
+ 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
+ 'name' => env('MAIL_FROM_NAME', 'Example'),
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Markdown Mail Settings
+ |--------------------------------------------------------------------------
+ |
+ | If you are using Markdown based email rendering, you may configure your
+ | theme and component paths here, allowing you to customize the design
+ | of the emails. Or, you may simply stick with the Laravel defaults!
+ |
+ */
+
+ 'markdown' => [
+ 'theme' => 'default',
+
+ 'paths' => [
+ resource_path('views/vendor/mail'),
+ ],
+ ],
+
+];
diff --git a/laravel/my-project/config/queue.php b/laravel/my-project/config/queue.php
new file mode 100644
index 0000000..25ea5a8
--- /dev/null
+++ b/laravel/my-project/config/queue.php
@@ -0,0 +1,93 @@
+ env('QUEUE_CONNECTION', 'sync'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Queue Connections
+ |--------------------------------------------------------------------------
+ |
+ | Here you may configure the connection information for each server that
+ | is used by your application. A default configuration has been added
+ | for each back-end shipped with Laravel. You are free to add more.
+ |
+ | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null"
+ |
+ */
+
+ 'connections' => [
+
+ 'sync' => [
+ 'driver' => 'sync',
+ ],
+
+ 'database' => [
+ 'driver' => 'database',
+ 'table' => 'jobs',
+ 'queue' => 'default',
+ 'retry_after' => 90,
+ 'after_commit' => false,
+ ],
+
+ 'beanstalkd' => [
+ 'driver' => 'beanstalkd',
+ 'host' => 'localhost',
+ 'queue' => 'default',
+ 'retry_after' => 90,
+ 'block_for' => 0,
+ 'after_commit' => false,
+ ],
+
+ 'sqs' => [
+ 'driver' => 'sqs',
+ 'key' => env('AWS_ACCESS_KEY_ID'),
+ 'secret' => env('AWS_SECRET_ACCESS_KEY'),
+ 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
+ 'queue' => env('SQS_QUEUE', 'default'),
+ 'suffix' => env('SQS_SUFFIX'),
+ 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
+ 'after_commit' => false,
+ ],
+
+ 'redis' => [
+ 'driver' => 'redis',
+ 'connection' => 'default',
+ 'queue' => env('REDIS_QUEUE', 'default'),
+ 'retry_after' => 90,
+ 'block_for' => null,
+ 'after_commit' => false,
+ ],
+
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Failed Queue Jobs
+ |--------------------------------------------------------------------------
+ |
+ | These options configure the behavior of failed queue job logging so you
+ | can control which database and table are used to store the jobs that
+ | have failed. You may change them to any database / table you wish.
+ |
+ */
+
+ 'failed' => [
+ 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'),
+ 'database' => env('DB_CONNECTION', 'mysql'),
+ 'table' => 'failed_jobs',
+ ],
+
+];
diff --git a/laravel/my-project/config/sanctum.php b/laravel/my-project/config/sanctum.php
new file mode 100644
index 0000000..529cfdc
--- /dev/null
+++ b/laravel/my-project/config/sanctum.php
@@ -0,0 +1,67 @@
+ explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf(
+ '%s%s',
+ 'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1',
+ Sanctum::currentApplicationUrlWithPort()
+ ))),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Sanctum Guards
+ |--------------------------------------------------------------------------
+ |
+ | This array contains the authentication guards that will be checked when
+ | Sanctum is trying to authenticate a request. If none of these guards
+ | are able to authenticate the request, Sanctum will use the bearer
+ | token that's present on an incoming request for authentication.
+ |
+ */
+
+ 'guard' => ['web'],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Expiration Minutes
+ |--------------------------------------------------------------------------
+ |
+ | This value controls the number of minutes until an issued token will be
+ | considered expired. If this value is null, personal access tokens do
+ | not expire. This won't tweak the lifetime of first-party sessions.
+ |
+ */
+
+ 'expiration' => null,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Sanctum Middleware
+ |--------------------------------------------------------------------------
+ |
+ | When authenticating your first-party SPA with Sanctum you may need to
+ | customize some of the middleware Sanctum uses while processing the
+ | request. You may change the middleware listed below as required.
+ |
+ */
+
+ 'middleware' => [
+ 'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class,
+ 'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class,
+ ],
+
+];
diff --git a/laravel/my-project/config/services.php b/laravel/my-project/config/services.php
new file mode 100644
index 0000000..0ace530
--- /dev/null
+++ b/laravel/my-project/config/services.php
@@ -0,0 +1,34 @@
+ [
+ 'domain' => env('MAILGUN_DOMAIN'),
+ 'secret' => env('MAILGUN_SECRET'),
+ 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),
+ 'scheme' => 'https',
+ ],
+
+ 'postmark' => [
+ 'token' => env('POSTMARK_TOKEN'),
+ ],
+
+ 'ses' => [
+ 'key' => env('AWS_ACCESS_KEY_ID'),
+ 'secret' => env('AWS_SECRET_ACCESS_KEY'),
+ 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
+ ],
+
+];
diff --git a/laravel/my-project/config/session.php b/laravel/my-project/config/session.php
new file mode 100644
index 0000000..8fed97c
--- /dev/null
+++ b/laravel/my-project/config/session.php
@@ -0,0 +1,201 @@
+ env('SESSION_DRIVER', 'file'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Lifetime
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify the number of minutes that you wish the session
+ | to be allowed to remain idle before it expires. If you want them
+ | to immediately expire on the browser closing, set that option.
+ |
+ */
+
+ 'lifetime' => env('SESSION_LIFETIME', 120),
+
+ 'expire_on_close' => false,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Encryption
+ |--------------------------------------------------------------------------
+ |
+ | This option allows you to easily specify that all of your session data
+ | should be encrypted before it is stored. All encryption will be run
+ | automatically by Laravel and you can use the Session like normal.
+ |
+ */
+
+ 'encrypt' => false,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session File Location
+ |--------------------------------------------------------------------------
+ |
+ | When using the native session driver, we need a location where session
+ | files may be stored. A default has been set for you but a different
+ | location may be specified. This is only needed for file sessions.
+ |
+ */
+
+ 'files' => storage_path('framework/sessions'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Database Connection
+ |--------------------------------------------------------------------------
+ |
+ | When using the "database" or "redis" session drivers, you may specify a
+ | connection that should be used to manage these sessions. This should
+ | correspond to a connection in your database configuration options.
+ |
+ */
+
+ 'connection' => env('SESSION_CONNECTION'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Database Table
+ |--------------------------------------------------------------------------
+ |
+ | When using the "database" session driver, you may specify the table we
+ | should use to manage the sessions. Of course, a sensible default is
+ | provided for you; however, you are free to change this as needed.
+ |
+ */
+
+ 'table' => 'sessions',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Cache Store
+ |--------------------------------------------------------------------------
+ |
+ | While using one of the framework's cache driven session backends you may
+ | list a cache store that should be used for these sessions. This value
+ | must match with one of the application's configured cache "stores".
+ |
+ | Affects: "apc", "dynamodb", "memcached", "redis"
+ |
+ */
+
+ 'store' => env('SESSION_STORE'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Sweeping Lottery
+ |--------------------------------------------------------------------------
+ |
+ | Some session drivers must manually sweep their storage location to get
+ | rid of old sessions from storage. Here are the chances that it will
+ | happen on a given request. By default, the odds are 2 out of 100.
+ |
+ */
+
+ 'lottery' => [2, 100],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Cookie Name
+ |--------------------------------------------------------------------------
+ |
+ | Here you may change the name of the cookie used to identify a session
+ | instance by ID. The name specified here will get used every time a
+ | new session cookie is created by the framework for every driver.
+ |
+ */
+
+ 'cookie' => env(
+ 'SESSION_COOKIE',
+ Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
+ ),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Cookie Path
+ |--------------------------------------------------------------------------
+ |
+ | The session cookie path determines the path for which the cookie will
+ | be regarded as available. Typically, this will be the root path of
+ | your application but you are free to change this when necessary.
+ |
+ */
+
+ 'path' => '/',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Session Cookie Domain
+ |--------------------------------------------------------------------------
+ |
+ | Here you may change the domain of the cookie used to identify a session
+ | in your application. This will determine which domains the cookie is
+ | available to in your application. A sensible default has been set.
+ |
+ */
+
+ 'domain' => env('SESSION_DOMAIN'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | HTTPS Only Cookies
+ |--------------------------------------------------------------------------
+ |
+ | By setting this option to true, session cookies will only be sent back
+ | to the server if the browser has a HTTPS connection. This will keep
+ | the cookie from being sent to you when it can't be done securely.
+ |
+ */
+
+ 'secure' => env('SESSION_SECURE_COOKIE'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | HTTP Access Only
+ |--------------------------------------------------------------------------
+ |
+ | Setting this value to true will prevent JavaScript from accessing the
+ | value of the cookie and the cookie will only be accessible through
+ | the HTTP protocol. You are free to modify this option if needed.
+ |
+ */
+
+ 'http_only' => true,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Same-Site Cookies
+ |--------------------------------------------------------------------------
+ |
+ | This option determines how your cookies behave when cross-site requests
+ | take place, and can be used to mitigate CSRF attacks. By default, we
+ | will set this value to "lax" since this is a secure default value.
+ |
+ | Supported: "lax", "strict", "none", null
+ |
+ */
+
+ 'same_site' => 'lax',
+
+];
diff --git a/laravel/my-project/config/view.php b/laravel/my-project/config/view.php
new file mode 100644
index 0000000..22b8a18
--- /dev/null
+++ b/laravel/my-project/config/view.php
@@ -0,0 +1,36 @@
+ [
+ resource_path('views'),
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Compiled View Path
+ |--------------------------------------------------------------------------
+ |
+ | This option determines where all the compiled Blade templates will be
+ | stored for your application. Typically, this is within the storage
+ | directory. However, as usual, you are free to change this value.
+ |
+ */
+
+ 'compiled' => env(
+ 'VIEW_COMPILED_PATH',
+ realpath(storage_path('framework/views'))
+ ),
+
+];
diff --git a/laravel/my-project/database/.DS_Store b/laravel/my-project/database/.DS_Store
new file mode 100644
index 0000000..3c541cf
Binary files /dev/null and b/laravel/my-project/database/.DS_Store differ
diff --git a/laravel/my-project/database/.gitignore b/laravel/my-project/database/.gitignore
new file mode 100644
index 0000000..9b19b93
--- /dev/null
+++ b/laravel/my-project/database/.gitignore
@@ -0,0 +1 @@
+*.sqlite*
diff --git a/laravel/my-project/database/factories/UserFactory.php b/laravel/my-project/database/factories/UserFactory.php
new file mode 100644
index 0000000..41f8ae8
--- /dev/null
+++ b/laravel/my-project/database/factories/UserFactory.php
@@ -0,0 +1,40 @@
+
+ */
+class UserFactory extends Factory
+{
+ /**
+ * Define the model's default state.
+ *
+ * @return array
+ */
+ public function definition()
+ {
+ return [
+ 'name' => fake()->name(),
+ 'email' => fake()->unique()->safeEmail(),
+ 'email_verified_at' => now(),
+ 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
+ 'remember_token' => Str::random(10),
+ ];
+ }
+
+ /**
+ * Indicate that the model's email address should be unverified.
+ *
+ * @return static
+ */
+ public function unverified()
+ {
+ return $this->state(fn (array $attributes) => [
+ 'email_verified_at' => null,
+ ]);
+ }
+}
diff --git a/laravel/my-project/database/migrations/2014_10_12_000000_create_users_table.php b/laravel/my-project/database/migrations/2014_10_12_000000_create_users_table.php
new file mode 100644
index 0000000..cf6b776
--- /dev/null
+++ b/laravel/my-project/database/migrations/2014_10_12_000000_create_users_table.php
@@ -0,0 +1,36 @@
+id();
+ $table->string('name');
+ $table->string('email')->unique();
+ $table->timestamp('email_verified_at')->nullable();
+ $table->string('password');
+ $table->rememberToken();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('users');
+ }
+};
diff --git a/laravel/my-project/database/migrations/2014_10_12_100000_create_password_resets_table.php b/laravel/my-project/database/migrations/2014_10_12_100000_create_password_resets_table.php
new file mode 100644
index 0000000..fcacb80
--- /dev/null
+++ b/laravel/my-project/database/migrations/2014_10_12_100000_create_password_resets_table.php
@@ -0,0 +1,32 @@
+string('email')->index();
+ $table->string('token');
+ $table->timestamp('created_at')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('password_resets');
+ }
+};
diff --git a/laravel/my-project/database/migrations/2019_08_19_000000_create_failed_jobs_table.php b/laravel/my-project/database/migrations/2019_08_19_000000_create_failed_jobs_table.php
new file mode 100644
index 0000000..1719198
--- /dev/null
+++ b/laravel/my-project/database/migrations/2019_08_19_000000_create_failed_jobs_table.php
@@ -0,0 +1,36 @@
+id();
+ $table->string('uuid')->unique();
+ $table->text('connection');
+ $table->text('queue');
+ $table->longText('payload');
+ $table->longText('exception');
+ $table->timestamp('failed_at')->useCurrent();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('failed_jobs');
+ }
+};
diff --git a/laravel/my-project/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php b/laravel/my-project/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php
new file mode 100644
index 0000000..6c81fd2
--- /dev/null
+++ b/laravel/my-project/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php
@@ -0,0 +1,37 @@
+id();
+ $table->morphs('tokenable');
+ $table->string('name');
+ $table->string('token', 64)->unique();
+ $table->text('abilities')->nullable();
+ $table->timestamp('last_used_at')->nullable();
+ $table->timestamp('expires_at')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('personal_access_tokens');
+ }
+};
diff --git a/laravel/my-project/database/migrations/2022_11_02_000000_alterUser.php b/laravel/my-project/database/migrations/2022_11_02_000000_alterUser.php
new file mode 100644
index 0000000..4bd2412
--- /dev/null
+++ b/laravel/my-project/database/migrations/2022_11_02_000000_alterUser.php
@@ -0,0 +1,32 @@
+foreign('auth')->references('id')->on('users');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('Utilisateur', function (Blueprint $table) {
+ $table->dropForeign('Utilisateur_auth_foreign');
+ });
+ }
+};
diff --git a/laravel/my-project/database/seeders/DatabaseSeeder.php b/laravel/my-project/database/seeders/DatabaseSeeder.php
new file mode 100644
index 0000000..76d96dc
--- /dev/null
+++ b/laravel/my-project/database/seeders/DatabaseSeeder.php
@@ -0,0 +1,24 @@
+create();
+
+ // \App\Models\User::factory()->create([
+ // 'name' => 'Test User',
+ // 'email' => 'test@example.com',
+ // ]);
+ }
+}
diff --git a/laravel/my-project/lang/en/auth.php b/laravel/my-project/lang/en/auth.php
new file mode 100644
index 0000000..6598e2c
--- /dev/null
+++ b/laravel/my-project/lang/en/auth.php
@@ -0,0 +1,20 @@
+ 'These credentials do not match our records.',
+ 'password' => 'The provided password is incorrect.',
+ 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
+
+];
diff --git a/laravel/my-project/lang/en/pagination.php b/laravel/my-project/lang/en/pagination.php
new file mode 100644
index 0000000..d481411
--- /dev/null
+++ b/laravel/my-project/lang/en/pagination.php
@@ -0,0 +1,19 @@
+ '« Previous',
+ 'next' => 'Next »',
+
+];
diff --git a/laravel/my-project/lang/en/passwords.php b/laravel/my-project/lang/en/passwords.php
new file mode 100644
index 0000000..2345a56
--- /dev/null
+++ b/laravel/my-project/lang/en/passwords.php
@@ -0,0 +1,22 @@
+ 'Your password has been reset!',
+ 'sent' => 'We have emailed your password reset link!',
+ 'throttled' => 'Please wait before retrying.',
+ 'token' => 'This password reset token is invalid.',
+ 'user' => "We can't find a user with that email address.",
+
+];
diff --git a/laravel/my-project/lang/en/validation.php b/laravel/my-project/lang/en/validation.php
new file mode 100644
index 0000000..5ea01fa
--- /dev/null
+++ b/laravel/my-project/lang/en/validation.php
@@ -0,0 +1,174 @@
+ 'The :attribute must be accepted.',
+ 'accepted_if' => 'The :attribute must be accepted when :other is :value.',
+ 'active_url' => 'The :attribute is not a valid URL.',
+ 'after' => 'The :attribute must be a date after :date.',
+ 'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
+ 'alpha' => 'The :attribute must only contain letters.',
+ 'alpha_dash' => 'The :attribute must only contain letters, numbers, dashes and underscores.',
+ 'alpha_num' => 'The :attribute must only contain letters and numbers.',
+ 'array' => 'The :attribute must be an array.',
+ 'before' => 'The :attribute must be a date before :date.',
+ 'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
+ 'between' => [
+ 'array' => 'The :attribute must have between :min and :max items.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ ],
+ 'boolean' => 'The :attribute field must be true or false.',
+ 'confirmed' => 'The :attribute confirmation does not match.',
+ 'current_password' => 'The password is incorrect.',
+ 'date' => 'The :attribute is not a valid date.',
+ 'date_equals' => 'The :attribute must be a date equal to :date.',
+ 'date_format' => 'The :attribute does not match the format :format.',
+ 'declined' => 'The :attribute must be declined.',
+ 'declined_if' => 'The :attribute must be declined when :other is :value.',
+ 'different' => 'The :attribute and :other must be different.',
+ 'digits' => 'The :attribute must be :digits digits.',
+ 'digits_between' => 'The :attribute must be between :min and :max digits.',
+ 'dimensions' => 'The :attribute has invalid image dimensions.',
+ 'distinct' => 'The :attribute field has a duplicate value.',
+ 'doesnt_end_with' => 'The :attribute may not end with one of the following: :values.',
+ 'doesnt_start_with' => 'The :attribute may not start with one of the following: :values.',
+ 'email' => 'The :attribute must be a valid email address.',
+ 'ends_with' => 'The :attribute must end with one of the following: :values.',
+ 'enum' => 'The selected :attribute is invalid.',
+ 'exists' => 'The selected :attribute is invalid.',
+ 'file' => 'The :attribute must be a file.',
+ 'filled' => 'The :attribute field must have a value.',
+ 'gt' => [
+ 'array' => 'The :attribute must have more than :value items.',
+ 'file' => 'The :attribute must be greater than :value kilobytes.',
+ 'numeric' => 'The :attribute must be greater than :value.',
+ 'string' => 'The :attribute must be greater than :value characters.',
+ ],
+ 'gte' => [
+ 'array' => 'The :attribute must have :value items or more.',
+ 'file' => 'The :attribute must be greater than or equal to :value kilobytes.',
+ 'numeric' => 'The :attribute must be greater than or equal to :value.',
+ 'string' => 'The :attribute must be greater than or equal to :value characters.',
+ ],
+ 'image' => 'The :attribute must be an image.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :other.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
+ 'ipv4' => 'The :attribute must be a valid IPv4 address.',
+ 'ipv6' => 'The :attribute must be a valid IPv6 address.',
+ 'json' => 'The :attribute must be a valid JSON string.',
+ 'lt' => [
+ 'array' => 'The :attribute must have less than :value items.',
+ 'file' => 'The :attribute must be less than :value kilobytes.',
+ 'numeric' => 'The :attribute must be less than :value.',
+ 'string' => 'The :attribute must be less than :value characters.',
+ ],
+ 'lte' => [
+ 'array' => 'The :attribute must not have more than :value items.',
+ 'file' => 'The :attribute must be less than or equal to :value kilobytes.',
+ 'numeric' => 'The :attribute must be less than or equal to :value.',
+ 'string' => 'The :attribute must be less than or equal to :value characters.',
+ ],
+ 'mac_address' => 'The :attribute must be a valid MAC address.',
+ 'max' => [
+ 'array' => 'The :attribute must not have more than :max items.',
+ 'file' => 'The :attribute must not be greater than :max kilobytes.',
+ 'numeric' => 'The :attribute must not be greater than :max.',
+ 'string' => 'The :attribute must not be greater than :max characters.',
+ ],
+ 'max_digits' => 'The :attribute must not have more than :max digits.',
+ 'mimes' => 'The :attribute must be a file of type: :values.',
+ 'mimetypes' => 'The :attribute must be a file of type: :values.',
+ 'min' => [
+ 'array' => 'The :attribute must have at least :min items.',
+ 'file' => 'The :attribute must be at least :min kilobytes.',
+ 'numeric' => 'The :attribute must be at least :min.',
+ 'string' => 'The :attribute must be at least :min characters.',
+ ],
+ 'min_digits' => 'The :attribute must have at least :min digits.',
+ 'multiple_of' => 'The :attribute must be a multiple of :value.',
+ 'not_in' => 'The selected :attribute is invalid.',
+ 'not_regex' => 'The :attribute format is invalid.',
+ 'numeric' => 'The :attribute must be a number.',
+ 'password' => [
+ 'letters' => 'The :attribute must contain at least one letter.',
+ 'mixed' => 'The :attribute must contain at least one uppercase and one lowercase letter.',
+ 'numbers' => 'The :attribute must contain at least one number.',
+ 'symbols' => 'The :attribute must contain at least one symbol.',
+ 'uncompromised' => 'The given :attribute has appeared in a data leak. Please choose a different :attribute.',
+ ],
+ 'present' => 'The :attribute field must be present.',
+ 'prohibited' => 'The :attribute field is prohibited.',
+ 'prohibited_if' => 'The :attribute field is prohibited when :other is :value.',
+ 'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.',
+ 'prohibits' => 'The :attribute field prohibits :other from being present.',
+ 'regex' => 'The :attribute format is invalid.',
+ 'required' => 'The :attribute field is required.',
+ 'required_array_keys' => 'The :attribute field must contain entries for: :values.',
+ 'required_if' => 'The :attribute field is required when :other is :value.',
+ 'required_if_accepted' => 'The :attribute field is required when :other is accepted.',
+ 'required_unless' => 'The :attribute field is required unless :other is in :values.',
+ 'required_with' => 'The :attribute field is required when :values is present.',
+ 'required_with_all' => 'The :attribute field is required when :values are present.',
+ 'required_without' => 'The :attribute field is required when :values is not present.',
+ 'required_without_all' => 'The :attribute field is required when none of :values are present.',
+ 'same' => 'The :attribute and :other must match.',
+ 'size' => [
+ 'array' => 'The :attribute must contain :size items.',
+ 'file' => 'The :attribute must be :size kilobytes.',
+ 'numeric' => 'The :attribute must be :size.',
+ 'string' => 'The :attribute must be :size characters.',
+ ],
+ 'starts_with' => 'The :attribute must start with one of the following: :values.',
+ 'string' => 'The :attribute must be a string.',
+ 'timezone' => 'The :attribute must be a valid timezone.',
+ 'unique' => 'The :attribute has already been taken.',
+ 'uploaded' => 'The :attribute failed to upload.',
+ 'url' => 'The :attribute must be a valid URL.',
+ 'uuid' => 'The :attribute must be a valid UUID.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'custom-message',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap our attribute placeholder
+ | with something more reader friendly such as "E-Mail Address" instead
+ | of "email". This simply helps us make our message more expressive.
+ |
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/laravel/my-project/licenses/laravel-9.3.9.txt b/laravel/my-project/licenses/laravel-9.3.9.txt
new file mode 100644
index 0000000..c419878
--- /dev/null
+++ b/laravel/my-project/licenses/laravel-9.3.9.txt
@@ -0,0 +1 @@
+MIT: http://opensource.org/licenses/MIT
\ No newline at end of file
diff --git a/laravel/my-project/onLaunch.sh b/laravel/my-project/onLaunch.sh
new file mode 100644
index 0000000..3748340
--- /dev/null
+++ b/laravel/my-project/onLaunch.sh
@@ -0,0 +1,11 @@
+composer require fruitcake/laravel-cors
+
+
+php artisan migrate
+php artisan key:generate
+php artisan cache:clear
+php artisan config:clear
+php artisan route:clear
+
+
+php artisan serve --host=0.0.0.0 --env=.env
\ No newline at end of file
diff --git a/laravel/my-project/package.json b/laravel/my-project/package.json
new file mode 100644
index 0000000..36489d9
--- /dev/null
+++ b/laravel/my-project/package.json
@@ -0,0 +1,14 @@
+{
+ "private": true,
+ "scripts": {
+ "dev": "vite",
+ "build": "vite build"
+ },
+ "devDependencies": {
+ "axios": "^1.1.2",
+ "laravel-vite-plugin": "^0.6.0",
+ "lodash": "^4.17.19",
+ "postcss": "^8.1.14",
+ "vite": "^3.0.0"
+ }
+}
diff --git a/laravel/my-project/phpunit.xml b/laravel/my-project/phpunit.xml
new file mode 100644
index 0000000..2ac86a1
--- /dev/null
+++ b/laravel/my-project/phpunit.xml
@@ -0,0 +1,31 @@
+
+
+
+
+ ./tests/Unit
+
+
+ ./tests/Feature
+
+
+
+
+ ./app
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/laravel/my-project/public/.htaccess b/laravel/my-project/public/.htaccess
new file mode 100644
index 0000000..3aec5e2
--- /dev/null
+++ b/laravel/my-project/public/.htaccess
@@ -0,0 +1,21 @@
+
+
+ Options -MultiViews -Indexes
+
+
+ RewriteEngine On
+
+ # Handle Authorization Header
+ RewriteCond %{HTTP:Authorization} .
+ RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
+
+ # Redirect Trailing Slashes If Not A Folder...
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteCond %{REQUEST_URI} (.+)/$
+ RewriteRule ^ %1 [L,R=301]
+
+ # Send Requests To Front Controller...
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteRule ^ index.php [L]
+
diff --git a/laravel/my-project/public/favicon.ico b/laravel/my-project/public/favicon.ico
new file mode 100644
index 0000000..e69de29
diff --git a/laravel/my-project/public/index.php b/laravel/my-project/public/index.php
new file mode 100644
index 0000000..1d69f3a
--- /dev/null
+++ b/laravel/my-project/public/index.php
@@ -0,0 +1,55 @@
+make(Kernel::class);
+
+$response = $kernel->handle(
+ $request = Request::capture()
+)->send();
+
+$kernel->terminate($request, $response);
diff --git a/laravel/my-project/public/robots.txt b/laravel/my-project/public/robots.txt
new file mode 100644
index 0000000..eb05362
--- /dev/null
+++ b/laravel/my-project/public/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow:
diff --git a/laravel/my-project/resources/css/app.css b/laravel/my-project/resources/css/app.css
new file mode 100644
index 0000000..e69de29
diff --git a/laravel/my-project/resources/js/app.js b/laravel/my-project/resources/js/app.js
new file mode 100644
index 0000000..e59d6a0
--- /dev/null
+++ b/laravel/my-project/resources/js/app.js
@@ -0,0 +1 @@
+import './bootstrap';
diff --git a/laravel/my-project/resources/js/bootstrap.js b/laravel/my-project/resources/js/bootstrap.js
new file mode 100644
index 0000000..d21a8c0
--- /dev/null
+++ b/laravel/my-project/resources/js/bootstrap.js
@@ -0,0 +1,34 @@
+import _ from 'lodash';
+window._ = _;
+
+/**
+ * We'll load the axios HTTP library which allows us to easily issue requests
+ * to our Laravel back-end. This library automatically handles sending the
+ * CSRF token as a header based on the value of the "XSRF" token cookie.
+ */
+
+import axios from 'axios';
+window.axios = axios;
+
+window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
+
+/**
+ * Echo exposes an expressive API for subscribing to channels and listening
+ * for events that are broadcast by Laravel. Echo and event broadcasting
+ * allows your team to easily build robust real-time web applications.
+ */
+
+// import Echo from 'laravel-echo';
+
+// import Pusher from 'pusher-js';
+// window.Pusher = Pusher;
+
+// window.Echo = new Echo({
+// broadcaster: 'pusher',
+// key: import.meta.env.VITE_PUSHER_APP_KEY,
+// wsHost: import.meta.env.VITE_PUSHER_HOST ?? `ws-${import.meta.env.VITE_PUSHER_APP_CLUSTER}.pusher.com`,
+// wsPort: import.meta.env.VITE_PUSHER_PORT ?? 80,
+// wssPort: import.meta.env.VITE_PUSHER_PORT ?? 443,
+// forceTLS: (import.meta.env.VITE_PUSHER_SCHEME ?? 'https') === 'https',
+// enabledTransports: ['ws', 'wss'],
+// });
diff --git a/laravel/my-project/resources/views/welcome.blade.php b/laravel/my-project/resources/views/welcome.blade.php
new file mode 100644
index 0000000..0ad6097
--- /dev/null
+++ b/laravel/my-project/resources/views/welcome.blade.php
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+ Laravel
+
+
+
+
+
+
+
+
+
+
+
+ @if (Route::has('login'))
+
+ @auth
+
Home
+ @else
+
Log in
+
+ @if (Route::has('register'))
+
Register
+ @endif
+ @endauth
+
+ @endif
+
+
+
+
+
+
+
+
+
+
+
+ Laravel has wonderful, thorough documentation covering every aspect of the framework. Whether you are new to the framework or have previous experience with Laravel, we recommend reading all of the documentation from beginning to end.
+
+
+
+
+
+
+
+
+
+ Laracasts offers thousands of video tutorials on Laravel, PHP, and JavaScript development. Check them out, see for yourself, and massively level up your development skills in the process.
+
+
+
+
+
+
+
+
+
+ Laravel News is a community driven portal and newsletter aggregating all of the latest and most important news in the Laravel ecosystem, including new package releases and tutorials.
+
+
+
+
+
+
+
+
+
+ Laravel's robust library of first-party tools and libraries, such as
Forge ,
Vapor ,
Nova , and
Envoyer help you take your projects to the next level. Pair them with powerful open source libraries like
Cashier ,
Dusk ,
Echo ,
Horizon ,
Sanctum ,
Telescope , and more.
+
+
+
+
+
+
+
+
+
+
+ Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }})
+
+
+
+
+
+
diff --git a/laravel/my-project/routes/api.php b/laravel/my-project/routes/api.php
new file mode 100644
index 0000000..696b0ec
--- /dev/null
+++ b/laravel/my-project/routes/api.php
@@ -0,0 +1,23 @@
+get('/user', function (Request $request) {
+ return $request->user();
+});
+
+Route::get('/helloworld', [HelloWorldController::class, 'getHelloWorld']);
diff --git a/laravel/my-project/routes/channels.php b/laravel/my-project/routes/channels.php
new file mode 100644
index 0000000..5d451e1
--- /dev/null
+++ b/laravel/my-project/routes/channels.php
@@ -0,0 +1,18 @@
+id === (int) $id;
+});
diff --git a/laravel/my-project/routes/console.php b/laravel/my-project/routes/console.php
new file mode 100644
index 0000000..e05f4c9
--- /dev/null
+++ b/laravel/my-project/routes/console.php
@@ -0,0 +1,19 @@
+comment(Inspiring::quote());
+})->purpose('Display an inspiring quote');
diff --git a/laravel/my-project/routes/web.php b/laravel/my-project/routes/web.php
new file mode 100644
index 0000000..9c7bf4e
--- /dev/null
+++ b/laravel/my-project/routes/web.php
@@ -0,0 +1,20 @@
+make(Kernel::class)->bootstrap();
+
+ return $app;
+ }
+}
diff --git a/laravel/my-project/tests/Feature/ExampleTest.php b/laravel/my-project/tests/Feature/ExampleTest.php
new file mode 100644
index 0000000..1eafba6
--- /dev/null
+++ b/laravel/my-project/tests/Feature/ExampleTest.php
@@ -0,0 +1,21 @@
+get('/');
+
+ $response->assertStatus(200);
+ }
+}
diff --git a/laravel/my-project/tests/TestCase.php b/laravel/my-project/tests/TestCase.php
new file mode 100644
index 0000000..2932d4a
--- /dev/null
+++ b/laravel/my-project/tests/TestCase.php
@@ -0,0 +1,10 @@
+assertTrue(true);
+ }
+}
diff --git a/laravel/my-project/vite.config.js b/laravel/my-project/vite.config.js
new file mode 100644
index 0000000..421b569
--- /dev/null
+++ b/laravel/my-project/vite.config.js
@@ -0,0 +1,11 @@
+import { defineConfig } from 'vite';
+import laravel from 'laravel-vite-plugin';
+
+export default defineConfig({
+ plugins: [
+ laravel({
+ input: ['resources/css/app.css', 'resources/js/app.js'],
+ refresh: true,
+ }),
+ ],
+});
diff --git a/mysql/.gitignore b/mysql/.gitignore
new file mode 100644
index 0000000..9f4c740
--- /dev/null
+++ b/mysql/.gitignore
@@ -0,0 +1 @@
+db/
\ No newline at end of file
diff --git a/mysql/data.sql b/mysql/data.sql
new file mode 100644
index 0000000..9d4f397
--- /dev/null
+++ b/mysql/data.sql
@@ -0,0 +1,194 @@
+-- phpMyAdmin SQL Dump
+-- version 5.1.0
+-- https://www.phpmyadmin.net/
+--
+-- Hôte : localhost:8889
+-- Généré le : mer. 26 oct. 2022 à 09:52
+-- Version du serveur : 5.7.34
+-- Version de PHP : 8.0.8
+
+SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
+START TRANSACTION;
+SET time_zone = "+00:00";
+
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8mb4 */;
+
+--
+-- Base de données : `ecasteDB`
+--
+
+-- --------------------------------------------------------
+
+--
+-- Structure de la table `Admin`
+--
+
+CREATE TABLE `Admin` (
+ `idAdmin` int(11) NOT NULL,
+ `Utilisateur` int(4) NOT NULL,
+ `Magasin` int(4) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Structure de la table `Fournisseur`
+--
+
+CREATE TABLE `Fournisseur` (
+ `id` int(4) NOT NULL,
+ `nom` varchar(50) NOT NULL,
+ `type` varchar(50) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Structure de la table `Magasin`
+--
+
+CREATE TABLE `Magasin` (
+ `id` int(4) NOT NULL,
+ `nom` varchar(50) NOT NULL,
+ `caPrevisionnel` float NOT NULL,
+ `objectifStockPrevisionnel` float NOT NULL,
+ `stockInitial` float NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Structure de la table `Transaction`
+--
+
+CREATE TABLE `Transaction` (
+ `id` int(4) NOT NULL,
+ `dateTransaction` date NOT NULL,
+ `montantTransaction` float NOT NULL,
+ `typeTransaction` varchar(5) NOT NULL,
+ `Magasin` int(4) NOT NULL,
+ `Fournisseur` int(4) NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Structure de la table `Utilisateur`
+--
+
+CREATE TABLE `Utilisateur` (
+ `id` int(4) NOT NULL,
+ `nom` varchar(50) NOT NULL,
+ `Magasin` int(4) NOT NULL,
+ `auth` bigint(20) UNSIGNED NOT NULL
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+--
+-- Index pour les tables déchargées
+--
+
+--
+-- Index pour la table `Admin`
+--
+ALTER TABLE `Admin`
+ ADD PRIMARY KEY (`idAdmin`),
+ ADD KEY `Utilisateur` (`Utilisateur`),
+ ADD KEY `Magasin` (`Magasin`);
+
+--
+-- Index pour la table `Fournisseur`
+--
+ALTER TABLE `Fournisseur`
+ ADD PRIMARY KEY (`id`);
+
+--
+-- Index pour la table `Magasin`
+--
+ALTER TABLE `Magasin`
+ ADD PRIMARY KEY (`id`);
+
+--
+-- Index pour la table `Transaction`
+--
+ALTER TABLE `Transaction`
+ ADD PRIMARY KEY (`id`),
+ ADD KEY `Fournisseur` (`Fournisseur`),
+ ADD KEY `Magasin` (`Magasin`);
+
+--
+-- Index pour la table `Utilisateur`
+--
+ALTER TABLE `Utilisateur`
+ ADD PRIMARY KEY (`id`),
+ ADD KEY `auth` (`auth`),
+ ADD KEY `Magasin` (`Magasin`);
+
+--
+-- AUTO_INCREMENT pour les tables déchargées
+--
+
+--
+-- AUTO_INCREMENT pour la table `Admin`
+--
+ALTER TABLE `Admin`
+ MODIFY `idAdmin` int(11) NOT NULL AUTO_INCREMENT;
+
+--
+-- AUTO_INCREMENT pour la table `Fournisseur`
+--
+ALTER TABLE `Fournisseur`
+ MODIFY `id` int(4) NOT NULL AUTO_INCREMENT;
+
+--
+-- AUTO_INCREMENT pour la table `Magasin`
+--
+ALTER TABLE `Magasin`
+ MODIFY `id` int(4) NOT NULL AUTO_INCREMENT;
+
+--
+-- AUTO_INCREMENT pour la table `Transaction`
+--
+ALTER TABLE `Transaction`
+ MODIFY `id` int(4) NOT NULL AUTO_INCREMENT;
+
+--
+-- AUTO_INCREMENT pour la table `Utilisateur`
+--
+ALTER TABLE `Utilisateur`
+ MODIFY `id` int(4) NOT NULL AUTO_INCREMENT;
+
+--
+-- Contraintes pour les tables déchargées
+--
+
+--
+-- Contraintes pour la table `Admin`
+--
+ALTER TABLE `Admin`
+ ADD CONSTRAINT `AdminIsUser` FOREIGN KEY (`Utilisateur`) REFERENCES `Utilisateur` (`id`),
+ ADD CONSTRAINT `AdminForMagasin` FOREIGN KEY (`Magasin`) REFERENCES `Magasin` (`id`);
+
+--
+-- Contraintes pour la table `Transaction`
+--
+ALTER TABLE `Transaction`
+ ADD CONSTRAINT `FournisseurTransaction` FOREIGN KEY (`Fournisseur`) REFERENCES `Fournisseur` (`id`),
+ ADD CONSTRAINT `TransactionForMagasin` FOREIGN KEY (`Magasin`) REFERENCES `Magasin` (`id`);
+
+--
+-- Contraintes pour la table `Utilisateur`
+--
+ALTER TABLE `Utilisateur`
+ /*
+ ADD CONSTRAINT `UtilisateurIsUser` FOREIGN KEY (`auth`) REFERENCES `Users` (`id`),
+ */
+ ADD CONSTRAINT `UtilisateurHasMagasin` FOREIGN KEY (`Magasin`) REFERENCES `Magasin` (`id`);
+COMMIT;
+
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
diff --git a/mysql/dockerFile b/mysql/dockerFile
new file mode 100644
index 0000000..0473561
--- /dev/null
+++ b/mysql/dockerFile
@@ -0,0 +1,10 @@
+FROM mysql:8.0.31
+
+ENV MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
+ENV MYSQL_DATABASE=${MYSQL_DATABASE}
+ENV MYSQL_USER=${MYSQL_USER}
+ENV MYSQL_PASSWORD=${MYSQL_PASSWORD}
+
+#ADD data.sql /docker-entrypoint-initdb.d
+
+EXPOSE 3306
\ No newline at end of file
diff --git a/node/.DS_Store b/node/.DS_Store
new file mode 100644
index 0000000..cdfc017
Binary files /dev/null and b/node/.DS_Store differ
diff --git a/node/dockerFile b/node/dockerFile
new file mode 100644
index 0000000..3fc4f51
--- /dev/null
+++ b/node/dockerFile
@@ -0,0 +1,11 @@
+FROM node:19
+
+WORKDIR /var/www/html/app/vueProject
+
+COPY ./vue/vueProject/* .
+
+RUN npm install --global cross-env
+RUN npm install axios
+RUN npm install
+
+CMD [ "npm" , "run", "dev" ]
\ No newline at end of file
diff --git a/node/vue/.DS_Store b/node/vue/.DS_Store
new file mode 100644
index 0000000..ae21c2c
Binary files /dev/null and b/node/vue/.DS_Store differ
diff --git a/node/vue/vueProject/.gitignore b/node/vue/vueProject/.gitignore
new file mode 100644
index 0000000..38adffa
--- /dev/null
+++ b/node/vue/vueProject/.gitignore
@@ -0,0 +1,28 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+.DS_Store
+dist
+dist-ssr
+coverage
+*.local
+
+/cypress/videos/
+/cypress/screenshots/
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/node/vue/vueProject/.vscode/extensions.json b/node/vue/vueProject/.vscode/extensions.json
new file mode 100644
index 0000000..c0a6e5a
--- /dev/null
+++ b/node/vue/vueProject/.vscode/extensions.json
@@ -0,0 +1,3 @@
+{
+ "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
+}
diff --git a/node/vue/vueProject/README.md b/node/vue/vueProject/README.md
new file mode 100644
index 0000000..e63a538
--- /dev/null
+++ b/node/vue/vueProject/README.md
@@ -0,0 +1,29 @@
+# vueProject
+
+This template should help get you started developing with Vue 3 in Vite.
+
+## Recommended IDE Setup
+
+[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
+
+## Customize configuration
+
+See [Vite Configuration Reference](https://vitejs.dev/config/).
+
+## Project Setup
+
+```sh
+npm install
+```
+
+### Compile and Hot-Reload for Development
+
+```sh
+npm run dev
+```
+
+### Compile and Minify for Production
+
+```sh
+npm run build
+```
diff --git a/node/vue/vueProject/index.html b/node/vue/vueProject/index.html
new file mode 100644
index 0000000..99f583a
--- /dev/null
+++ b/node/vue/vueProject/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Vite App
+
+
+
+
+
+
diff --git a/node/vue/vueProject/package-lock.json b/node/vue/vueProject/package-lock.json
new file mode 100644
index 0000000..e42ff09
--- /dev/null
+++ b/node/vue/vueProject/package-lock.json
@@ -0,0 +1,1402 @@
+{
+ "name": "vueproject",
+ "version": "0.0.0",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "vueproject",
+ "version": "0.0.0",
+ "dependencies": {
+ "axios": "^1.1.3",
+ "vue": "^3.2.41",
+ "vue-axios": "^3.5.1",
+ "vue-router": "^4.1.5"
+ },
+ "devDependencies": {
+ "@vitejs/plugin-vue": "^3.1.2",
+ "vite": "^3.1.8"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.20.1",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.1.tgz",
+ "integrity": "sha512-hp0AYxaZJhxULfM1zyp7Wgr+pSUKBcP3M+PHnSzWGdXOzg/kHWIgiUWARvubhUKGOEw3xqY4x+lyZ9ytBVcELw==",
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.13.tgz",
+ "integrity": "sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.13.tgz",
+ "integrity": "sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@vitejs/plugin-vue": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.2.0.tgz",
+ "integrity": "sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==",
+ "dev": true,
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^3.0.0",
+ "vue": "^3.2.25"
+ }
+ },
+ "node_modules/@vue/compiler-core": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.41.tgz",
+ "integrity": "sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==",
+ "dependencies": {
+ "@babel/parser": "^7.16.4",
+ "@vue/shared": "3.2.41",
+ "estree-walker": "^2.0.2",
+ "source-map": "^0.6.1"
+ }
+ },
+ "node_modules/@vue/compiler-dom": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.41.tgz",
+ "integrity": "sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw==",
+ "dependencies": {
+ "@vue/compiler-core": "3.2.41",
+ "@vue/shared": "3.2.41"
+ }
+ },
+ "node_modules/@vue/compiler-sfc": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.41.tgz",
+ "integrity": "sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w==",
+ "dependencies": {
+ "@babel/parser": "^7.16.4",
+ "@vue/compiler-core": "3.2.41",
+ "@vue/compiler-dom": "3.2.41",
+ "@vue/compiler-ssr": "3.2.41",
+ "@vue/reactivity-transform": "3.2.41",
+ "@vue/shared": "3.2.41",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.25.7",
+ "postcss": "^8.1.10",
+ "source-map": "^0.6.1"
+ }
+ },
+ "node_modules/@vue/compiler-ssr": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.41.tgz",
+ "integrity": "sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ==",
+ "dependencies": {
+ "@vue/compiler-dom": "3.2.41",
+ "@vue/shared": "3.2.41"
+ }
+ },
+ "node_modules/@vue/devtools-api": {
+ "version": "6.4.5",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.4.5.tgz",
+ "integrity": "sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ=="
+ },
+ "node_modules/@vue/reactivity": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.41.tgz",
+ "integrity": "sha512-9JvCnlj8uc5xRiQGZ28MKGjuCoPhhTwcoAdv3o31+cfGgonwdPNuvqAXLhlzu4zwqavFEG5tvaoINQEfxz+l6g==",
+ "dependencies": {
+ "@vue/shared": "3.2.41"
+ }
+ },
+ "node_modules/@vue/reactivity-transform": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.41.tgz",
+ "integrity": "sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==",
+ "dependencies": {
+ "@babel/parser": "^7.16.4",
+ "@vue/compiler-core": "3.2.41",
+ "@vue/shared": "3.2.41",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.25.7"
+ }
+ },
+ "node_modules/@vue/runtime-core": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.41.tgz",
+ "integrity": "sha512-0LBBRwqnI0p4FgIkO9q2aJBBTKDSjzhnxrxHYengkAF6dMOjeAIZFDADAlcf2h3GDALWnblbeprYYpItiulSVQ==",
+ "dependencies": {
+ "@vue/reactivity": "3.2.41",
+ "@vue/shared": "3.2.41"
+ }
+ },
+ "node_modules/@vue/runtime-dom": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.41.tgz",
+ "integrity": "sha512-U7zYuR1NVIP8BL6jmOqmapRAHovEFp7CSw4pR2FacqewXNGqZaRfHoNLQsqQvVQ8yuZNZtxSZy0FFyC70YXPpA==",
+ "dependencies": {
+ "@vue/runtime-core": "3.2.41",
+ "@vue/shared": "3.2.41",
+ "csstype": "^2.6.8"
+ }
+ },
+ "node_modules/@vue/server-renderer": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.41.tgz",
+ "integrity": "sha512-7YHLkfJdTlsZTV0ae5sPwl9Gn/EGr2hrlbcS/8naXm2CDpnKUwC68i1wGlrYAfIgYWL7vUZwk2GkYLQH5CvFig==",
+ "dependencies": {
+ "@vue/compiler-ssr": "3.2.41",
+ "@vue/shared": "3.2.41"
+ },
+ "peerDependencies": {
+ "vue": "3.2.41"
+ }
+ },
+ "node_modules/@vue/shared": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.41.tgz",
+ "integrity": "sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw=="
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "node_modules/axios": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz",
+ "integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==",
+ "dependencies": {
+ "follow-redirects": "^1.15.0",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "2.6.21",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
+ "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.13.tgz",
+ "integrity": "sha512-Cu3SC84oyzzhrK/YyN4iEVy2jZu5t2fz66HEOShHURcjSkOSAVL8C/gfUT+lDJxkVHpg8GZ10DD0rMHRPqMFaQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/android-arm": "0.15.13",
+ "@esbuild/linux-loong64": "0.15.13",
+ "esbuild-android-64": "0.15.13",
+ "esbuild-android-arm64": "0.15.13",
+ "esbuild-darwin-64": "0.15.13",
+ "esbuild-darwin-arm64": "0.15.13",
+ "esbuild-freebsd-64": "0.15.13",
+ "esbuild-freebsd-arm64": "0.15.13",
+ "esbuild-linux-32": "0.15.13",
+ "esbuild-linux-64": "0.15.13",
+ "esbuild-linux-arm": "0.15.13",
+ "esbuild-linux-arm64": "0.15.13",
+ "esbuild-linux-mips64le": "0.15.13",
+ "esbuild-linux-ppc64le": "0.15.13",
+ "esbuild-linux-riscv64": "0.15.13",
+ "esbuild-linux-s390x": "0.15.13",
+ "esbuild-netbsd-64": "0.15.13",
+ "esbuild-openbsd-64": "0.15.13",
+ "esbuild-sunos-64": "0.15.13",
+ "esbuild-windows-32": "0.15.13",
+ "esbuild-windows-64": "0.15.13",
+ "esbuild-windows-arm64": "0.15.13"
+ }
+ },
+ "node_modules/esbuild-android-64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.13.tgz",
+ "integrity": "sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-android-arm64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.13.tgz",
+ "integrity": "sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-darwin-64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.13.tgz",
+ "integrity": "sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-darwin-arm64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.13.tgz",
+ "integrity": "sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-freebsd-64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.13.tgz",
+ "integrity": "sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-freebsd-arm64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.13.tgz",
+ "integrity": "sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-32": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.13.tgz",
+ "integrity": "sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.13.tgz",
+ "integrity": "sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-arm": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.13.tgz",
+ "integrity": "sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-arm64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.13.tgz",
+ "integrity": "sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-mips64le": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.13.tgz",
+ "integrity": "sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-ppc64le": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.13.tgz",
+ "integrity": "sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-riscv64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.13.tgz",
+ "integrity": "sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-s390x": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.13.tgz",
+ "integrity": "sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-netbsd-64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.13.tgz",
+ "integrity": "sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-openbsd-64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.13.tgz",
+ "integrity": "sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-sunos-64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.13.tgz",
+ "integrity": "sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-windows-32": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.13.tgz",
+ "integrity": "sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-windows-64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.13.tgz",
+ "integrity": "sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-windows-arm64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.13.tgz",
+ "integrity": "sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.2",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
+ "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
+ "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
+ "dev": true,
+ "dependencies": {
+ "has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
+ "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
+ "dependencies": {
+ "sourcemap-codec": "^1.4.8"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+ "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+ },
+ "node_modules/postcss": {
+ "version": "8.4.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz",
+ "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ }
+ ],
+ "dependencies": {
+ "nanoid": "^3.3.4",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ },
+ "node_modules/resolve": {
+ "version": "1.22.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+ "dev": true,
+ "dependencies": {
+ "is-core-module": "^2.9.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "2.79.1",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz",
+ "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==",
+ "dev": true,
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sourcemap-codec": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/vite": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.2.tgz",
+ "integrity": "sha512-pLrhatFFOWO9kS19bQ658CnRYzv0WLbsPih6R+iFeEEhDOuYgYCX2rztUViMz/uy/V8cLCJvLFeiOK7RJEzHcw==",
+ "dev": true,
+ "dependencies": {
+ "esbuild": "^0.15.9",
+ "postcss": "^8.4.18",
+ "resolve": "^1.22.1",
+ "rollup": "^2.79.1"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ },
+ "peerDependencies": {
+ "less": "*",
+ "sass": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "less": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vue": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.41.tgz",
+ "integrity": "sha512-uuuvnrDXEeZ9VUPljgHkqB5IaVO8SxhPpqF2eWOukVrBnRBx2THPSGQBnVRt0GrIG1gvCmFXMGbd7FqcT1ixNQ==",
+ "dependencies": {
+ "@vue/compiler-dom": "3.2.41",
+ "@vue/compiler-sfc": "3.2.41",
+ "@vue/runtime-dom": "3.2.41",
+ "@vue/server-renderer": "3.2.41",
+ "@vue/shared": "3.2.41"
+ }
+ },
+ "node_modules/vue-axios": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/vue-axios/-/vue-axios-3.5.1.tgz",
+ "integrity": "sha512-PyiCHFZ30IGgzmW8mr8DkrzUqqDc5F1qtDfRVMDVx3q1zNSi3UxWKBHxtt/Gsz+HVJehxtc7vxyk+Vxr1Ok2BQ==",
+ "peerDependencies": {
+ "axios": ">=1.0.0",
+ "vue": "^3.0.0 || ^2.0.0"
+ }
+ },
+ "node_modules/vue-router": {
+ "version": "4.1.6",
+ "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.6.tgz",
+ "integrity": "sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==",
+ "dependencies": {
+ "@vue/devtools-api": "^6.4.5"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/posva"
+ },
+ "peerDependencies": {
+ "vue": "^3.2.0"
+ }
+ }
+ },
+ "dependencies": {
+ "@babel/parser": {
+ "version": "7.20.1",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.1.tgz",
+ "integrity": "sha512-hp0AYxaZJhxULfM1zyp7Wgr+pSUKBcP3M+PHnSzWGdXOzg/kHWIgiUWARvubhUKGOEw3xqY4x+lyZ9ytBVcELw=="
+ },
+ "@esbuild/android-arm": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.13.tgz",
+ "integrity": "sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw==",
+ "dev": true,
+ "optional": true
+ },
+ "@esbuild/linux-loong64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.13.tgz",
+ "integrity": "sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag==",
+ "dev": true,
+ "optional": true
+ },
+ "@vitejs/plugin-vue": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.2.0.tgz",
+ "integrity": "sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==",
+ "dev": true,
+ "requires": {}
+ },
+ "@vue/compiler-core": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.41.tgz",
+ "integrity": "sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==",
+ "requires": {
+ "@babel/parser": "^7.16.4",
+ "@vue/shared": "3.2.41",
+ "estree-walker": "^2.0.2",
+ "source-map": "^0.6.1"
+ }
+ },
+ "@vue/compiler-dom": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.41.tgz",
+ "integrity": "sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw==",
+ "requires": {
+ "@vue/compiler-core": "3.2.41",
+ "@vue/shared": "3.2.41"
+ }
+ },
+ "@vue/compiler-sfc": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.41.tgz",
+ "integrity": "sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w==",
+ "requires": {
+ "@babel/parser": "^7.16.4",
+ "@vue/compiler-core": "3.2.41",
+ "@vue/compiler-dom": "3.2.41",
+ "@vue/compiler-ssr": "3.2.41",
+ "@vue/reactivity-transform": "3.2.41",
+ "@vue/shared": "3.2.41",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.25.7",
+ "postcss": "^8.1.10",
+ "source-map": "^0.6.1"
+ }
+ },
+ "@vue/compiler-ssr": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.41.tgz",
+ "integrity": "sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ==",
+ "requires": {
+ "@vue/compiler-dom": "3.2.41",
+ "@vue/shared": "3.2.41"
+ }
+ },
+ "@vue/devtools-api": {
+ "version": "6.4.5",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.4.5.tgz",
+ "integrity": "sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ=="
+ },
+ "@vue/reactivity": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.41.tgz",
+ "integrity": "sha512-9JvCnlj8uc5xRiQGZ28MKGjuCoPhhTwcoAdv3o31+cfGgonwdPNuvqAXLhlzu4zwqavFEG5tvaoINQEfxz+l6g==",
+ "requires": {
+ "@vue/shared": "3.2.41"
+ }
+ },
+ "@vue/reactivity-transform": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.41.tgz",
+ "integrity": "sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==",
+ "requires": {
+ "@babel/parser": "^7.16.4",
+ "@vue/compiler-core": "3.2.41",
+ "@vue/shared": "3.2.41",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.25.7"
+ }
+ },
+ "@vue/runtime-core": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.41.tgz",
+ "integrity": "sha512-0LBBRwqnI0p4FgIkO9q2aJBBTKDSjzhnxrxHYengkAF6dMOjeAIZFDADAlcf2h3GDALWnblbeprYYpItiulSVQ==",
+ "requires": {
+ "@vue/reactivity": "3.2.41",
+ "@vue/shared": "3.2.41"
+ }
+ },
+ "@vue/runtime-dom": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.41.tgz",
+ "integrity": "sha512-U7zYuR1NVIP8BL6jmOqmapRAHovEFp7CSw4pR2FacqewXNGqZaRfHoNLQsqQvVQ8yuZNZtxSZy0FFyC70YXPpA==",
+ "requires": {
+ "@vue/runtime-core": "3.2.41",
+ "@vue/shared": "3.2.41",
+ "csstype": "^2.6.8"
+ }
+ },
+ "@vue/server-renderer": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.41.tgz",
+ "integrity": "sha512-7YHLkfJdTlsZTV0ae5sPwl9Gn/EGr2hrlbcS/8naXm2CDpnKUwC68i1wGlrYAfIgYWL7vUZwk2GkYLQH5CvFig==",
+ "requires": {
+ "@vue/compiler-ssr": "3.2.41",
+ "@vue/shared": "3.2.41"
+ }
+ },
+ "@vue/shared": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.41.tgz",
+ "integrity": "sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw=="
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "axios": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz",
+ "integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==",
+ "requires": {
+ "follow-redirects": "^1.15.0",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "csstype": {
+ "version": "2.6.21",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
+ "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
+ },
+ "esbuild": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.13.tgz",
+ "integrity": "sha512-Cu3SC84oyzzhrK/YyN4iEVy2jZu5t2fz66HEOShHURcjSkOSAVL8C/gfUT+lDJxkVHpg8GZ10DD0rMHRPqMFaQ==",
+ "dev": true,
+ "requires": {
+ "@esbuild/android-arm": "0.15.13",
+ "@esbuild/linux-loong64": "0.15.13",
+ "esbuild-android-64": "0.15.13",
+ "esbuild-android-arm64": "0.15.13",
+ "esbuild-darwin-64": "0.15.13",
+ "esbuild-darwin-arm64": "0.15.13",
+ "esbuild-freebsd-64": "0.15.13",
+ "esbuild-freebsd-arm64": "0.15.13",
+ "esbuild-linux-32": "0.15.13",
+ "esbuild-linux-64": "0.15.13",
+ "esbuild-linux-arm": "0.15.13",
+ "esbuild-linux-arm64": "0.15.13",
+ "esbuild-linux-mips64le": "0.15.13",
+ "esbuild-linux-ppc64le": "0.15.13",
+ "esbuild-linux-riscv64": "0.15.13",
+ "esbuild-linux-s390x": "0.15.13",
+ "esbuild-netbsd-64": "0.15.13",
+ "esbuild-openbsd-64": "0.15.13",
+ "esbuild-sunos-64": "0.15.13",
+ "esbuild-windows-32": "0.15.13",
+ "esbuild-windows-64": "0.15.13",
+ "esbuild-windows-arm64": "0.15.13"
+ }
+ },
+ "esbuild-android-64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.13.tgz",
+ "integrity": "sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-android-arm64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.13.tgz",
+ "integrity": "sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-darwin-64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.13.tgz",
+ "integrity": "sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-darwin-arm64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.13.tgz",
+ "integrity": "sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-freebsd-64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.13.tgz",
+ "integrity": "sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-freebsd-arm64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.13.tgz",
+ "integrity": "sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-linux-32": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.13.tgz",
+ "integrity": "sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-linux-64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.13.tgz",
+ "integrity": "sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-linux-arm": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.13.tgz",
+ "integrity": "sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-linux-arm64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.13.tgz",
+ "integrity": "sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-linux-mips64le": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.13.tgz",
+ "integrity": "sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-linux-ppc64le": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.13.tgz",
+ "integrity": "sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-linux-riscv64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.13.tgz",
+ "integrity": "sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-linux-s390x": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.13.tgz",
+ "integrity": "sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-netbsd-64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.13.tgz",
+ "integrity": "sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-openbsd-64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.13.tgz",
+ "integrity": "sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-sunos-64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.13.tgz",
+ "integrity": "sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-windows-32": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.13.tgz",
+ "integrity": "sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-windows-64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.13.tgz",
+ "integrity": "sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ==",
+ "dev": true,
+ "optional": true
+ },
+ "esbuild-windows-arm64": {
+ "version": "0.15.13",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.13.tgz",
+ "integrity": "sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg==",
+ "dev": true,
+ "optional": true
+ },
+ "estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
+ },
+ "follow-redirects": {
+ "version": "1.15.2",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
+ "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
+ },
+ "form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "is-core-module": {
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
+ "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "magic-string": {
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
+ "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
+ "requires": {
+ "sourcemap-codec": "^1.4.8"
+ }
+ },
+ "mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
+ },
+ "mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "requires": {
+ "mime-db": "1.52.0"
+ }
+ },
+ "nanoid": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+ "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
+ },
+ "path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+ },
+ "postcss": {
+ "version": "8.4.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz",
+ "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==",
+ "requires": {
+ "nanoid": "^3.3.4",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
+ }
+ },
+ "proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ },
+ "resolve": {
+ "version": "1.22.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.9.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ }
+ },
+ "rollup": {
+ "version": "2.79.1",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz",
+ "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==",
+ "dev": true,
+ "requires": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ },
+ "source-map-js": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
+ },
+ "sourcemap-codec": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
+ },
+ "supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true
+ },
+ "vite": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.2.tgz",
+ "integrity": "sha512-pLrhatFFOWO9kS19bQ658CnRYzv0WLbsPih6R+iFeEEhDOuYgYCX2rztUViMz/uy/V8cLCJvLFeiOK7RJEzHcw==",
+ "dev": true,
+ "requires": {
+ "esbuild": "^0.15.9",
+ "fsevents": "~2.3.2",
+ "postcss": "^8.4.18",
+ "resolve": "^1.22.1",
+ "rollup": "^2.79.1"
+ }
+ },
+ "vue": {
+ "version": "3.2.41",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.41.tgz",
+ "integrity": "sha512-uuuvnrDXEeZ9VUPljgHkqB5IaVO8SxhPpqF2eWOukVrBnRBx2THPSGQBnVRt0GrIG1gvCmFXMGbd7FqcT1ixNQ==",
+ "requires": {
+ "@vue/compiler-dom": "3.2.41",
+ "@vue/compiler-sfc": "3.2.41",
+ "@vue/runtime-dom": "3.2.41",
+ "@vue/server-renderer": "3.2.41",
+ "@vue/shared": "3.2.41"
+ }
+ },
+ "vue-axios": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/vue-axios/-/vue-axios-3.5.1.tgz",
+ "integrity": "sha512-PyiCHFZ30IGgzmW8mr8DkrzUqqDc5F1qtDfRVMDVx3q1zNSi3UxWKBHxtt/Gsz+HVJehxtc7vxyk+Vxr1Ok2BQ==",
+ "requires": {}
+ },
+ "vue-router": {
+ "version": "4.1.6",
+ "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.6.tgz",
+ "integrity": "sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==",
+ "requires": {
+ "@vue/devtools-api": "^6.4.5"
+ }
+ }
+ }
+}
diff --git a/node/vue/vueProject/package.json b/node/vue/vueProject/package.json
new file mode 100644
index 0000000..0632548
--- /dev/null
+++ b/node/vue/vueProject/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "vueproject",
+ "version": "0.0.0",
+ "scripts": {
+ "dev": "vite --host",
+ "build": "vite build",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "axios": "^1.1.3",
+ "vue": "^3.2.41",
+ "vue-axios": "^3.5.1",
+ "vue-router": "^4.1.5"
+ },
+ "devDependencies": {
+ "@vitejs/plugin-vue": "^3.1.2",
+ "vite": "^3.1.8"
+ }
+}
diff --git a/node/vue/vueProject/public/favicon.ico b/node/vue/vueProject/public/favicon.ico
new file mode 100644
index 0000000..df36fcf
Binary files /dev/null and b/node/vue/vueProject/public/favicon.ico differ
diff --git a/node/vue/vueProject/src/App.vue b/node/vue/vueProject/src/App.vue
new file mode 100644
index 0000000..a9c7b4f
--- /dev/null
+++ b/node/vue/vueProject/src/App.vue
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
diff --git a/node/vue/vueProject/src/api/config.js b/node/vue/vueProject/src/api/config.js
new file mode 100644
index 0000000..8fd091c
--- /dev/null
+++ b/node/vue/vueProject/src/api/config.js
@@ -0,0 +1,6 @@
+export const APISettings = {
+ token: '',
+ headers: new Headers({
+ 'Accept': 'application/json'
+ }),
+}
\ No newline at end of file
diff --git a/node/vue/vueProject/src/assets/base.css b/node/vue/vueProject/src/assets/base.css
new file mode 100644
index 0000000..71dc55a
--- /dev/null
+++ b/node/vue/vueProject/src/assets/base.css
@@ -0,0 +1,74 @@
+/* color palette from */
+:root {
+ --vt-c-white: #ffffff;
+ --vt-c-white-soft: #f8f8f8;
+ --vt-c-white-mute: #f2f2f2;
+
+ --vt-c-black: #181818;
+ --vt-c-black-soft: #222222;
+ --vt-c-black-mute: #282828;
+
+ --vt-c-indigo: #2c3e50;
+
+ --vt-c-divider-light-1: rgba(60, 60, 60, 0.29);
+ --vt-c-divider-light-2: rgba(60, 60, 60, 0.12);
+ --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65);
+ --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48);
+
+ --vt-c-text-light-1: var(--vt-c-indigo);
+ --vt-c-text-light-2: rgba(60, 60, 60, 0.66);
+ --vt-c-text-dark-1: var(--vt-c-white);
+ --vt-c-text-dark-2: rgba(235, 235, 235, 0.64);
+}
+
+/* semantic color variables for this project */
+:root {
+ --color-background: var(--vt-c-white);
+ --color-background-soft: var(--vt-c-white-soft);
+ --color-background-mute: var(--vt-c-white-mute);
+
+ --color-border: var(--vt-c-divider-light-2);
+ --color-border-hover: var(--vt-c-divider-light-1);
+
+ --color-heading: var(--vt-c-text-light-1);
+ --color-text: var(--vt-c-text-light-1);
+
+ --section-gap: 160px;
+}
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ --color-background: var(--vt-c-black);
+ --color-background-soft: var(--vt-c-black-soft);
+ --color-background-mute: var(--vt-c-black-mute);
+
+ --color-border: var(--vt-c-divider-dark-2);
+ --color-border-hover: var(--vt-c-divider-dark-1);
+
+ --color-heading: var(--vt-c-text-dark-1);
+ --color-text: var(--vt-c-text-dark-2);
+ }
+}
+
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+ margin: 0;
+ position: relative;
+ font-weight: normal;
+}
+
+body {
+ min-height: 100vh;
+ color: var(--color-text);
+ background: var(--color-background);
+ transition: color 0.5s, background-color 0.5s;
+ line-height: 1.6;
+ font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu,
+ Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
+ font-size: 15px;
+ text-rendering: optimizeLegibility;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
diff --git a/node/vue/vueProject/src/assets/logo.svg b/node/vue/vueProject/src/assets/logo.svg
new file mode 100644
index 0000000..bc826fe
--- /dev/null
+++ b/node/vue/vueProject/src/assets/logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/node/vue/vueProject/src/assets/main.css b/node/vue/vueProject/src/assets/main.css
new file mode 100644
index 0000000..e8667cd
--- /dev/null
+++ b/node/vue/vueProject/src/assets/main.css
@@ -0,0 +1,35 @@
+@import './base.css';
+
+#app {
+ max-width: 1280px;
+ margin: 0 auto;
+ padding: 2rem;
+
+ font-weight: normal;
+}
+
+a,
+.green {
+ text-decoration: none;
+ color: hsla(160, 100%, 37%, 1);
+ transition: 0.4s;
+}
+
+@media (hover: hover) {
+ a:hover {
+ background-color: hsla(160, 100%, 37%, 0.2);
+ }
+}
+
+@media (min-width: 1024px) {
+ body {
+ display: flex;
+ place-items: center;
+ }
+
+ #app {
+ display: grid;
+ grid-template-columns: 1fr 1fr;
+ padding: 0 2rem;
+ }
+}
diff --git a/node/vue/vueProject/src/components/HelloWorldItem.vue b/node/vue/vueProject/src/components/HelloWorldItem.vue
new file mode 100644
index 0000000..f5c722e
--- /dev/null
+++ b/node/vue/vueProject/src/components/HelloWorldItem.vue
@@ -0,0 +1,57 @@
+
+
+
Succès
+
+ Test liaison docker entre conteneurs :
+ {{ json }}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/node/vue/vueProject/src/components/TheWelcome.vue b/node/vue/vueProject/src/components/TheWelcome.vue
new file mode 100644
index 0000000..5e64625
--- /dev/null
+++ b/node/vue/vueProject/src/components/TheWelcome.vue
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+ Documentation
+
+ Vue’s
+ official documentation
+ provides you with all information you need to get started.
+
+
+
+
+
+
+ Tooling
+
+ This project is served and bundled with
+ Vite . The
+ recommended IDE setup is
+ VSCode +
+ Volar . If
+ you need to test your components and web pages, check out
+ Cypress and
+ Cypress Component Testing .
+
+
+
+ More instructions are available in README.md
.
+
+
+
+
+
+
+ Ecosystem
+
+ Get official tools and libraries for your project:
+ Pinia ,
+ Vue Router ,
+ Vue Test Utils , and
+ Vue Dev Tools . If
+ you need more resources, we suggest paying
+ Awesome Vue
+ a visit.
+
+
+
+
+
+
+ Community
+
+ Got stuck? Ask your question on
+ Vue Land , our official
+ Discord server, or
+ StackOverflow . You should also subscribe to
+ our mailing list and follow
+ the official
+ @vuejs
+ twitter account for latest news in the Vue world.
+
+
+
+
+
+
+ Support Vue
+
+ As an independent project, Vue relies on community backing for its sustainability. You can help
+ us by
+ becoming a sponsor .
+
+
diff --git a/node/vue/vueProject/src/components/WelcomeItem.vue b/node/vue/vueProject/src/components/WelcomeItem.vue
new file mode 100644
index 0000000..a5eca70
--- /dev/null
+++ b/node/vue/vueProject/src/components/WelcomeItem.vue
@@ -0,0 +1,85 @@
+
+
+
+
+
diff --git a/node/vue/vueProject/src/components/icons/IconCommunity.vue b/node/vue/vueProject/src/components/icons/IconCommunity.vue
new file mode 100644
index 0000000..2dc8b05
--- /dev/null
+++ b/node/vue/vueProject/src/components/icons/IconCommunity.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/node/vue/vueProject/src/components/icons/IconDocumentation.vue b/node/vue/vueProject/src/components/icons/IconDocumentation.vue
new file mode 100644
index 0000000..6d4791c
--- /dev/null
+++ b/node/vue/vueProject/src/components/icons/IconDocumentation.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/node/vue/vueProject/src/components/icons/IconEcosystem.vue b/node/vue/vueProject/src/components/icons/IconEcosystem.vue
new file mode 100644
index 0000000..c3a4f07
--- /dev/null
+++ b/node/vue/vueProject/src/components/icons/IconEcosystem.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/node/vue/vueProject/src/components/icons/IconSupport.vue b/node/vue/vueProject/src/components/icons/IconSupport.vue
new file mode 100644
index 0000000..7452834
--- /dev/null
+++ b/node/vue/vueProject/src/components/icons/IconSupport.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/node/vue/vueProject/src/components/icons/IconTooling.vue b/node/vue/vueProject/src/components/icons/IconTooling.vue
new file mode 100644
index 0000000..660598d
--- /dev/null
+++ b/node/vue/vueProject/src/components/icons/IconTooling.vue
@@ -0,0 +1,19 @@
+
+
+
+
+
+
diff --git a/node/vue/vueProject/src/main.js b/node/vue/vueProject/src/main.js
new file mode 100644
index 0000000..eedade8
--- /dev/null
+++ b/node/vue/vueProject/src/main.js
@@ -0,0 +1,11 @@
+import { createApp } from 'vue'
+import App from './App.vue'
+import router from './router'
+
+import './assets/main.css'
+
+const app = createApp(App)
+
+app.use(router)
+
+app.mount('#app')
diff --git a/node/vue/vueProject/src/router/index.js b/node/vue/vueProject/src/router/index.js
new file mode 100644
index 0000000..70444b1
--- /dev/null
+++ b/node/vue/vueProject/src/router/index.js
@@ -0,0 +1,28 @@
+import { createRouter, createWebHistory } from 'vue-router'
+import HomeView from '../views/HomeView.vue'
+
+const router = createRouter({
+ history: createWebHistory(import.meta.env.BASE_URL),
+ routes: [
+ {
+ path: '/',
+ name: 'home',
+ component: HomeView
+ },
+ {
+ path: '/about',
+ name: 'about',
+ // route level code-splitting
+ // this generates a separate chunk (About.[hash].js) for this route
+ // which is lazy-loaded when the route is visited.
+ component: () => import('../views/AboutView.vue')
+ },
+ {
+ path: '/helloworld',
+ name: 'helloworld',
+ component: () => import('../views/HelloWorld.vue')
+ }
+ ]
+})
+
+export default router
diff --git a/node/vue/vueProject/src/services/RestService.js b/node/vue/vueProject/src/services/RestService.js
new file mode 100644
index 0000000..1efb607
--- /dev/null
+++ b/node/vue/vueProject/src/services/RestService.js
@@ -0,0 +1,20 @@
+import axios from 'axios'
+
+const API_URL='http://0.0.0.0:8000/api';
+
+class RestService {
+ makeGETRequest(url, data, header) {
+
+ return new Promise( (resolve, reject) => {
+ axios.get(API_URL + url, data, header)
+ .then(response => {
+ return resolve(response);
+ })
+ .catch( error => {
+ reject( error );
+ } );
+ } );
+ }
+}
+
+export default new RestService;
\ No newline at end of file
diff --git a/node/vue/vueProject/src/views/AboutView.vue b/node/vue/vueProject/src/views/AboutView.vue
new file mode 100644
index 0000000..756ad2a
--- /dev/null
+++ b/node/vue/vueProject/src/views/AboutView.vue
@@ -0,0 +1,15 @@
+
+
+
This is an about page
+
+
+
+
diff --git a/node/vue/vueProject/src/views/HelloWorld.vue b/node/vue/vueProject/src/views/HelloWorld.vue
new file mode 100644
index 0000000..c179118
--- /dev/null
+++ b/node/vue/vueProject/src/views/HelloWorld.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/node/vue/vueProject/src/views/HomeView.vue b/node/vue/vueProject/src/views/HomeView.vue
new file mode 100644
index 0000000..6bb706f
--- /dev/null
+++ b/node/vue/vueProject/src/views/HomeView.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/node/vue/vueProject/vite.config.js b/node/vue/vueProject/vite.config.js
new file mode 100644
index 0000000..a41ab67
--- /dev/null
+++ b/node/vue/vueProject/vite.config.js
@@ -0,0 +1,17 @@
+import { fileURLToPath, URL } from 'node:url'
+
+import { defineConfig } from 'vite'
+import vue from '@vitejs/plugin-vue'
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ server: { // <-- this object is added
+ port: 8081
+ },
+ plugins: [vue()],
+ resolve: {
+ alias: {
+ '@': fileURLToPath(new URL('./src', import.meta.url))
+ }
+ }
+})