Wayne 3 years ago
commit bfa85d546c

@ -0,0 +1,3 @@
> 1%
last 2 versions
not dead

@ -0,0 +1,15 @@
NODE_ENV = production
VUE_ENV = development
BASE_URL = /home
VUE_APP_BASE_URL = https://utel.vip
VUE_APP_LINE_LIFF_ID = 1656907652-p38ddKzQ
VUE_APP_SEND_URL = https://liff.line.me/1656907652-VJq33Pdg
VUE_APP_API_URL = https://utel.vip/appapi/v1
VUE_APP_IMAGE_URL = https://utel.vip/storage

@ -0,0 +1,13 @@
NODE_ENV = production
VUE_ENV = production
VUE_APP_BASE_URL = https://utel.vip
VUE_APP_LINE_LIFF_ID = 1656969446-nQYlz77R
VUE_APP_SEND_URL = https://liff.line.me/1656969446-mg36Maav
VUE_APP_API_URL = https://utel.vip/appapi/v1
VUE_APP_IMAGE_URL = https://utel.vip/storage

@ -0,0 +1,13 @@
NODE_ENV = production
VUE_ENV = stage
VUE_APP_BASE_URL = https://utel.zltest.com.tw
VUE_APP_LINE_LIFF_ID = 1656948609-xMp7dWAz
VUE_APP_SEND_URL = https://liff.line.me/1656948609-BYr8Nynp
VUE_APP_API_URL = https://utel.zltest.com.tw/appapi/v1
VUE_APP_IMAGE_URL = https://utel.zltest.com.tw/storage

@ -0,0 +1,11 @@
NODE_ENV = production
VUE_ENV = production
VUE_APP_LINE_LIFF_ID = 1657184427-8bq9debn
VUE_APP_SEND_URL = https://liff.line.me/1657184427-9GayRMQl
VUE_APP_API_URL = https://card.u168.vip/appapi/v1
VUE_APP_IMAGE_URL = https://card.u168.vip/storage

23
.gitignore vendored

@ -0,0 +1,23 @@
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

@ -0,0 +1,19 @@
# ecard2
## Project setup
```
npm install
```
### Compiles and hot-reloads for development
```
npm run serve
```
### Compiles and minifies for production
```
npm run build
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).

@ -0,0 +1,15 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
],
plugins: [
[
"import",
{
"libraryName": "vant",
"libraryDirectory": "es",
"style": true
}
]
]
}

30079
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -0,0 +1,48 @@
{
"name": "utel",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"build:u168": "vue-cli-service build --mode u168",
"build:dev": "vue-cli-service build --mode development",
"build:slash": "vue-cli-service build --mode slash",
"build:sta": "vue-cli-service build --mode stage",
"build:h888": "vue-cli-service build --mode h888"
},
"dependencies": {
"@line/liff": "^2.18.2",
"@soerenmartius/vue3-clipboard": "^0.1.2",
"axios": "^1.3.3",
"colorthief": "^2.3.2",
"core-js": "^3.6.5",
"ismobilejs": "^1.1.1",
"js-cookie": "^3.0.1",
"lodash": "^4.17.21",
"moment": "^2.29.1",
"nprogress": "^0.2.0",
"pwacompat": "^2.0.17",
"qrcode.vue": "^3.3.3",
"register-service-worker": "^1.7.1",
"secure-ls": "^1.2.6",
"vant": "^3.4.5",
"vue": "3.2.41",
"vue-advanced-cropper": "^2.8.1",
"vue-cropper": "^1.0.3",
"vue-router": "^4.0.0-0",
"vuex": "^4.0.0-0",
"vuex-persistedstate": "^4.1.0"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.5.15",
"@vue/cli-plugin-pwa": "~4.5.15",
"@vue/cli-plugin-router": "~4.5.15",
"@vue/cli-plugin-vuex": "~4.5.15",
"@vue/cli-service": "~4.5.15",
"@vue/compiler-sfc": "3.2.41",
"babel-plugin-import": "^1.13.3",
"less": "^3.0.4",
"less-loader": "^5.0.0"
}
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 B

@ -0,0 +1,41 @@
<!DOCTYPE html>
<html lang="zh-TW">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<!-- <link rel="manifest" href="manifest.json"> -->
<!-- <meta name="apple-mobile-web-app-capable" content="yes"> -->
<!-- <meta name="apple-mobile-web-app-status-bar-style" content="black"> -->
<!-- <meta name="apple-mobile-web-app-title" content="UTel電子名片"> -->
<!-- <link rel="apple-touch-icon" href="icon-192x192.png" sizes="192x192"> -->
<link rel="stylesheet" href="./css/flex2html.css">
<link rel="stylesheet" href="https://at.alicdn.com/t/font_3193091_nixfhsddmnl.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css" integrity="sha384-zCbKRCUGaJDkqS1kPbPd7TveP5iyJE0EjAuZQTgFLD2ylzuqKfdKlfG/eSrtxUkn" crossorigin="anonymous">
</head>
<body>
<noscript>
<strong>UTel電子名片</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
<script src="./js/flex2html.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/pwacompat@2.0.15/pwacompat.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-fQybjgWLrvvRgtW6bFlB7jaZrFsaBXjsOMm/tB9LTS58ONXgqbR9W8oWht/amnpF" crossorigin="anonymous"></script>
<script>
var iOS = (/iP(hone|od|ad)/.test(navigator.userAgent));
if (iOS) {
var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/);
var iOSversion = parseInt(v[1], 10);
if (iOSversion < 13) {
document.querySelector('link[rel="manifest"]').setAttribute("rel", "no-on-ios");
}
}
</script>
</body>
</html>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,2 @@
User-agent: *
Disallow:

@ -0,0 +1,25 @@
<template>
<Suspense>
<template #default>
<router-view/>
</template>
<template #fallback>
Loading
</template>
</Suspense>
</template>
<script setup>
import { getSiteConfig } from './api'
import { useStore } from 'vuex'
const store = useStore()
</script>
<style lang="less">
#app{
margin-bottom: 40px;
}
</style>

@ -0,0 +1,116 @@
import axios from 'axios'
import store from '../store'
const instance = axios.create({
baseURL: process.env.VUE_APP_API_URL,
timeout: 5000,
withCredentials: true
})
instance.interceptors.request.use(
config => {
// if(config.data.showloading || config.params.showloading){
// console.log('showloading')
// }
if (sessionStorage.getItem('token')) { // 判斷是否存在token如果存在的話則每個http header都加上token
config.headers.Authorization = `${sessionStorage.getItem('token')}`;
}
if (config.method === 'post') {
if(sessionStorage.getItem('uid')){
config.data = {
uid: sessionStorage.getItem('uid'),
...config.data
}
}
// if(config.data.showloading){
// console.log('showloading')
// delete config.data.showloading
// }
} else if (config.method === 'get') {
config.params = {
uid: sessionStorage.getItem('uid'),
...config.params
}
// if(config.params.showloading){
// console.log('showloading')
// delete config.params.showloading
// }
}
return config;
},
err => {
return Promise.reject(err);
}
);
instance.interceptors.response.use(
response => {
refreshToken(response)
return response
},
error => {
if (error.response) {
switch (error.response.status) {
case 401:
// 返回 401 清除token資訊並跳轉到登入頁面
store.commit(types.LOGOUT);
router.replace({
path: 'login',
query: {redirect: router.currentRoute.fullPath}
})
}
}
return Promise.reject(error.response.data) // 返回介面返回的錯誤資訊
});
function refreshToken(response) {
let token = response.headers.authorization
if (token) {
console.log('change token')
sessionStorage.setItem('token', token);
}
}
export default async function ajax( url , data={} , type='GET' ){
let result
if(type.toUpperCase() === 'GET' ){
let queryStr = ''
Object.keys(data).forEach(key=>{
queryStr += key + '=' + data[key] + '&'
})
if(queryStr !== ''){
queryStr = queryStr.substring(0,queryStr.lastIndexOf('&'))
url += '?' + queryStr
}
result = await instance.get(url)
}else{
result = await instance.post(url,data)
}
return result.data
}
/*生成指定長度的隨機數*/
function randomCode(length) {
let chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
let result = "";
for (let i = 0; i < length; i++) {
let index = Math.ceil(Math.random() * 9);
result += chars[index];
}
return result;
}

@ -0,0 +1,56 @@
import ajax from "./ajax";
export const getSiteConfig = async () => ajax(`/auth/getSiteConfig`);
export const login = async (params) => ajax(`/auth/login`, params, "POST");
export const bindCard = async (params) =>
ajax(`/auth/bindCard`, params, "POST");
export const checkLineId = async (lineid) =>
ajax(`/auth/checkLineId`, { lineid }, "GET");
export const getUserInfo = async () => ajax(`/user/getUserInfo`);
export const setUserLevel = async (level) =>
ajax(`/user/setUserLevel`, { level }, "POST");
export const setUserTpl = async (tpl) =>
ajax(`/user/setUserTpl`, { tpl }, "POST");
export const register = async (userInfo) =>
ajax(`/auth/register`, userInfo, "POST");
export const updateCard = async (userInfo) =>
ajax(`/card/updateCard`, userInfo, "POST");
export const updateCusCard = async (params) =>
ajax(`/card/updateCusCard`, params, "POST");
//取得名片資料
export const getCard = async (params) => ajax(`/card/getCard`, params, "GET");
export const getCusCard = async (params) =>
ajax(`/card/getCusCard`, params, "GET");
export const getVipCard = async (params) =>
ajax(`/card/getVipCard`, params, "GET");
export const getCard1 = async (userid) =>
ajax(`/card/getCard1`, { userid }, "GET");
export const updateSendCount = async (userid) =>
ajax(`/user/updateSendCount`, { userid }, "GET");
//授權使用者
export const setAuthUser = async (params) =>
ajax(`/user/setAuthUser`, params , "POST");
export const getAuthUsers = async () =>
ajax(`/user/getAuthUsers`);
export const delAuthUser = async (id) =>
ajax(`/user/delAuthUser`,{id});
export const getAuthList = async () =>
ajax(`/user/getAuthList`);

@ -0,0 +1,13 @@
html{
// width: 100%;
}
body{
max-width: 500px;
margin: 0 auto;
}
:root{
--van-nav-bar-background-color: #000;
--van-nav-bar-title-text-color: #FFF;
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,349 @@
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15; /* 1 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0;
}
/**
* Render the `main` element consistently in IE.
*/
main {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline;
}
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none;
}
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none;
}

@ -0,0 +1,222 @@
@charset "utf-8";
body,
div,
dl,
footer,
html,
img,
menu,
p,
span {
margin: 0;
padding: 0;
border: 0;
}
body {
font-size: 14px;
line-height: 1.5;
-webkit-user-select: none;
-webkit-touch-callout: none;
background-color: #fffff6 !important;
padding-bottom: 49px;
}
a,
a:hover,
a:visited {
color: #999;
text-decoration: none;
outline: 0;
}
ul {
margin: 0;
padding: 0;
list-style-type: none;
}
@-webkit-keyframes pop-hide {
0% {
-webkit-transform: scale(0.8);
opacity: 0;
}
2% {
-webkit-transform: scale(1.1);
opacity: 1;
}
6% {
-webkit-transform: scale(1);
}
90% {
-webkit-transform: scale(1);
opacity: 1;
}
100% {
-webkit-transform: scale(0.9);
opacity: 0;
}
}
@-webkit-keyframes pop {
0% {
-webkit-transform: scale(0.8);
opacity: 0;
}
40% {
-webkit-transform: scale(1.1);
opacity: 1;
}
100% {
-webkit-transform: scale(1);
}
}
@-webkit-keyframes slideup {
0% {
-webkit-transform: translateY(100%);
}
40% {
-webkit-transform: translateY(-10%);
}
100% {
-webkit-transform: translateY(0);
}
}
.left {
float: left;
}
.rel {
position: relative;
}
a,
a:visited {
text-decoration: none;
color: #333;
}
.text-icon {
font-family: base_icon;
display: inline-block;
vertical-align: middle;
font-style: normal;
}
.my-account {
color: #333;
position: relative;
display: block;
width: 100%;
position: relative;
height: 6rem;
}
.account-bg {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
z-index: -1;
}
.account-bg img {
height: 100%;
width: 100%;
}
.my-account > img {
height: 100%;
position: absolute;
right: 0;
top: 0;
z-index: 0;
}
.my-account .user-info {
z-index: 1;
position: absolute;
top: 20px;
left: 70px;
box-sizing: border-box;
padding-left: 1.9em;
font-size: 13px;
color: #666;
}
.my-account .uname {
font-size: 18px;
color: #fff;
margin-top: 0.1em;
margin-bottom: 0.2em;
text-shadow: 0.07em 0.07em #333;
}
.my-account .umoney {
color: #fff;
margin-bottom: 0.06em;
text-shadow: 0.05em 0.05em #333;
}
.my-account .avatar_box {
position: absolute;
top: 1em;
left: 1em;
width: 5em;
height: 5em;
z-index: 1;
border-radius: 100%;
border: 2px solid #ffd44a;
-moz-border-radius: 100%;
-webkit-border-radius: 100%;
overflow: hidden;
}
.my-account .avater {
width: 100%;
height: 100%;
}
.phone {
width: 130px;
float: left;
z-index: 100;
}
.set {
position: absolute;
width: 60px;
right: 10px;
top: 20px;
z-index: 100;
color: #fff;
border: none;
border-radius: 15px;
background-color: #fdaf00;
text-align: center;
margin-top: -7px;
padding: 2px 2px;
}
.set a {
color: #fff !important;
}
.dl01 {
padding: 0 10px 10px;
background-color: #fff;
margin-top: 10px;
}
.titleImg {
width: 25px;
height: 25px;
margin-right: 10px;
margin-top: 15px;
float: left;
}
.dl02 {
padding: 0 10px;
background-color: #fff;
margin-top: 10px;
margin-bottom: 10px;
}
.dl02 a .menu {
border-bottom: 1px solid #ffe9b7;
background: url(../images/right.png) no-repeat right center;
background-size: 10px;
}
.dl02 a .menu div {
padding-top: 16px;
font-size: 15px;
color: #666;
}
.dl02 a .menu div.left {
float: left;
width: 35%;
}
.dl02 a .menu div.right {
float: left;
text-align: right;
width: 50%;
padding-right: 5px;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1018 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 683 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save