From 83fba1de9a13587f86c9d104b30bd907b6487880 Mon Sep 17 00:00:00 2001 From: DogeCoding Date: Mon, 15 Jan 2018 02:02:32 +0800 Subject: [PATCH 1/8] First commit --- placeholder | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 placeholder diff --git a/placeholder b/placeholder new file mode 100644 index 0000000..e69de29 From 1da7d8f720b0e24aefd43746cffbf792b30b54de Mon Sep 17 00:00:00 2001 From: DogeCoding Date: Mon, 15 Jan 2018 02:02:33 +0800 Subject: [PATCH 2/8] Site updated: 2018-01-15 02:02:32 --- .../index.html" | 522 ++++ .../index.html" | 516 ++++ .../index.html" | 545 ++++ .../index.html" | 496 +++ .../index.html" | 560 ++++ .../index.html" | 748 +++++ .../index.html" | 554 ++++ .../index.html" | 575 ++++ .../index.html" | 663 ++++ .../index.html" | 557 ++++ .../index.html" | 528 ++++ .../index.html" | 561 ++++ .../index.html | 521 ++++ .../index.html | 605 ++++ .../index.html" | 549 ++++ .../index.html" | 507 ++++ .../index.html" | 556 ++++ .../index.html" | 805 +++++ .../index.html" | 546 ++++ .../index.html" | 671 +++++ .../index.html" | 547 ++++ .../index.html" | 527 ++++ .../index.html" | 508 ++++ .../index.html" | 519 ++++ .../index.html" | 512 ++++ 2017/08/02/title: Dispatch/index.html | 530 ++++ .../index.html" | 511 ++++ .../index.html" | 509 ++++ .../index.html" | 522 ++++ .../index.html" | 503 ++++ .../index.html" | 523 ++++ 2017/08/30/title: Brew Instruction/index.html | 552 ++++ 404.html | 9 + CNAME | 1 + about/index.html | 425 +++ archives/2017/05/index.html | 345 +++ archives/2017/07/index.html | 549 ++++ archives/2017/07/page/2/index.html | 555 ++++ archives/2017/07/page/3/index.html | 561 ++++ archives/2017/07/page/4/index.html | 391 +++ archives/2017/08/index.html | 561 ++++ archives/2017/08/page/2/index.html | 357 +++ archives/2017/index.html | 561 ++++ archives/2017/page/2/index.html | 553 ++++ archives/2017/page/3/index.html | 555 ++++ archives/2017/page/4/index.html | 561 ++++ archives/2017/page/5/index.html | 457 +++ archives/index.html | 561 ++++ archives/page/2/index.html | 553 ++++ archives/page/3/index.html | 555 ++++ archives/page/4/index.html | 561 ++++ archives/page/5/index.html | 457 +++ atom.xml | 874 ++++++ baidu_verify_pl2cC4IAHr.html | 425 +++ categories/Algorithm/index.html | 588 ++++ categories/Algorithm/page/2/index.html | 384 +++ categories/CPP/index.html | 452 +++ categories/Network/index.html | 384 +++ categories/OS/index.html | 412 +++ categories/Shell/index.html | 418 +++ categories/iOS/index.html | 594 ++++ categories/iOS/page/2/index.html | 588 ++++ categories/iOS/page/3/index.html | 424 +++ categories/index.html | 1426 +++++++++ content.json | 1 + css/fonts/fontawesome/FontAwesome.otf | Bin 0 -> 134808 bytes css/fonts/fontawesome/fontawesome-webfont.eot | Bin 0 -> 165742 bytes css/fonts/fontawesome/fontawesome-webfont.svg | 2671 +++++++++++++++++ css/fonts/fontawesome/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../fontawesome/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../fontawesome/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes css/fonts/roboto/Roboto-Bold.eot | Bin 0 -> 20966 bytes css/fonts/roboto/Roboto-Bold.ttf | Bin 0 -> 127744 bytes css/fonts/roboto/Roboto-Bold.woff | Bin 0 -> 62876 bytes css/fonts/roboto/Roboto-Bold.woff2 | Bin 0 -> 49976 bytes css/fonts/roboto/Roboto-Light.eot | Bin 0 -> 20940 bytes css/fonts/roboto/Roboto-Light.ttf | Bin 0 -> 126792 bytes css/fonts/roboto/Roboto-Light.woff | Bin 0 -> 62316 bytes css/fonts/roboto/Roboto-Light.woff2 | Bin 0 -> 49380 bytes css/fonts/roboto/Roboto-Medium.eot | Bin 0 -> 21364 bytes css/fonts/roboto/Roboto-Medium.ttf | Bin 0 -> 127488 bytes css/fonts/roboto/Roboto-Medium.woff | Bin 0 -> 62980 bytes css/fonts/roboto/Roboto-Medium.woff2 | Bin 0 -> 50224 bytes css/fonts/roboto/Roboto-Regular.eot | Bin 0 -> 21320 bytes css/fonts/roboto/Roboto-Regular.ttf | Bin 0 -> 126072 bytes css/fonts/roboto/Roboto-Regular.woff | Bin 0 -> 61736 bytes css/fonts/roboto/Roboto-Regular.woff2 | Bin 0 -> 49236 bytes css/fonts/roboto/Roboto-Thin.eot | Bin 0 -> 21659 bytes css/fonts/roboto/Roboto-Thin.ttf | Bin 0 -> 127584 bytes css/fonts/roboto/Roboto-Thin.woff | Bin 0 -> 61628 bytes css/fonts/roboto/Roboto-Thin.woff2 | Bin 0 -> 48524 bytes css/style.css | 11 + img/alipay.jpg | Bin 0 -> 236290 bytes img/avatar.jpg | Bin 0 -> 4320 bytes img/brand.jpg | Bin 0 -> 33276 bytes img/cc.png | Bin 0 -> 444 bytes img/img-err.png | Bin 0 -> 2646 bytes img/img-loading.png | Bin 0 -> 2104 bytes img/wechat.jpg | Bin 0 -> 306192 bytes index.html | 872 ++++++ js/main.js | 506 ++++ js/main.min.js | 1 + js/search.js | 141 + js/search.min.js | 1 + page/2/index.html | 834 +++++ page/3/index.html | 843 ++++++ page/4/index.html | 419 +++ placeholder | 0 search/index.html | 426 +++ tags/Bug/index.html | 438 +++ tags/LeetCode/index.html | 438 +++ tags/OC/index.html | 574 ++++ tags/Reading-Notes/index.html | 472 +++ tags/STL/index.html | 472 +++ tags/Swift/index.html | 506 ++++ tags/Tool/index.html | 506 ++++ tags/UI/index.html | 404 +++ tags/index.html | 1565 ++++++++++ .../\345\211\221\346\214\207Offer/index.html" | 506 ++++ .../index.html" | 404 +++ "tags/\350\275\254\350\275\275/index.html" | 472 +++ 121 files changed, 47428 insertions(+) create mode 100644 "2017/05/13/title: \345\212\250\346\200\201\350\247\204\345\210\222\357\274\210Dynamic Programming\357\274\211/index.html" create mode 100644 "2017/07/06/title: \345\211\221\346\214\207Offer \342\200\224\342\200\224 \345\244\215\346\235\202\351\223\276\350\241\250\347\232\204\345\244\215\345\210\266/index.html" create mode 100644 "2017/07/17/title: STL\345\270\270\350\247\201\347\224\250\346\263\225 \342\200\224 queue/index.html" create mode 100644 "2017/07/17/title: \345\270\270\347\224\250\345\256\217\345\256\232\344\271\211/index.html" create mode 100644 "2017/07/17/title: \346\217\222\344\273\266\347\256\241\347\220\206\342\200\224\342\200\224Vundle/index.html" create mode 100644 "2017/07/17/title: \346\274\253\350\260\210iOS\347\263\273\345\210\227\344\271\213\357\274\232\345\206\205\345\255\230\347\256\241\347\220\206/index.html" create mode 100644 "2017/07/17/title: \346\274\253\350\260\210iOS\347\263\273\345\210\227\344\271\213\357\274\232\345\244\232\347\272\277\347\250\213/index.html" create mode 100644 "2017/07/21/title: STL\345\270\270\350\247\201\347\224\250\346\263\225 \342\200\224 map/index.html" create mode 100644 "2017/07/21/title: STL\345\270\270\350\247\201\347\224\250\346\263\225 \342\200\224 vector/index.html" create mode 100644 "2017/07/23/title: CocoaPods \345\256\211\350\243\205\345\217\212\344\270\200\350\210\254\344\275\277\347\224\250/index.html" create mode 100644 "2017/07/23/title: OC\344\270\255ARC forbids explicit message send of '...'\351\224\231\350\257\257 /index.html" create mode 100644 "2017/07/23/title: Objective-C\345\243\260\346\230\216\345\234\250\345\244\264\346\226\207\344\273\266\345\222\214\345\256\236\347\216\260\346\226\207\344\273\266\344\270\255\347\232\204\345\214\272\345\210\253 /index.html" create mode 100644 2017/07/23/title: Remove Duplicates from Sorted Array /index.html create mode 100644 2017/07/23/title: Search in Rotated Sorted Array /index.html create mode 100644 "2017/07/23/title: self\344\270\216super\347\232\204\345\214\272\345\210\253 /index.html" create mode 100644 "2017/07/23/title: xcode\345\270\270\347\224\250\345\277\253\346\215\267\351\224\256\345\217\212\345\205\266\344\273\226\345\212\237\350\203\275/index.html" create mode 100644 "2017/07/23/title: \343\200\212TCP-IP\350\257\246\350\247\243\343\200\213\347\254\224\350\256\260\342\200\224\347\254\2541\347\253\240 \346\246\202\350\277\260/index.html" create mode 100644 "2017/07/23/title: \345\270\270\350\247\201\346\216\222\345\272\217\347\256\227\346\263\225\346\200\273\347\273\223 /index.html" create mode 100644 "2017/07/23/title: \346\234\211\351\231\220\347\212\266\346\200\201\346\234\272\345\234\250iOS\344\270\255\347\232\204\345\272\224\347\224\250/index.html" create mode 100644 "2017/07/23/title: \350\247\206\351\242\221\345\274\200\345\217\221/index.html" create mode 100644 "2017/07/23/title: \350\247\243\345\206\263Arduino CH34x\347\263\273\345\210\227\345\234\250macOS Sierra\344\270\255\346\211\276\344\270\215\345\210\260\344\270\262\345\217\243\347\232\204\351\227\256\351\242\230/index.html" create mode 100644 "2017/07/25/title: iOS \344\277\235\346\214\201\347\225\214\351\235\242\346\265\201\347\225\205\347\232\204\346\212\200\345\267\247/index.html" create mode 100644 "2017/07/25/title: \345\211\221\346\214\207Offer \342\200\224\342\200\224 \346\273\221\345\212\250\347\252\227\345\217\243\347\232\204\346\234\200\345\244\247\345\200\274/index.html" create mode 100644 "2017/07/27/title: \345\271\266\345\217\221(concurrency)\345\222\214\345\271\266\350\241\214(parallelism)/index.html" create mode 100644 "2017/08/01/title: \345\211\221\346\214\207Offer \342\200\224\342\200\224 \346\234\200\345\260\217\347\232\204k\344\270\252\346\225\260/index.html" create mode 100644 2017/08/02/title: Dispatch/index.html create mode 100644 "2017/08/03/title: Dispatch \345\234\250swift\344\270\255\347\232\204\344\275\277\347\224\250/index.html" create mode 100644 "2017/08/03/title: \351\224\231\350\257\257\345\244\204\347\220\206/index.html" create mode 100644 "2017/08/04/title: \345\211\221\346\214\207Offer \342\200\224\342\200\224 \344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\347\254\254k\344\270\252\347\273\223\347\202\271/index.html" create mode 100644 "2017/08/20/title: Advanced Swift \347\254\224\350\256\260 \342\200\224\342\200\224 Tips/index.html" create mode 100644 "2017/08/30/title: Advanced Swift \347\254\224\350\256\260 \342\200\224\342\200\224 \345\205\247\345\273\272\351\233\206\345\220\210\351\241\236\345\236\213/index.html" create mode 100644 2017/08/30/title: Brew Instruction/index.html create mode 100644 404.html create mode 100644 CNAME create mode 100644 about/index.html create mode 100644 archives/2017/05/index.html create mode 100644 archives/2017/07/index.html create mode 100644 archives/2017/07/page/2/index.html create mode 100644 archives/2017/07/page/3/index.html create mode 100644 archives/2017/07/page/4/index.html create mode 100644 archives/2017/08/index.html create mode 100644 archives/2017/08/page/2/index.html create mode 100644 archives/2017/index.html create mode 100644 archives/2017/page/2/index.html create mode 100644 archives/2017/page/3/index.html create mode 100644 archives/2017/page/4/index.html create mode 100644 archives/2017/page/5/index.html create mode 100644 archives/index.html create mode 100644 archives/page/2/index.html create mode 100644 archives/page/3/index.html create mode 100644 archives/page/4/index.html create mode 100644 archives/page/5/index.html create mode 100644 atom.xml create mode 100644 baidu_verify_pl2cC4IAHr.html create mode 100644 categories/Algorithm/index.html create mode 100644 categories/Algorithm/page/2/index.html create mode 100644 categories/CPP/index.html create mode 100644 categories/Network/index.html create mode 100644 categories/OS/index.html create mode 100644 categories/Shell/index.html create mode 100644 categories/iOS/index.html create mode 100644 categories/iOS/page/2/index.html create mode 100644 categories/iOS/page/3/index.html create mode 100644 categories/index.html create mode 100644 content.json create mode 100644 css/fonts/fontawesome/FontAwesome.otf create mode 100644 css/fonts/fontawesome/fontawesome-webfont.eot create mode 100644 css/fonts/fontawesome/fontawesome-webfont.svg create mode 100644 css/fonts/fontawesome/fontawesome-webfont.ttf create mode 100644 css/fonts/fontawesome/fontawesome-webfont.woff create mode 100644 css/fonts/fontawesome/fontawesome-webfont.woff2 create mode 100644 css/fonts/roboto/Roboto-Bold.eot create mode 100644 css/fonts/roboto/Roboto-Bold.ttf create mode 100644 css/fonts/roboto/Roboto-Bold.woff create mode 100644 css/fonts/roboto/Roboto-Bold.woff2 create mode 100644 css/fonts/roboto/Roboto-Light.eot create mode 100644 css/fonts/roboto/Roboto-Light.ttf create mode 100644 css/fonts/roboto/Roboto-Light.woff create mode 100644 css/fonts/roboto/Roboto-Light.woff2 create mode 100644 css/fonts/roboto/Roboto-Medium.eot create mode 100644 css/fonts/roboto/Roboto-Medium.ttf create mode 100644 css/fonts/roboto/Roboto-Medium.woff create mode 100644 css/fonts/roboto/Roboto-Medium.woff2 create mode 100644 css/fonts/roboto/Roboto-Regular.eot create mode 100644 css/fonts/roboto/Roboto-Regular.ttf create mode 100644 css/fonts/roboto/Roboto-Regular.woff create mode 100644 css/fonts/roboto/Roboto-Regular.woff2 create mode 100644 css/fonts/roboto/Roboto-Thin.eot create mode 100644 css/fonts/roboto/Roboto-Thin.ttf create mode 100644 css/fonts/roboto/Roboto-Thin.woff create mode 100644 css/fonts/roboto/Roboto-Thin.woff2 create mode 100644 css/style.css create mode 100644 img/alipay.jpg create mode 100644 img/avatar.jpg create mode 100644 img/brand.jpg create mode 100644 img/cc.png create mode 100644 img/img-err.png create mode 100644 img/img-loading.png create mode 100644 img/wechat.jpg create mode 100644 index.html create mode 100644 js/main.js create mode 100644 js/main.min.js create mode 100644 js/search.js create mode 100644 js/search.min.js create mode 100644 page/2/index.html create mode 100644 page/3/index.html create mode 100644 page/4/index.html delete mode 100644 placeholder create mode 100644 search/index.html create mode 100644 tags/Bug/index.html create mode 100644 tags/LeetCode/index.html create mode 100644 tags/OC/index.html create mode 100644 tags/Reading-Notes/index.html create mode 100644 tags/STL/index.html create mode 100644 tags/Swift/index.html create mode 100644 tags/Tool/index.html create mode 100644 tags/UI/index.html create mode 100644 tags/index.html create mode 100644 "tags/\345\211\221\346\214\207Offer/index.html" create mode 100644 "tags/\345\244\232\347\272\277\347\250\213/index.html" create mode 100644 "tags/\350\275\254\350\275\275/index.html" diff --git "a/2017/05/13/title: \345\212\250\346\200\201\350\247\204\345\210\222\357\274\210Dynamic Programming\357\274\211/index.html" "b/2017/05/13/title: \345\212\250\346\200\201\350\247\204\345\210\222\357\274\210Dynamic Programming\357\274\211/index.html" new file mode 100644 index 0000000..c36dac1 --- /dev/null +++ "b/2017/05/13/title: \345\212\250\346\200\201\350\247\204\345\210\222\357\274\210Dynamic Programming\357\274\211/index.html" @@ -0,0 +1,522 @@ + + + + + + + + + + + + + + + + + + + + + 动态规划(Dynamic Programming) | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ +
+

动态规划(Dynamic Programming)

+
+ + + + + + + +
+
+ + + + +
+ + +
+ + + +
+ +
+

动态规划(Dynamic Programming)

+ +
+

(以下简称DP)

+
+

基本思想

将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。适合用DP求解的问题,经分解得到的子问题一般不是相互独立的,如果使用分治法求解,有些子问题会被重复计算多次,可以用一个表来记录所有已解决的子问题的答案,不管该子问题以后是否被用到,只要它被计算过,就将其结果填入表中。

+

DP算法适用于解最优化问题。通常可以按以下步骤设计:

+
    +
  1. 找出最优解的性质,并刻画其结构特征;
  2. +
  3. 递归地定义最优值;
  4. +
  5. 以自底向上的方式计算出最优值;
  6. +
  7. 根据计算最优值时得到的信息,构造最优解
  8. +
+
+

基本要素

    +
  1. 最优子结构
    问题的最优解包含了其子问题的最优解。

    +
  2. +
  3. 重叠子问题
    在用递归算法自顶向下求解问题时,每次产生的子问题并不总是新问题,有些子问题被计算多次。DP算法正式利用了这种子问题的重叠性质,对每一个子问题只解一次,而后将其解保存在一个表格中,当再次需要解此问题时,只是简单地用常数时间查看一下结果。通常不同的子问题个数随问题的大小呈多项式增长,因此用DP算法通常只需要多项式时间,从而获得较高的解题效率。

    +
  4. +
+

最长公共子序列

问题描述

一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切的说,若给定序列X = {x1, x2, ..., xm},则另一序列Z = {z1, z2, ..., zk},X的子序列是指存在一个严格递增下标序列{i1, i2, ..., ik}使得对于所有j = 1, 2, ..., kzj = xij。例如,序列Z = {B, C, D, B}是序列X = {A, B, C, B, D, A, B}的子序列,相应的递增下标序列为{2, 3, 5, 7}
给定两个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。
例如,若X = {A, B, C, B, D, A, B}Y = {B, D, C, A, B, A},序列{B, C, A}是X和Y的一个公共子序列,但它不是X和Y的最长公共子序列。序列{B, C, B, A}也是X和Y的一个公共子序列,它的长度为4,而且它是X和Y的最长公共子序列,因为X和Y没有长度大于4的公共子序列。

+

最长公共子序列问题

给定两个序列X = {x1, x2, ..., xm}Y = {y1, y2, ..., ym},找出X和Y的最长公共子序列。

+

按照DP算法设计的各个步骤求解

    +
  1. 最长公共子序列结构
    设序列X = {x1, x2, ..., xm}Y = {y1, y2, ..., yn}的最长公共子序列为Z = {z1, z2, ..., zk},则

    +
      +
    1. xm = yn,则zk = xm = yn,且Z
    2. +
    +
  2. +
  3. 子问题的递归结构

    +
  4. +
  5. 计算最优值
  6. +
  7. 构造最长公共子序列
  8. +
  9. 算法的改进
  10. +
+ +
+ +
+
+ + + Last updated: +
+ + + + http://codingdoge.cn/2017/05/13/title: 动态规划(Dynamic Programming)/ + +
+ +
+ + +
+ +
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ +
+ +

+ + 谢谢大爷~ + +

+
+ +
+ 打赏二维码 +
+ + + +
+
+ + + +
+ + + +
+
+ + + + + + + +
+ +

扫一扫,分享到微信

+ 微信分享二维码 +
+ + + + + + + + + + +
+
    +
    + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/06/title: \345\211\221\346\214\207Offer \342\200\224\342\200\224 \345\244\215\346\235\202\351\223\276\350\241\250\347\232\204\345\244\215\345\210\266/index.html" "b/2017/07/06/title: \345\211\221\346\214\207Offer \342\200\224\342\200\224 \345\244\215\346\235\202\351\223\276\350\241\250\347\232\204\345\244\215\345\210\266/index.html" new file mode 100644 index 0000000..2bb53ab --- /dev/null +++ "b/2017/07/06/title: \345\211\221\346\214\207Offer \342\200\224\342\200\224 \345\244\215\346\235\202\351\223\276\350\241\250\347\232\204\345\244\215\345\210\266/index.html" @@ -0,0 +1,516 @@ + + + + + + + + + + + + + + + + + + + + + 剑指Offer —— 复杂链表的复制 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + +
    + +
    +

    剑指Offer —— 复杂链表的复制

    +
    + + + + + + + +
    +
    + + + + +
    + + +
    + + + +
    + +
    +

    剑指Offer —— 复杂链表的复制

    + +
    +
    +

    题目来源牛客网:复杂链表的复制

    +
    +

    题目描述

    输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)

    +

    数据结构

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    /*
    struct RandomListNode {
    int label;
    struct RandomListNode *next, *random;
    RandomListNode(int x) :
    label(x), next(NULL), random(NULL) {
    }
    };
    */
    class Solution {
    public:
    RandomListNode* Clone(RandomListNode* pHead) {
    }
    };
    +

    解题思路

    一、递归思想:把大问题转化若干子问题

    此题转化为一个头结点和除去头结点剩余部分,剩余部分操作和原问题一致

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    RandomListNode* Clone(RandomListNode* pHead)
        {
            if(pHead==NULL)
                return NULL;
             
            //开辟一个新节点
            RandomListNode* pClonedHead=new RandomListNode(pHead->label);
            pClonedHead->next = pHead->next;
            pClonedHead->random = pHead->random;
             
            //递归其他节点
            pClonedHead->next=Clone(pHead->next);
             
            return pClonedHead;
        }
    +

    二、

      +
    • 复制每个节点,如:复制节点A得到A1,将A1插入节点A后面
    • +
    • 遍历链表,A1->random = A->random->next;
    • +
    • 将链表拆分成原链表和复制后的链表
    • +
    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    RandomListNode* Clone(RandomListNode* pHead)
    {
        if(!pHead) return NULL;
        RandomListNode *currNode = pHead;
        while(currNode){
            RandomListNode *node = new RandomListNode(currNode->label);
            node->next = currNode->next;
            currNode->next = node;
            currNode = node->next;
        }
        currNode = pHead;
        while(currNode){
            RandomListNode *node = currNode->next;
            if(currNode->random){               
                node->random = currNode->random->next;
            }
            currNode = node->next;
        }
        //拆分
        RandomListNode *pCloneHead = pHead->next;
        RandomListNode *tmp;
        currNode = pHead;
        while(currNode->next){
            tmp = currNode->next;
            currNode->next =tmp->next;
             currNode = tmp;
        }
        return pCloneHead;
     }
    +

    三、哈希表法

    时间空间复杂度都是O(n)

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    RandomListNode* Clone(RandomListNode* pHead)
    {
        if(pHead==NULL)
            return NULL;
             
        //定义一个哈希表
        unordered_multimap<RandomListNode*,RandomListNode*> table;
             
        // 开辟一个头结点
        RandomListNode* pClonedHead=new RandomListNode(pHead->label);
        pClonedHead->next=NULL;
        pClonedHead->random=NULL;
             
        // 将头结点放入map中
        table.insert(make_pair(pHead,pClonedHead));
             
        //设置操作指针
        RandomListNode* pNode=pHead->next;
        RandomListNode* pClonedNode=pClonedHead;
             
        // 第一遍先将简单链表复制一下
        while(pNode!=NULL)
        {
            // 不断开辟pNode的拷贝结点
            RandomListNode* pClonedTail=new RandomListNode(pNode->label);
            pClonedTail->next=NULL;
            pClonedTail->random=NULL;
                 
            //连接新节点,更新当前节点
            pClonedNode->next=pClonedTail;
            pClonedNode=pClonedTail;
                 
            //将对应关系  插入到哈希表中
            table.insert(make_pair(pNode,pClonedTail));
                 
            //向后移动操作节点
            pNode=pNode->next;
        }
             
        //需从头开始设置random节点,设置操作指针
        pNode=pHead;
        pClonedNode=pClonedHead;
             
        // 根据map中保存的数据,找到对应的节点
        while(pNode!=NULL)
        {
                 
            if(pNode->random!=NULL)
            {
                //找到对应节点,更新复制链表
                pClonedNode->random=table.find(pNode->random)->second;
            }
                 
            //向后移动操作节点
            pNode=pNode->next;
            pClonedNode=pClonedNode->next;
        }
             
        return pClonedHead;
             
    }
    + +
    + +
    +
    + + + Last updated: +
    + + + + http://codingdoge.cn/2017/07/06/title: 剑指Offer —— 复杂链表的复制/ + +
    + +
    + + +
    + +
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +

    + + 谢谢大爷~ + +

    +
    + +
    + 打赏二维码 +
    + + + +
    +
    + + + +
    + + + +
    +
    + + + + + + + +
    + +

    扫一扫,分享到微信

    + 微信分享二维码 +
    + + + + + + + + + + +
    +
      +
      + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/17/title: STL\345\270\270\350\247\201\347\224\250\346\263\225 \342\200\224 queue/index.html" "b/2017/07/17/title: STL\345\270\270\350\247\201\347\224\250\346\263\225 \342\200\224 queue/index.html" new file mode 100644 index 0000000..81320a4 --- /dev/null +++ "b/2017/07/17/title: STL\345\270\270\350\247\201\347\224\250\346\263\225 \342\200\224 queue/index.html" @@ -0,0 +1,545 @@ + + + + + + + + + + + + + + + + + + + + + STL常见用法 — queue | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + +
      + +
      + +
      +

      STL常见用法 — queue

      +
      + + + + + + + +
      +
      + + + + +
      + + +
      + + + +
      + +
      +

      STL常见用法 — queue

      + +
      +
      +

      代码敲得少,STL总是用的不熟,便自己整理一些用法,有眼缘的顺手用着吧。

      +
      +
      +

      简介

      队列(queue)是一种特殊的线性表,是一种先进先出(First In First Out)的数据结构,允许在队列末尾插入元素,队列头取出元素,在STL中是用list或者deque实现,封闭头部即可。

      +

      用法

      头文件

      1
      #include <queue>
      +

      构造函数

      1
      template <class T, class Container = deque<T> > class queue;
      +

      队列适配器默认用deque容器实现,也可以指定使用list容器来实现

      +
      1
      2
      3
      queue <Elem> q; // 创建一个空的queue,默认使用deque容器
      queue <Elem, list<Elem> > q; // 使用list容器
      queue <Elem> q1(q2); // 复制q2
      +

      成员函数

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      成员函数实现操作
      Elem& back()返回队列最后一个元素
      bool empty()const如果队列为空,返回true,否则返回false
      Elem& front()返回队列第一个元素
      void pop()移除队列中的第一个元素
      void push(const Elem& e)在队列末尾插入元素e
      size_type size()const返回队列中的元素数目
      +

      用法演示

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      #include <stdio.h>
      #include <queue>
      using namespace std;
      int main()
      {
      int n, m, size;
      queue <int> q; //定义队列q
      q.push(1);
      q.push(2); //将1 、2压入队列
      while (!q.empty()) //判断队列是否为空
      {
      n = q.front(); //返回队列头部数据
      m = q.back(); //返回队列尾部数据
      size = q.size(); //返回队列里的数据个数
      q.pop(); //队列头部数据出队
      printf("%d %d %d\n", n, m, size);
      }
      return 0;
      }
      + +
      + +
      +
      + + + Last updated: +
      + + + + http://codingdoge.cn/2017/07/17/title: STL常见用法 — queue/ + +
      + +
      + + +
      + +
      + + + + +
      + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +

      + + 谢谢大爷~ + +

      +
      + +
      + 打赏二维码 +
      + + + +
      +
      + + + +
      + + + +
      +
      + + + + + + + +
      + +

      扫一扫,分享到微信

      + 微信分享二维码 +
      + + + + + + + + + + +
      +
        +
        + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/17/title: \345\270\270\347\224\250\345\256\217\345\256\232\344\271\211/index.html" "b/2017/07/17/title: \345\270\270\347\224\250\345\256\217\345\256\232\344\271\211/index.html" new file mode 100644 index 0000000..ec0a442 --- /dev/null +++ "b/2017/07/17/title: \345\270\270\347\224\250\345\256\217\345\256\232\344\271\211/index.html" @@ -0,0 +1,496 @@ + + + + + + + + + + + + + + + + + + + + + 常用宏定义 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        + + + +
        + +
        + +
        +

        常用宏定义

        +
        + + + + + + + +
        +
        + + + + +
        + + +
        + +
        + +
        +

        常用宏定义

        + +
        +

        iOS开发高级:使用宏定义macros

        +
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        25
        26
        27
        28
        29
        30
        31
        32
        33
        34
        35
        36
        37
        38
        39
        40
        41
        42
        43
        44
        45
        //1. 打印日志
        #ifdef DEBUG
        # define DLog(...) NSLog(__VA_ARGS__)
        #else
        # define DLog(...)
        #endif
        //2. 获取屏幕 宽度、高度
        #define kScreenWidth ([UIScreen mainScreen].bounds.size.width)
        #define kScreenHeight ([UIScreen mainScreen].bounds.size.height)
        //3. 颜色
        #define RGB(r, g, b, a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]
        #define HEXCOLOR(c) [UIColor colorWithRed:((c>>16)&0xFF)/255.0f green:((c>>8)&0xFF)/255.0f blue:(c&0xFF)/255.0f alpha:1.0f]
        //背景色
        #define BACKGROUND_COLOR [UIColor colorWithRed:242.0/255.0 green:236.0/255.0 blue:231.0/255.0 alpha:1.0]
        //清除背景色
        #define CLEARCOLOR [UIColor clearColor]
        //4.加载图片宏:
        #define LOADIMAGE(file,type) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle]pathForResource:file ofType:type]]
        //5. NavBar高度
        #define NavigationBar_HEIGHT 44
        //6. 获取系统版本
        #define IOS_VERSION [[[UIDevice currentDevice] systemVersion] floatValue]
        #define CurrentSystemVersion [[UIDevice currentDevice] systemVersion]
        //7. 判断是真机还是模拟器
        #if TARGET_OS_IPHONE
        //iPhone Device
        #endif
        #if TARGET_IPHONE_SIMULATOR
        //iPhone Simulator
        #endif
        //8. 设置View的tag属性
        #define VIEWWITHTAG(_OBJECT, _TAG) [_OBJECT viewWithTag : _TAG]
        //9. GCD
        #define BACK(block) dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), block)
        #define MAIN(block) dispatch_async(dispatch_get_main_queue(),block)
        //10. NSUserDefaults 实例化
        #define USER_DEFAULT [NSUserDefaults standardUserDefaults]
        + +
        + +
        +
        + + + Last updated: +
        + + + + http://codingdoge.cn/2017/07/17/title: 常用宏定义/ + +
        + +
        + + +
        + +
        + + + + +
        + + + + + + + + + + + + + + + + + + + + + +
        + +
        + +

        + + 谢谢大爷~ + +

        +
        + +
        + 打赏二维码 +
        + + + +
        +
        + + + +
        + + + +
        +
        + + + + + + + +
        + +

        扫一扫,分享到微信

        + 微信分享二维码 +
        + + + + + + + + + + +
        +
          +
          + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/17/title: \346\217\222\344\273\266\347\256\241\347\220\206\342\200\224\342\200\224Vundle/index.html" "b/2017/07/17/title: \346\217\222\344\273\266\347\256\241\347\220\206\342\200\224\342\200\224Vundle/index.html" new file mode 100644 index 0000000..a430ac6 --- /dev/null +++ "b/2017/07/17/title: \346\217\222\344\273\266\347\256\241\347\220\206\342\200\224\342\200\224Vundle/index.html" @@ -0,0 +1,560 @@ + + + + + + + + + + + + + + + + + + + + + 插件管理——Vundle | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + + + +
          + +
          + +
          +

          插件管理——Vundle

          +
          + + + + + + + +
          +
          + + + + +
          + + +
          + + + +
          + +
          +

          插件管理——Vundle

          + +
          +
          +

          都说Vim是程序员写给自己的编辑器,其中的情结可想而知。

          +
          +

          vim因为其庞大而强劲的插件受到无比的推崇,而插件的查找和管理便成了一个问题。

          +

          Vundle便是一个Github上为了解决这个问题的项目(致敬贡献者们),使用步骤如下:

          +

          安装Vundle,在终端输入以下代码即可

          git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

          +
          +
            +
          • ~/.vim 来自哪?
            macVim配置文件.vimrc/usr/share/vim/下,一般是没有权限更改的,但是这个.vimrc是全局配置文件,我们只要更改用户配置文件即可
          • +
          • 怎么查看/usr/?
              +
            1. 显示隐藏文件,自行百度,终端中敲入代码即可。
            2. +
            3. Finder下或者桌面上的Go,文件夹输入/usr/
              mac下的Vim用户配置文件默认是没有的,需要我们自行创建
              终端下输入
              1
              2
              3
              > mkdir ~/.vim
              > touch ~/.vimrc
              >
              +
            4. +
            +
          • +
          +
          +

          ~/即为用户根目录。

          +
          +
          +

          Vim Script选好插件

          .vimrc文件中加一句Bundle plugin_name
          .vimrc示例:

          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          set nocompatible " be iMproved
          filetype off " required!
          set rtp+=~/.vim/bundle/vundle/
          call vundle#rc()
          " let Vundle manage Vundle
          " required!
          Bundle 'gmarik/vundle'
          " vim-scripts repos
          Bundle 'vim-plugin-foo'
          Bundle 'vim-plugin-bar'
          filetype plugin indent on " required!

          +

          执行Vundle安装命令

          1
          :BundleInstall
          +

          Vundle的其它命令

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          :BundleList列举出列表中(.vimrc中)配置的所有插件
          :BundleInstall安装列表中全部插件
          :BundleInstall!更新列表中全部插件
          :BundleSearch foo查找foo插件
          :BundleSearch! foo刷新foo插件缓存
          :BundleClean清除列表中没有的插件
          :BundleClean!清除列表中没有的插件
          +
          +

          参考
          Git时代的VIM不完全使用教程
          使用Vundle来管理vim的插件
          zhongcq 的VIM配置

          +
          + +
          + +
          +
          + + + Last updated: +
          + + + + http://codingdoge.cn/2017/07/17/title: 插件管理——Vundle/ + +
          + +
          + + +
          + +
          + + + + +
          + + + + + + + + + + + + + + + + + + + + + +
          + +
          + +

          + + 谢谢大爷~ + +

          +
          + +
          + 打赏二维码 +
          + + + +
          +
          + + + +
          + + + +
          +
          + + + + + + + +
          + +

          扫一扫,分享到微信

          + 微信分享二维码 +
          + + + + + + + + + + +
          +
            +
            + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/17/title: \346\274\253\350\260\210iOS\347\263\273\345\210\227\344\271\213\357\274\232\345\206\205\345\255\230\347\256\241\347\220\206/index.html" "b/2017/07/17/title: \346\274\253\350\260\210iOS\347\263\273\345\210\227\344\271\213\357\274\232\345\206\205\345\255\230\347\256\241\347\220\206/index.html" new file mode 100644 index 0000000..28cbe9d --- /dev/null +++ "b/2017/07/17/title: \346\274\253\350\260\210iOS\347\263\273\345\210\227\344\271\213\357\274\232\345\206\205\345\255\230\347\256\241\347\220\206/index.html" @@ -0,0 +1,748 @@ + + + + + + + + + + + + + + + + + + + + + 漫谈iOS系列之:内存管理 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            + + + +
            + +
            + +
            +

            漫谈iOS系列之:内存管理

            +
            + + + + + + + +
            +
            + + + + +
            + + +
            + + + +
            + +
            +

            漫谈iOS系列之:内存管理

            + +
            +

            引用计数

            推荐一篇来自@杨萧玉的引用计数原理Blog

            +
            +
              +
            • 简介
              iOS中对内存管理的机制(堆内存),每一个对象都有一个与之关联的引用计数(Reference Counting)。当一个对象“被拥有”的时候引用计数+1,当一个对象引用计数为零时该对象被释放。
            • +
            • 比拟
              比如上班,最早进入办公室的人需要开灯,之后进入办公室的人需要照明, 下班离开办公室的人不需要照明,最后离开办公室的人需要关灯。
              这样对应的引用计数就是:第一个人进入办公室开灯,引用计数是1。之后进入办公室需要照明引用计数是2。下班一个人离开办公室引用计数变成了1,最后一个离开了办公室,引用计数变成了0 。
            • +
            • 引用计数如何储存
                +
              1. TaggedPointer
                一篇极好的文章
                总体来说,我的理解是如果一个对象使用了Tagged Pointer技术(比如NSStringNSNumber等),指针里面会直接存数据内容,不会再作为“指针”指向其它地址,从Runtime来理解就是不会使用isa指针,也就不会继承苹果的内存管理方式(Reference Counting)。
                判断当前对象是否在使用 TaggedPointer 是看标志位是否为1:
              2. +
              +
            • +
            +
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            #if SUPPORT_MSB_TAGGED_POINTERS
            # define TAG_MASK (1ULL<<63)
            #else
            # define TAG_MASK 1
            inline bool
            objc_object::isTaggedPointer()
            {
            #if SUPPORT_TAGGED_POINTERS
            return ((uintptr_t)this & TAG_MASK);
            #else
            return false;
            #endif
            }
            +
              +
            1. isa 指针
              指针的内存空间很大,有时候可以优化指针,在指针中存储一部分内容。下面列出不同架构下的64位环境中isa指针结构:
            2. +
            +
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            14
            15
            16
            17
            18
            19
            20
            21
            22
            23
            24
            25
            26
            27
            28
            29
            30
            31
            32
            33
            34
            35
            36
            37
            38
            39
            40
            41
            42
            43
            44
            45
            46
            47
            48
            49
            50
            51
            52
            53
            union isa_t
            {
            isa_t() { }
            isa_t(uintptr_t value) : bits(value) { }
            Class cls;
            uintptr_t bits;
            #if SUPPORT_NONPOINTER_ISA
            # if __arm64__
            # define ISA_MASK 0x00000001fffffff8ULL
            # define ISA_MAGIC_MASK 0x000003fe00000001ULL
            # define ISA_MAGIC_VALUE 0x000001a400000001ULL
            struct {
            uintptr_t indexed : 1;
            uintptr_t has_assoc : 1;
            uintptr_t has_cxx_dtor : 1;
            uintptr_t shiftcls : 30; // MACH_VM_MAX_ADDRESS 0x1a0000000
            uintptr_t magic : 9;
            uintptr_t weakly_referenced : 1;
            uintptr_t deallocating : 1;
            uintptr_t has_sidetable_rc : 1;
            uintptr_t extra_rc : 19;
            # define RC_ONE (1ULL<<45)
            # define RC_HALF (1ULL<<18)
            };
            # elif __x86_64__
            # define ISA_MASK 0x00007ffffffffff8ULL
            # define ISA_MAGIC_MASK 0x0000000000000001ULL
            # define ISA_MAGIC_VALUE 0x0000000000000001ULL
            struct {
            uintptr_t indexed : 1;
            uintptr_t has_assoc : 1;
            uintptr_t has_cxx_dtor : 1;
            uintptr_t shiftcls : 44; // MACH_VM_MAX_ADDRESS 0x7fffffe00000
            uintptr_t weakly_referenced : 1;
            uintptr_t deallocating : 1;
            uintptr_t has_sidetable_rc : 1;
            uintptr_t extra_rc : 14;
            # define RC_ONE (1ULL<<50)
            # define RC_HALF (1ULL<<13)
            };
            # else
            // Available bits in isa field are architecture-specific.
            # error unknown architecture
            # endif
            // SUPPORT_NONPOINTER_ISA
            #endif
            };
            +

            只有arm64架构的设备支持优化,下面列出了isa指针中变量对应的含义:

            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
            变量名含义
            indexed0 表示普通的isa指针,1 表示使用优化,存储引用计数
            has_assoc表示该对象是否包含 associated object,如果没有,则析构时会更快
            has_cxx_dtor表示该对象是否有 C++ 或 ARC 的析构函数,如果没有,则析构时更快
            shiftcls类的指针
            magic固定值为 0xd2,用于在调试时分辨对象是否未完成初始化
            weakly_referenced表示该对象是否有过weak对象,如果没有,则析构时更快
            deallocating表示该对象是否正在析构
            has_sidetable_rc表示该对象的引用计数值是否过大无法存储在isa指针
            extra_rc存储引用计数值减一后的结果
            +
              +
            1. 散列表
              散列表来存储引用计数具体是用DenseMap类来实现,实现中有锁保证其安全性。
            2. +
            +
              +
            • 获取引用计数
              在MRC环境下可以使用retainCount方法获取某个对象的引用计数。
              在ARC环境下可以使用Core Foundation 库的CFGetRetainCount((__bridge CFTypeRef)(obj))方法和Runtime的_objc_rootRetainCount()方法来获取引用计数,也可以使用KVC技术来获取valueForKey:@"retainCount"。注意以上方法不是线程安全的。
            • +
            • 注意
              NSString 定义的对象是保存在字符串常量区,没有用引用计数管理内存,如果输出其retainCount,为-1。
              +

              +
              +
              + retainCount +
              +
              retainCount
              +
              注意其中的Do not use this method

              +
              +
            • +
            +

            MRC(Manual Reference Counting)


            +

            MRC从字面上理解就是手动管理引用计数,也就是手动管理内存。相关的内存管理方法有retainreleaseautorelease,其中retain方法是对引用计数+1,相应的release是对引用计数-1,autorelease是将对象加入自动释放池,下文会讲到。

            +
              +
            • 示例代码

              +
              1
              2
              3
              4
              5
              6
              7
              // 以预定Person类为例
              Person* person = [[Person alloc] init]; // 申请对象,此时引用计数=1
              [person retain]; //此时引用记数+1,现为2
              [person release]; //引用计数-1,此时引用计数=1
              [person release]; //引用计数-1,此时引用计数=0,内存被释放
              [person autorelease]; // 将对象加入自动释放池
              Person *person = [[[Person alloc] init] autorelease]; // 也可以在创建对象时将其加入自动释放池
              +
            • +
            +

            按道理来说创建一个对象,然后release后该对象引用计数为零,但是实际情况中并不会出现这种现象,release后再输出其引用计数还是为1,在我的理解中有两种可能:

            +
              +
            1. 该对象在引用计数为1的时候进行release后,对象已经被释放,此时再调用retainCount毫无意义,因为该对象已经不存在了,为了防止某些错误保护这个retainCount方法所以编译器不会报错,但是输出值为释放前的值;
            2. +
            3. 编译器为我们做了各种优化,也许是记录retainCount为零消耗过大或者没有意义。
              +
              +
              + 重写了`dealloc`方便查看对象是否被释放 +
              +
              重写了`dealloc`方便查看对象是否被释放
              +
              +
              +
              +
              + 输出其`retainCount`然后释放 +
              +
              输出其`retainCount`然后释放
              +
              +
              +
              +
              + 可以看到并不会出现引用计数为零的情况,但是该对象确实被释放了 +
              +
              可以看到并不会出现引用计数为零的情况,但是该对象确实被释放了
              +
              +
            4. +
            +
            +

            小知识:
            指针错误:访问了一块坏的内存(已经被回收的,不可用的内存)。
            僵尸对象:所占内存已经被回收的对象,僵尸对象不能再被使用。(打开僵尸对象检测)
            空指针:没有指向任何东西的指针(存储的东西是0, null, nil),给空指针发送消息不会报错。
            注意:不能使用[p retaion]让僵尸对象起死复生。

            +
            +

            在MRC管理时代有一个黄金法则:

            +
              +
            1. 谁创建谁负责。如果你通过alloc,new,copy来创建了一个对象,那么你就必须调用release或者autorelease方法;
            2. +
            3. 谁retain,谁release。只要你调用了retain,无论这个对象时如何生成的,你都要调用release;
            4. +
            +

            ARC


            +

            原理

            前段编译器会为“拥有的”每一个对象加入相应的release语句,如果对象的所有权修饰符是__strong,那么它就是被拥有的。如果再某个方法内创建了一个对象,前端编译器会在方法末尾自动插入release语句已销毁它。而类拥有的对象(实例变量/属性)会在dealloc方法内被释放。

            +
            +
            + 编译器所为 +
            +
            编译器所为
            +

            +

            编译器为我们做的,我们可以手动完成达到优化

            比如:
            __autoreleasing在ARC中主要用在参数传递返回值(out-parameters)和引用传递参数(pass-by-reference)的情况下,有这种指针(NSError **)的函数参数如果不加修饰符,编译器会默认将他们认定为__autoreleasing类型。
            比如常用的NSError的使用:

            +
            1
            2
            3
            4
            5
            NSError *__autoreleasing error;
            if (![data writeToFile:filename options:NSDataWritingAtomic error:&error])
            {
            NSLog(@"Error: %@", error);
            }
            +

            如果你把error定义为了strong型,编译器会隐式地做如下事情,保证最终传入函数的参数依然是个__autoreleasing类型的引用。

            +
            1
            2
            3
            4
            5
            6
            7
            NSError *error;
            NSError *__autoreleasing tempError = error; // 编译器添加
            if (![data writeToFile:filename options:NSDataWritingAtomic error:&tempError])
            {
            error = tempError; // 编译器添加
            NSLog(@"Error :%@", error);
            }
            +

            所以为了提高效率,避免这种情况,我们一般在定义error的时候将其老老实实地声明为__autoreleasing类型。

            +

            循环引用


            +

            平常我们容易造成循环引用的三种情况:

            +
              +
            1. NSTimer
              先看NSTimer使用的代码:
            2. +
            +
            1
            _timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(runTimer) userInfo:nil repeats:YES];
            +

            其中_timer是实例变量被self保留,_timer的target是selfself_timer保留,引发循环引用。

            +
            +
            + 循环引用 +
            +
            循环引用
            +

            解除方法就是使target中的对象不是viewController从而断开引用,iOS10之前我们可以写个类别重新封装target来实现,iOS10之后系统给了新方法:

            +
            1
            + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)interval repeats:(BOOL)repeats block:(void (^)(NSTimer *timer))block;
            +
              +
            • 不再需要target,而是传入一个block,在block里面进行循环调用方法
            • +
            • 关于block怎么解决循环引用请看下面
            • +
            +
              +
            1. block
              +

              简介
              block和其他语言的闭包或lambda表达式是一回事,block的使用很像函数指针,不过与函数最大的不同是:block可以访问函数以外、词法作用域以内的外部变量的值。换句话说,block不仅实现函数的功能,还能携带函数的执行环境。

              +
              +
            2. +
            +

            block基本语法

            +
            1
            2
            3
            4
            5
            6
            7
            8
            9
            // 声明一个block变量
            long (^sum) (int, int) = nil;
            // sum是个block变量,该block类型有两个int型参数,返回类型是long。
            // 定义block并赋给变量sum
            sum = ^ long (int a, int b) {
            return a + b;
            };
            // 调用block:
            long s = sum(1, 2);
            +

            定义一个实例函数,该函数返回block:

            +
            1
            2
            3
            4
            5
            6
            7
            8
            - (long (^)(int, int)) sumBlock {
            int base = 100;
            return [[ ^ long (int a, int b) {
            return base + a + b;
            } copy] autorelease];
            }
            // 调用block
            [self sumBlock](1,2);
            +

            根据在内存中的位置将block分为三种类型:

            +
            * `NSGlobalBlock`: 类似函数,位于text段;
            +* `NSStackBlock`: 位于栈内存,函数返回后block将无效;
            +* `NSMallocBlock`: 位于堆内存。
            +

            block其实包含两个部分内容:

            +
              +
            1. block执行的代码,这是在编译的时候已经生成好的;
            2. +
            3. 一个包含block执行时需要的所有外部变量值的数据结构。 block将使用到的、作用域附近到的变量的值建立一份快照拷贝到栈上。
              +
              +
              + block的数据结构 +
              +
              block的数据结构
              +
              +
            4. +
            +

            对于 block 外的变量引用,block 默认是将其复制到其数据结构中来实现访问的:

            +
            +
            + 传入外部变量 +
            +
            传入外部变量
            +

            对于用 __block 修饰的外部变量引用,block 是复制其引用地址来实现访问的:
            +
            +
            + 用__block修饰 +
            +
            用__block修饰
            +

            +

            初步了解了block后看看它怎么构成循环引用并怎么解决的吧

            +
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            typedef void(^block)();
            @property (copy, nonatomic) block myBlock;
            @property (copy, nonatomic) NSString *blockString;
            - (void)testBlock {
            self.myBlock = ^() {
            //其实注释中的代码,同样会造成循环引用
            NSString *localString = self.blockString;
            //NSString *localString = _blockString;
            //[self doSomething];
            };
            }
            +

            看了前面关于block的一些介绍应该容易看出来,当我们往block中传入数据时是保存在了block的堆中,如上述代码中引用了self相当于对self进行了一次retain,而self本身持有block于是造成了循环引用,同时在block中release``self没有用,因为在block中操作作用范围仅仅来block的函数栈,影响不到堆中的self,解决方法如下:

            +
            1
            2
            3
            4
            5
            __weak typeof(self) weakSelf = self;
            self.myBlock = ^(){
            __strong typeof(weakSelf) = strongSelf;
            NSString *localString = strongSelf;
            }
            +

            其中传入一个若引用就不会造成循环引用,然后在block的函数栈中用一个强指针来接受传进来的弱指针,防止弱指针被提前释放产生野指针。

            +
            +

            参考文章:
            Cooper – 正确使用Block避免Cycle Retain和Crash
            唐巧 – 谈Objective-C block的实现
            Dev Talking – Objective-C中的Block

            +
            +
              +
            1. delegate
              我们对代理的写法一般都是:
              1
              @property (nonatomic, weak) id<TestDelegate> delegate;
              +
            2. +
            +

            如果使用strong的话很明显会造成循环引用(delegate调用self的一些东西),今天被面试官问道如果使用delegate出现了循环引用怎么解决,我说用weak,他说换一个,然后就懵住了,只回答了思路,找到互相引用的对象(可以用Instruments)然后断开引用。

            +

            Autorelease

              +
            • 简介
              很好理解,字面意思上看就是自动释放,我们可以通过使用autorelease让编译器帮我们在某个时刻自动释放内存。在MRC时我们使用NSAutorelease类来使用自动释放机制,代码如下:
            • +
            +
            1
            2
            3
            NSAutoreleasePool pool = [[NSAutoreleasePool alloc] init];
            // Code benefitting from a local autorelease pool.
            [pool release];
            +

            也可以直接使用[obj autorelease]
            现在基本上都是ARC环境,这个时候我们使用的是autoreleasepool(自动释放池),比如常见的:

            +
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            //iOS program
            int main(int argc, char * argv[]) {
            @autoreleasepool {
            return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
            }
            }
            //Command line program
            int main(int argc, const char *argv[]) {
            @autoreleasepool {
            //...
            }
            return 0;
            }
            +

            它的作用是把我们在{}中申请的对象在事件处理完时自动释放掉,其中的原理推荐阅读Qi TangiOS 中的 Autorelease Pool
            前面说到的事件处理完时其实就是一次runloop结束时。

            +
            +
            + runloop和autorelease +
            +
            runloop和autorelease
            +

            +
            +

            程序运行 -> 开启事件循环 -> 发生触摸事件 -> 创建自动释放池 -> 处理触摸事件 -> 事件对象加入自动释放池 -> 一次事件循环结束, 销毁自动释放池

            +
            +
              +
            • 什么时候用@autoreleasepool

              +
                +
              1. 写基于命令行的的程序时,就是没有UI框架,如AppKit等Cocoa框架时。
              2. +
              +
                +
              • 写循环,循环里面包含了大量临时创建的对象。(本文的例子)
              • +
              • 创建了新的线程。(非Cocoa程序创建线程时才需要)
              • +
              • 长时间在后台运行的任务。
              • +
              +
            • +
            • 利用@autoreleasepool优化循环
              当我们一个循环内创建了很多临时对象时,可以通过使用@autoreleasepool在每次循环结束时释放内存:

              +
            • +
            +
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            //来自Apple文档,见参考
            NSArray *urls = <# An array of file URLs #>;
            for (NSURL *url in urls) {
            @autoreleasepool {
            NSError *error;
            NSString *fileContents = [NSString stringWithContentsOfURL:url
            encoding:NSUTF8StringEncoding error:&error];
            /* Process the string, creating and autoreleasing more objects. */
            }
            }
            +
            +

            参考文章:
            sunnyxx —— 黑幕背后的Autorelease
            Jerry4me —— iOS中autorelease的那些事儿
            tutuge —— @autoreleasepool-内存的分配与释放

            +
            +

            修饰词

            +
            + +
            +
            + + + Last updated: +
            + + + + http://codingdoge.cn/2017/07/17/title: 漫谈iOS系列之:内存管理/ + +
            + +
            + + +
            + +
            + + + + +
            + + + + + + + + + + + + + + + + + + + + + +
            + +
            + +

            + + 谢谢大爷~ + +

            +
            + +
            + 打赏二维码 +
            + + + +
            +
            + + + +
            + + + +
            +
            + + + + + + + +
            + +

            扫一扫,分享到微信

            + 微信分享二维码 +
            + + + + + + + + + + +
            +
              +
              + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/17/title: \346\274\253\350\260\210iOS\347\263\273\345\210\227\344\271\213\357\274\232\345\244\232\347\272\277\347\250\213/index.html" "b/2017/07/17/title: \346\274\253\350\260\210iOS\347\263\273\345\210\227\344\271\213\357\274\232\345\244\232\347\272\277\347\250\213/index.html" new file mode 100644 index 0000000..411cf3a --- /dev/null +++ "b/2017/07/17/title: \346\274\253\350\260\210iOS\347\263\273\345\210\227\344\271\213\357\274\232\345\244\232\347\272\277\347\250\213/index.html" @@ -0,0 +1,554 @@ + + + + + + + + + + + + + + + + + + + + + 漫谈iOS系列之:多线程 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
              + + + +
              + +
              + +
              +

              漫谈iOS系列之:多线程

              +
              + + + + + + + +
              +
              + + + + +
              + + +
              + + + +
              + +
              +

              漫谈iOS系列之:多线程

              + +
              +
              +

              线程基本概念

              线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
              同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器环境(register context),自己的线程本地存储(thread-local storage)。
              线程的状态

              +
                +
              • 新生态(New Thread)
              • +
              • 可运行态(Runnable)
              • +
              • 阻塞/非运行态(Not Runnable)
              • +
              • 死亡态(Dead)
              • +
              +
              +
              +
              + +
              +
              +
              +

              死锁
              是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。

              +

              死锁条件

              +
                +
              1. 互斥条件:所谓互斥就是进程在某一时间内独占资源。
              2. +
              3. 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
              4. +
              5. 不剥夺条件:进程已获得资源,在末使用完之前,不能强行剥夺。
              6. +
              7. 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
              8. +
              +

              创建线程的开销

              多线程的代价及上下文切换

              +

              pThread

              POSIX线程(POSIX Threads,常被缩写为Pthreads)是POSIX的线程标准,跨平台,适用于多种操作系统(类Unix操作系统中,都使用Pthreads作为操作系统的线程,Windows操作系统也有其移植版pthreads-win32),可移植性强,是一套纯C语言的通用API,且线程的生命周期需要程序员自己管理,使用难度较大,所以在实际开发中通常不使用。
              Pthreads API中大致共有100个函数调用,全都以”pthread_”开头,并可以分为四类:

              +
                +
              • 线程管理,例如创建线程,等待(join)线程,查询线程状态等。
              • +
              • 互斥锁(Mutex):创建、摧毁、锁定、解锁、设置属性等操作。
              • +
              • 条件变量(Condition Variable):创建、摧毁、等待、通知、设置与查询属性等操作。
              • +
              • 使用了互斥锁的线程间的同步管理。
              • +
              +

              pThread在实际开发中基本不使用,所以大概了解下就好了。

              +

              NSThread

              GCD

              dispatch_barrier_async&dispatch_barrier_sync

              在队列中,barrier块必须单独执行,不能与其他block并行。这只对并发队列有意义,并发队列如果发现接下来要执行的block是个barrier block,那么就一直要等到当前所有并发的block都执行完毕,才会单独执行这个barrier block代码块,等到这个barrier block执行完毕,再继续正常处理其他并发block

              +
              +

              async, sync两者区别在于async将自己的任务插入队列后, 不用等待自己的任务结束, 继续把后面的任务插入队列, 然后等待自己的任务运行结束才执行后面的任务, sync将自己的任务插入队列后,需要等待自己的任务运行结束才能将后面的任务插入队列。

              +
              +
              1
              2
              3
              4
              5
              6
              7
              8
              9
              10
              11
              12
              13
              14
              15
              16
              17
              18
              19
              20
              21
              22
              23
              24
              25
              26
              27
              28
              29
              30
              31
              32
              33
              34
              35
              36
              37
              #import <Foundation/Foundation.h>
              @interface Person : NSObject
              @property (nonatomic, copy) NSString *name;
              @end
              #import "Person.h"
              @interface Person ()
              @end
              static NSString *_name;
              static dispatch_queue_t _concurrentQueue;
              @implementation Person
              - (instancetype)init
              {
              if (self = [super init]) {
              _concurrentQueue = dispatch_queue_create("com.person.syncQueue", DISPATCH_QUEUE_CONCURRENT);
              }
              return self;
              }
              - (void)setName:(NSString *)name
              {
              dispatch_barrier_async(_concurrentQueue, ^{
              _name = [name copy];
              });
              }
              - (NSString *)name
              {
              __block NSString *tempName;
              dispatch_sync(_concurrentQueue, ^{
              tempName = _name;
              });
              return tempName;
              }
              @end
              +

              NSOperation

              NSOperation默认是非并发的,当你调用-[NSOperation start]方法时,该方法会等任务结束才会返回;
              并发的NSOperation是指,当你调用-[NSOperation start]后,NSOperation会在非当前线程(建立一个NSThread,或是dispatch async等)执行任务,并在任务结束之前就返回;

              +

              需要注意的是,并发行为都需要你自己实现,若要实现并发,你需要做很多额外的工作:

              +
                +
              1. 你需要创建一个subclass
              2. +
              3. 除了重载main方法,实现并发你还需要至少重载;start,isConcurrent,isExecuting,isFinished四个方法;
              4. +
              5. start里,创建Thread或者调用一个异步函数;
              6. +
              7. 更新isExecuting,并且发送相应KVO消息;
              8. +
              9. 任务结束后,你还得更新isExecutingisFinished,发送相应KVO消息。
                实现一个并发的NSOperation比较少见,具体如何实现,可以读读文档: NSOperation Class Reference
              10. +
              +

              大多数情况下NSOperation都设计成非并发,这样实现起来会简单很多;
              并且,一般会配合NSOperationQueue使用,由NSOperationQueue来负责执行NSOperation,而非直接调用-[NSOperation start]

              +

              若有复杂任务需要并发执行,一般也是拆成多个NSOperation,由NSOperationQueue来并发的执行多个NSOperation

              +
              +

              参考:
              关于iOS多线程,你看我就够了
              dispatch_barrier_sync和dispatch_barrier_async
              iOS开发:深入理解GCD 第二篇(dispatch_group、dispatch_barrier、基于线程安全的多读单写)
              NSOperation的并发和非并发有什么区别呀?

              +
              + +
              + +
              +
              + + + Last updated: +
              + + + + http://codingdoge.cn/2017/07/17/title: 漫谈iOS系列之:多线程/ + +
              + +
              + + +
              + +
              + + + + +
              + + + + + + + + + + + + + + + + + + + + + +
              + +
              + +

              + + 谢谢大爷~ + +

              +
              + +
              + 打赏二维码 +
              + + + +
              +
              + + + +
              + + + +
              +
              + + + + + + + +
              + +

              扫一扫,分享到微信

              + 微信分享二维码 +
              + + + + + + + + + + +
              +
                +
                + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/21/title: STL\345\270\270\350\247\201\347\224\250\346\263\225 \342\200\224 map/index.html" "b/2017/07/21/title: STL\345\270\270\350\247\201\347\224\250\346\263\225 \342\200\224 map/index.html" new file mode 100644 index 0000000..73812db --- /dev/null +++ "b/2017/07/21/title: STL\345\270\270\350\247\201\347\224\250\346\263\225 \342\200\224 map/index.html" @@ -0,0 +1,575 @@ + + + + + + + + + + + + + + + + + + + + + STL常见用法 — map | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                + + + +
                + +
                + +
                +

                STL常见用法 — map

                +
                + + + + + + + +
                +
                + + + + +
                + + +
                + + + +
                + +
                +

                STL常见用法 — map

                + +
                +

                STL常见用法 —

                +

                代码敲得少,STL总是用的不熟,便自己整理一些用法,有眼缘的顺手用着吧。

                +
                +
                +

                简介

                maps是一个关联容器,用来存储key-value式的元素,提供一对一hash。内部的实现,自建一颗红黑树,这棵树具有对数据自动排序的功能。比如一个班级中,每个学生的学号和他的姓名就存在一对一映射的关系。

                +
                  +
                • 第一个值是关键字(key),每个关键字只能在map中出现一次
                • +
                • 第二个值为关键字的值(value)
                • +
                +
                +
                +
                + +
                +
                +
                +

                用法

                头文件

                1
                2
                3
                4
                5
                6
                7
                8
                #include <map>
                template<
                class Key,
                class T,
                class Compare = std::less<Key>,
                class Allocator = std::allocator<std::pair<const Key, T> >
                > class map;
                +

                构造函数

                1
                2
                3
                4
                5
                namespace pmr {
                template <class Key, class T, class Compare = std::less<Key>>
                using map = std::map<Key, T, Compare,
                std::pmr::polymorphic_allocator<std::pair<const Key,T>>>
                }
                +

                成员函数

                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                成员函数实现操作
                begin返回一个起始的迭代器
                end返回一个末尾的迭代器
                empty检查容器是否为空
                size返回容器内元素个数
                clear清除容器内容
                insert插入元素或节点
                erase删除元素
                swap交换内容
                count返回指定key的元素个数
                find通过key查找元素
                +

                用法演示

                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                17
                18
                19
                20
                #include <map>
                void mapTest()
                {
                std::map<int, int> m; // 构造函数
                m.insert(pair<int, int>(1, 10)); // 插入元素
                m.insert(pair<int, int>(2, 30));
                m.insert(pair<int, int>(4, 50));
                map<int, int>::iterator it; // 迭代器
                it = m.find(3); // 通过key查找元素
                if (it == m.end()) // 如果返回值为尾部迭代器则无此元素
                {
                cout << "Not find" << endl;
                m.insert(pair<int, int>(3, 20));
                }
                for (it = m.begin(); it != m.end(); it++) // 通过迭代器遍历map容器
                {
                cout << it->first << " " << it->second << endl; // 通过迭代器访问元素的key-value
                }
                }
                +
                +

                参考:
                C/C++ - Map (STL) 用法與心得完全攻略

                +
                + +
                + +
                +
                + + + Last updated: +
                + + + + http://codingdoge.cn/2017/07/21/title: STL常见用法 — map/ + +
                + +
                + + +
                + +
                + + + + +
                + + + + + + + + + + + + + + + + + + + + + +
                + +
                + +

                + + 谢谢大爷~ + +

                +
                + +
                + 打赏二维码 +
                + + + +
                +
                + + + +
                + + + +
                +
                + + + + + + + +
                + +

                扫一扫,分享到微信

                + 微信分享二维码 +
                + + + + + + + + + + +
                +
                  +
                  + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/21/title: STL\345\270\270\350\247\201\347\224\250\346\263\225 \342\200\224 vector/index.html" "b/2017/07/21/title: STL\345\270\270\350\247\201\347\224\250\346\263\225 \342\200\224 vector/index.html" new file mode 100644 index 0000000..3bd06e4 --- /dev/null +++ "b/2017/07/21/title: STL\345\270\270\350\247\201\347\224\250\346\263\225 \342\200\224 vector/index.html" @@ -0,0 +1,663 @@ + + + + + + + + + + + + + + + + + + + + + STL常见用法 — vector | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                  + + + +
                  + +
                  + +
                  +

                  STL常见用法 — vector

                  +
                  + + + + + + + +
                  +
                  + + + + +
                  + + +
                  + + + +
                  + +
                  +

                  STL常见用法 — vector

                  + +
                  +
                  +

                  代码敲得少,STL总是用的不熟,便自己整理一些用法,有眼缘的顺手用着吧。

                  +
                  +
                  +

                  简介

                  vector是线性容器,它的元素严格的按照线性序列排序,和动态数组很相似,和数组一样,它的元素存储在一块连续的存储空间中,这也意味着我们不仅可以使用迭代器(iterator)访问元素,还可以使用指针的偏移方式访问,和常规数组不一样的是,vector能够自动存储元素,可以自动增长或缩小存储空间。

                  +

                  用法

                  头文件

                  1
                  #include <vector>
                  +

                  构造函数

                  1
                  2
                  3
                  4
                  5
                  6
                  7
                  8
                  // 1
                  template<class T, class Allocator = std::allocator<T> > class vector;
                  // 2
                  namespace pmr {
                  template <class T>
                  using vector = std::vector<T, std::pmr::polymorphic_allocator<T>>;
                  }
                  +
                  +
                    +
                  1. std::vector is a sequence container that encapsulates dynamic size arrays.
                  2. +
                  3. std::pmr::vector is an alias template that uses a polymorphic allocator
                  4. +
                  +
                  +

                  成员函数

                  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                  成员函数实现操作
                  c.assign(beg,end)将[beg; end)区间中的数据赋值给c
                  c.assign(n,elem)将n个elem的拷贝赋值给c
                  c.at(idx)传回索引idx所指的数据,如果idx越界,抛出out_of_range
                  c.back()传回最后一个数据,不检查这个数据是否存在
                  c.begin()传回迭代器重的可一个数据
                  c.capacity()返回容器中数据个数
                  c.clear()移除容器中所有数据
                  c.empty()判断容器是否为空
                  c.end()指向迭代器中的最后一个数据地址
                  c.erase(pos)删除pos位置的数据,传回下一个数据的位置
                  c.erase(beg,end)删除[beg,end)区间的数据,传回下一个数据的位置
                  c.front()传回第一个数据
                  get_allocator使用构造函数返回一个拷贝
                  c.insert(pos,elem)在pos位置插入一个elem拷贝,传回新数据位置
                  c.insert(pos,n,elem)在pos位置插入n个elem数据。无返回值
                  c.insert(pos,beg,end)在pos位置插入在[beg,end)区间的数据。无返回值
                  c.max_size()返回容器中最大数据的数量
                  c.pop_back()删除最后一个数据
                  c.push_back(elem)在尾部加入一个数据
                  c.rbegin()传回一个逆向队列的第一个数据
                  c.rend()传回一个逆向队列的最后一个数据的下一个位置
                  c.resize(num)重新指定队列的长度
                  c.reserve()保留适当的容量
                  c.size()返回容器中实际数据的个数
                  c1.swap(c2)将c1和c2元素互换
                  swap(c1,c2)同上操作
                  vector c创建一个空的vector
                  vector c1(c2)复制一个vector
                  vector c(n)创建一个vector,含有n个数据,数据均已缺省构造产生
                  vector c(n, elem)创建一个含有n个elem拷贝的vector。
                  vector c(beg,end)创建一个以[beg;end)区间的vector
                  c.~ vector ()销毁所有数据,释放内存
                  +

                  用法演示

                    +
                  • 使用reverse将元素翻转:
                    需要头文件#include<algorithm>
                  • +
                  +
                  1
                  reverse(vec.begin(),vec.end());
                  +

                  将元素翻转(在vector中,如果一个函数中需要两个迭代器,一般后一个都不包含)

                  +
                    +
                  • 使用sort排序:
                    需要头文件#include
                    sort(vec.begin(),vec.end());(默认是按升序排列,即从小到大).
                    可以通过重写排序比较函数按照降序比较,如下:
                  • +
                  +

                  定义排序比较函数:

                  +
                  1
                  2
                  3
                  4
                  bool Comp(const int &a,const int &b)
                  {
                  return a>b;
                  }
                  +

                  调用时:sort(vec.begin(),vec.end(),Comp),这样就降序排序。

                  + +
                  + +
                  +
                  + + + Last updated: +
                  + + + + http://codingdoge.cn/2017/07/21/title: STL常见用法 — vector/ + +
                  + +
                  + + +
                  + +
                  + + + + +
                  + + + + + + + + + + + + + + + + + + + + + +
                  + +
                  + +

                  + + 谢谢大爷~ + +

                  +
                  + +
                  + 打赏二维码 +
                  + + + +
                  +
                  + + + +
                  + + + +
                  +
                  + + + + + + + +
                  + +

                  扫一扫,分享到微信

                  + 微信分享二维码 +
                  + + + + + + + + + + +
                  +
                    +
                    + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/23/title: CocoaPods \345\256\211\350\243\205\345\217\212\344\270\200\350\210\254\344\275\277\347\224\250/index.html" "b/2017/07/23/title: CocoaPods \345\256\211\350\243\205\345\217\212\344\270\200\350\210\254\344\275\277\347\224\250/index.html" new file mode 100644 index 0000000..16018dc --- /dev/null +++ "b/2017/07/23/title: CocoaPods \345\256\211\350\243\205\345\217\212\344\270\200\350\210\254\344\275\277\347\224\250/index.html" @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + CocoaPods 安装及一般使用 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                    + + + +
                    + +
                    + +
                    +

                    CocoaPods 安装及一般使用

                    +
                    + + + + + + + +
                    +
                    + + + + +
                    + + +
                    + + + +
                    + +
                    +

                    CocoaPods 安装及一般使用

                    + +
                    +

                    WHAT IS COCOAPODS

                    CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects.CocoaPods can help you scale your projects elegantly.

                    +

                    INSTALL

                    CocoaPods是基于ruby建立的,要确保你的电脑里装有Ruby,不过Mac都是自带Ruby的,你可以用rvm来管理你的ruby.

                    +
                    +

                    RVM 实用指南 · Ruby China
                    然后我们使用Rubygem来安装cocoapods.
                    由于GFW的原因我们不能访问cocoapods.org,使用淘宝的Ruby镜像来代替:

                    +
                      +
                    1. 删除自带的Ruby镜像
                      $ gem sources --remove https://rubygems.org/
                    2. +
                    3. 添加淘宝的镜像
                      $ gem sources -a https://gems.ruby-china.org/
                      (如果这个镜像不能用,就用https://gems.ruby-china.org/
                    4. +
                    5. 可以用$ gem sources -l来检验。成功即显示以下结果:
                      +
                      +
                      + FF76DDA8-EC18-438C-B921-8603D4688C1D +
                      +
                      FF76DDA8-EC18-438C-B921-8603D4688C1D
                      +
                      +
                    6. +
                    +
                    +
                      +
                    1. 安装CocoaPods
                      $ sudo gem install cocoapods
                    2. +
                    3. 配置CocoaPods
                      $ pod setup
                    4. +
                    +

                    如果安装失败的话,根据报错去解决问题,比如gem没更新,ruby版本等。
                    常见问题:

                    While executing gem ... (Errno::EPERM)
                    1
                    Operation not permitted - /usr/bin/xcodeproj

                    +

                    安装Cocoapods, 更新gem出现的问题。 - SegmentFault
                    ios - Cannot install cocoa pods after uninstalling, results in error - Stack Overflow

                    +

                    Using CocoaPods

                      +
                    1. 使用之前你要确保你所想用的库存在CocoaPods中:(拿AFNetworking举例)
                      $ pod search AFNetworking
                      第一次搜索会需要建立索引,比较慢一些。
                    2. +
                    3. 搜索完成后会列举出结果和版本:

                      +
                      +
                      +
                      + 37122577-4CDC-48C9-9B25-4B943D983810 +
                      +
                      37122577-4CDC-48C9-9B25-4B943D983810
                      +
                      +
                    4. +
                    5. 然后通过创建Podfile文件来添加依赖关系

                      +
                    6. +
                    7. cd进你项目所在的目录(简介里面可以直接复制路径)
                    8. +
                    9. 利用vim创建Podfile文件
                      $ vim Podfile
                    10. +
                    11. 然后输入:
                      1
                      2
                      3
                      4
                      5
                      platform :ios, '10.0'
                      target 'TargetName' do
                      pod 'AFNetworking', '~> 3.0'
                      end
                      +
                    12. +
                    +
                    +

                    文字的意思是,当前AFNetworking支持的iOS最高版本是iOS 10.0,’TargetName’为你项目的名称,要下载的AFNetworking版本是3.0
                    保存退出。

                    +
                      +
                    1. 运行$ pod install
                      完成后会出现
                      提示使用’XXX.xcworkspace’文件来代替之前的’XXX.xcodeproj’文件打开项目。
                      打开项目后会发现
                      里面有了我们想要加进来的库,可以#import进来了。
                    2. +
                    +
                    +
                      +
                    1. 增加新的库
                      如果使用过程中我还想添加其他的库怎么办,只要在Podfile里面接着添加,然后终端再执行pod install就可以了。
                    2. +
                    3. 更新CocoaPods中的库
                      第三方库们都有人在维护升级,我们需要隔断时间就要更新下我们工程中第三方库的版本。只需要终端输入命令pod update就可以了。
                    4. +
                    5. 删除CocoaPods中的某些库
                      当我们需要去掉某个第三方库时,只需要在Podfile删除该引入该库的语句,然后执行pod update或者pod install就可以了。
                    6. +
                    7. 升级CocoaPods
                      sudo gem install cocoapods
                    8. +
                    + +
                    + +
                    +
                    + + + Last updated: +
                    + + + + http://codingdoge.cn/2017/07/23/title: CocoaPods 安装及一般使用/ + +
                    + +
                    + + +
                    + +
                    + + + + +
                    + + + + + + + + + + + + + + + + + + + + + +
                    + +
                    + +

                    + + 谢谢大爷~ + +

                    +
                    + +
                    + 打赏二维码 +
                    + + + +
                    +
                    + + + +
                    + + + +
                    +
                    + + + + + + + +
                    + +

                    扫一扫,分享到微信

                    + 微信分享二维码 +
                    + + + + + + + + + + +
                    +
                      +
                      + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/23/title: OC\344\270\255ARC forbids explicit message send of '...'\351\224\231\350\257\257 /index.html" "b/2017/07/23/title: OC\344\270\255ARC forbids explicit message send of '...'\351\224\231\350\257\257 /index.html" new file mode 100644 index 0000000..942018e --- /dev/null +++ "b/2017/07/23/title: OC\344\270\255ARC forbids explicit message send of '...'\351\224\231\350\257\257 /index.html" @@ -0,0 +1,528 @@ + + + + + + + + + + + + + + + + + + + + + OC中ARC forbids explicit message send of '...'错误 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                      + + + +
                      + +
                      + +
                      +

                      OC中ARC forbids explicit message send of '...'错误

                      +
                      + + + + + + + +
                      +
                      + + + + +
                      + + +
                      + + + +
                      + +
                      +

                      OC中ARC forbids explicit message send of '...'错误

                      + +
                      +
                      +

                      转自CSDN hahahacff
                      有所整理

                      +
                      +

                      ARC forbids explicit message send of’retainCount’

                        +
                      • 同’release’等等
                        +
                        +
                        + +
                        +
                        +
                        +很显然,是ARC的问题。
                        错误原因:在创建工程的时候点选了“Use Automatic Reference Counting”选项,但是又调用了对象的retainCount方法
                      • +
                      +

                      ARC是什么?

                      ARC是iOS 5推出的新功能,全称叫ARC(AutomaticReferenceCounting)。
                      简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机制在iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2可以使用该机制。简单地理解ARC,就是通过指定的语法,让编译器(LLVM3.0)在编译代码时,自动生成实例的引用计数管理部分代码。有一点,ARC并不是GC,它只是一种代码静态分析(StaticAnalyzer)工具。

                      +

                      解决方法

                        +
                      1. 选择要项目,双击中间的工程名称,进入build setting
                        +
                        +
                        + +
                        +
                        +
                      2. +
                      3. 将中间的Objective-C Automatic Reference Counting改为no
                      4. +
                      + +
                      + +
                      + + +
                      + + +
                      + +
                      + + + + +
                      + + + + + + + + + + + + + + + + + + + + + +
                      + +
                      + +

                      + + 谢谢大爷~ + +

                      +
                      + +
                      + 打赏二维码 +
                      + + + +
                      +
                      + + + +
                      + + + +
                      +
                      + + + + + + + +
                      + +

                      扫一扫,分享到微信

                      + 微信分享二维码 +
                      + + + + + + + + + + +
                      +
                        +
                        + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/23/title: Objective-C\345\243\260\346\230\216\345\234\250\345\244\264\346\226\207\344\273\266\345\222\214\345\256\236\347\216\260\346\226\207\344\273\266\344\270\255\347\232\204\345\214\272\345\210\253 /index.html" "b/2017/07/23/title: Objective-C\345\243\260\346\230\216\345\234\250\345\244\264\346\226\207\344\273\266\345\222\214\345\256\236\347\216\260\346\226\207\344\273\266\344\270\255\347\232\204\345\214\272\345\210\253 /index.html" new file mode 100644 index 0000000..c292728 --- /dev/null +++ "b/2017/07/23/title: Objective-C\345\243\260\346\230\216\345\234\250\345\244\264\346\226\207\344\273\266\345\222\214\345\256\236\347\216\260\346\226\207\344\273\266\344\270\255\347\232\204\345\214\272\345\210\253 /index.html" @@ -0,0 +1,561 @@ + + + + + + + + + + + + + + + + + + + + + Objective-C声明在头文件和实现文件中的区别 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                        + + + +
                        + +
                        + +
                        +

                        Objective-C声明在头文件和实现文件中的区别

                        +
                        + + + + + + + +
                        +
                        + + + + +
                        + + +
                        + + + +
                        + +
                        +

                        Objective-C声明在头文件和实现文件中的区别

                        + +
                        +
                        +

                        转自codecloud(有整理)

                        +
                        +

                        调试程序的时候,突然想到这个问题,百度一下发现有不少这方面的问答,粗略总结一下:

                          +
                        • 属性写在.h文件中和在.m文件中有什么区别?
                        • +
                        +

                        Objective-C中有分类和类扩展的概念,而实现文件中的类声明实际上就是类扩展.

                        +
                        +

                        @interface部分为类扩展(extension)

                        +
                        +

                        其被设计出来就是为了解决两个问题的

                        +
                          +
                        1. 定义类私有方法的地方,也就是下面说到的区别一
                        2. +
                        3. 实现public readonly,private readwrite的property(意思是在h头文件中定义一个属性对外是readonly的,但在类的内部希望是可读写的,所以可以在m源文件中的@interface部分重新定义此属性为readwrite,此时此属性对外是只读的,对内是读写的).
                        4. +
                        +

                        此外,也可在此部分申明变量和属性,但申明的变量,属性和方法均为私有的,只能够被当前类访问,相当于private。

                        +

                        区别一:

                        属性在.h文件中和在.m中声明是有区别的。区别就是,在.h文件中声明的属性,外部类可以通过“类实例.属性”来调用,但在.m中声明的则不可以,获取和设置的方法,只能是通过setValue:forKey和valueForKey来实现。

                        +

                        成员变量,有三种权限,就是大家都知道的@private、@protected、@public ,写在.m文件中时,相当于是@private权限,子类无法访问,验证了一下,做权限修改也无效。而写在.h文件中,默认是@protected权限,子类可以访问,可以做权限修改。因为访问权限指针对.h文件。.h文件中成员变量,外部类对其的调用,跟C++一样,用->来调用。

                        +

                        区别二

                        这样可以提高编译效率,避免重复编译。
                        因为分开的话只需要编译一次生成对应的.obj文件后,再次应用该类的地方,这个类就不会被再次编译,从而大大提高了效率。这样可以提高编译效率,避免重复编译.

                        +
                        +

                        怎么去解释呢…其实这是一个面向对象的思想,所谓”提高”的比较对象,应该是直接将方法写到具体函数里的实现方式.
                        h为编译器提供一个索引、声明,连接obj对象和主程序.
                        编译器在编译的时候,如果需要,则去查找h,找到了h,再找对应的obj,就可以找到类的方法了.
                        但是如果直接写入到同一个文件(例如hpp),主程序没有索引,也不清楚具体的类实现了没有,只能一次次重复的编译相同的代码,这样实际上没有把这个类该有的东西抽象出来.
                        对于函数声明在头文件中,在实现文件中实现,也是避免重复编译,函数可以多次声明,但只能实现一次.

                        +
                        +

                        头文件相对于实现文件的作用在于:

                          +
                        1. 头文件可以预先告诉编译器一些必要的声明,让编译器顺利进行下去,在连接实现以前.未必出现实际的定义.

                          +
                          头文件的意义在:
                          +* 使得程序简明,清晰.
                          +* 避免了重复编写相同的声明代码.
                          +
                        2. +
                        3. .c和.h文件没有必然的联系.
                        4. +
                        +

                        关于头文件和实现文件的编译连接的过程

                        其实要理解C文件与头文件有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:

                        +
                          +
                        1. 预处理阶段
                        2. +
                        3. 词法与语法分析阶段
                        4. +
                        5. 编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件
                        6. +
                        7. 连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,当然,最后还可以用objcopy生成纯二进制
                          码,也就是去掉了文件格式信息.
                        8. +
                        +

                        编译器在编译时是以C文件为单位进行的,也就是说如果你的项目中一个C文件都没有,那么你的项目将无法编译,连接器是以目标文件为单位,它将一个或多个目标文件进行函数与变量的重定位,生成最终的可执行文件,在PC上的程序开发,一般都有一个main函数,这是各个编译器的约定,当然,你如果自己写连接器脚本的话,可以不用main函数作为程序入口!!!

                        +

                        有了这些基础知识,再言归正传,为了生成一个最终的可执行文件,就需要一些目标文件,也就是需要C文件,而这些C文件中又需要一个main函数作为可执行程序的入口,那么我们就从一个C文件入手,假定这个C文件内容如下:

                        +
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        #include \<stdio.h>
                        #include “mytest.h”
                        int main(int argc,char **argv)
                        {
                        test = 25;
                        printf(“test……………..%d\n”,test);
                        }
                        +

                        头文件内容如下:
                        int test;

                        +

                        现在以这个例子来讲解编译器的工作:

                          +
                        1. 预处理阶段:
                          编译器以C文件作为一个单元,首先读这个C文件,发现第一句与第二句是包含一个头文件,就会在所有搜索路径中寻找这两个文件,找到之后,就会将相应头文件中再去处理宏,变量,函数声明,嵌套的头文件包含等,检测依赖关系,进行宏替换,看是否有重复定义与声明的情况发生,最后将那些文件中所有的东东全部扫描进这个当前的C文件中,形成一个中间“C文件”

                          +
                        2. +
                        3. 编译阶段:
                          在上一步中相当于将那个头文件中的test变量扫描进了一个中间C文件,那么test变量就变成了这个文件中的一个全局变量,此时就将所有这个中间C文件的所有变量,函数分配空间,将各个函数编译成二进制码,按照特定目标文件格式生成目标文件,在这种格式的目标文件中进行各个全局变量,函数的符号描述,将这些二进制码按照一定的标准组织成一个目标文件

                          +
                        4. +
                        5. 连接阶段:
                          将上一步成生的各个目标文件,根据一些参数,连接生成最终的可执行文件,主要的工作就是重定位各个目标文件的函数,变量等,相当于将个目标文件中的二进制码按一定的规范合到一个文件中

                          +
                        6. +
                        +

                        再回到C文件与头文件各写什么内容的话题上:

                        理论上来说C文件与头文件里的内容,只要是C语言所支持的,无论写什么都可以的,比如你在头文件中写函数体,只要在任何一个C文件包含此头文件就可以将这个函数编译成目标文件的一部分(编译是以C文件为单位的,如果不在任何C文件中包含此头文件的话,这段代码就形同虚设),你可以在C文件中进行函数声明,变量声明,结构体声明,这也不成问题!!!
                        那为何一定要分成头文件与C文件呢?又为何一般都在头件中进行函数,变量声明,宏声明,结构体声明呢?而在C文件中去进行变量定义,函数实现呢??
                        原因如下:

                        +
                          +
                        1. 如果在头文件中实现一个函数体,那么如果在多个C文件中引用它,而且又同时编译多个C文件,将其生成的目标文件连接成一个可执行文件,在每个引用此头文件的C文件所生成的目标文件中,都有一份这个函数的代码,如果这段函数又没有定义成局部函数,那么在连接时,就会发现多个相同的函数,就会报错

                          +
                        2. +
                        3. 如果在头文件中定义全局变量,并且将此全局变量赋初值,那么在多个引用此头文件的C文件中同样存在相同变量名的拷贝,关键是此变量被赋了初值,所以编译器就会将此变量放入DATA段,最终在连接阶段,会在DATA段中存在多个相同的变量,它无法将这些变量统一成一个变量,也就是仅为此变量分配一个空间,而不是多份空间,假定这个变量在头文件没有赋初值,编译器就会将之放入BSS段,连接器会对BSS段的多个同名变量仅分配一个存储空间

                          +
                        4. +
                        5. 如果在C文件中声明宏,结构体,函数等,那么我要在另一个C文件中引用相应的宏,结构体,就必须再做一次重复的工作,如果我改了一个C文件中的一个声明,那么又忘了改其它C文件中的声明,这不就出了大问题了,程序的逻辑就变成了你不可想象的了,如果把这些公共的东东放在一个头文件中,想用它的C文件就只需要引用一个就OK了!!!这样岂不方便,要改某个声明的时候,只需要动一下头文件就行了

                          +
                        6. +
                        7. 在头文件中声明结构体,函数等,当你需要将你的代码封装成一个库,让别人来用你的代码,你又不想公布源码,那么人家如何利用你的库呢?也就是如何利用你的库中的各个函数呢??一种方法是公布源码,别人想怎么用就怎么用,另一种是提供头文件,别人从头文件中看你的函数原型,这样人家才知道如何调用你写的函数,就如同你调用printf函数一样,里面的参数是怎样的??你是怎么知道的??还不是看人家的头文件中的相关声明啊!!!当然这些东东都成了C标准,就算不看人家的头文件,你一样可以知道怎么使用.

                          +
                        8. +
                        + +
                        + +
                        + + +
                        + + +
                        + +
                        + + + + +
                        + + + + + + + + + + + + + + + + + + + + + +
                        + +
                        + +

                        + + 谢谢大爷~ + +

                        +
                        + +
                        + 打赏二维码 +
                        + + + +
                        +
                        + + + +
                        + + + +
                        +
                        + + + + + + + +
                        + +

                        扫一扫,分享到微信

                        + 微信分享二维码 +
                        + + + + + + + + + + +
                        +
                          +
                          + + + + + + + + + + + + + + + + + + + diff --git a/2017/07/23/title: Remove Duplicates from Sorted Array /index.html b/2017/07/23/title: Remove Duplicates from Sorted Array /index.html new file mode 100644 index 0000000..ae31d2e --- /dev/null +++ b/2017/07/23/title: Remove Duplicates from Sorted Array /index.html @@ -0,0 +1,521 @@ + + + + + + + + + + + + + + + + + + + + + Remove Duplicates from Sorted Array | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                          + + + +
                          + +
                          + +
                          +

                          Remove Duplicates from Sorted Array

                          +
                          + + + + + + + +
                          +
                          + + + + +
                          + + +
                          + + + +
                          + +
                          +

                          Remove Duplicates from Sorted Array

                          + +
                          +
                          +

                          题目来源LeetCode: LeetCode OJ

                          +
                          +
                          +

                          题目描述

                          Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.
                          Do not allocate extra space for another array, you must do this in place with constant memory.
                          For example,
                          Given input array nums = [1,1,2],
                          Your function should return length = 2, with the first two elements of nums being 1 and 2 respectively. It doesn’t matter what you leave beyond the new length.

                          +

                          题目解释

                          给出一个sorted array(意思是指已经排好序了?),处理后数组里每一个元素只能出现一次,返回处理后的数组长度。
                          不能使用额外的数组空间,只能用已经给出的确定的内存空间。

                          +

                          分析

                          因为不太懂sorted array具体指的什么,第一次做的时候以为数组是随机的,相同元素出现的位置是随机的,然后题目也没给出limit time,随手就写了一个O(n^3)

                          +
                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          9
                          10
                          for(int i = 0; i < num; i++){
                          truefor(int j = i+1; j < num; j++){
                          truetrueif(array[i] == array[j]){
                          for(int k = j; k < num-1; k++)
                          array[k] = array[k+1];
                          num--;
                          j--;
                          }
                          }
                          }
                          +

                          自然是T了。然后就把sorted array当做已经排好序的数组,那就容易多了,算法也都是O(1),一看代码就明白,水题,直接上代码。

                          +

                          way1

                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          if (nums.empty()) return 0;
                          int index = 0;
                          for (int i = 1; i < nums.size(); i++) {
                          if (nums[index] != nums[i])
                          nums[++index] = nums[i];
                          }
                          return index + 1;
                          +

                          way2 STL

                          1
                          return distance(nums.begin(), unique(nums.begin(), nums.end()));
                          +
                            +
                          • std::distance
                            template
                            typename iterator_traits::difference_type
                            distance (InputIterator first, InputIterator last);
                            Return distance between iterators
                            Calculates the number of elements between first and last.
                            c++ reference

                            +
                          • +
                          • std::unique
                            equality (1)
                            template
                            ForwardIterator unique (ForwardIterator first, ForwardIterator last);
                            predicate (2)
                            template
                            ForwardIterator unique (ForwardIterator first, ForwardIterator last,

                            +
                            BinaryPredicate pred);  
                            +

                            Remove consecutive duplicates in range
                            Removes all but the first element from every consecutive group of equivalent elements in the range [first,last).
                            c++ reference

                            +
                          • +
                          +

                          相关题目

                          RemoveDuplicatesfromSortedArrayII

                          + +
                          + +
                          +
                          + + + Last updated: +
                          + + + + http://codingdoge.cn/2017/07/23/title: Remove Duplicates from Sorted Array / + +
                          + +
                          + + +
                          + +
                          + + + + +
                          + + + + + + + + + + + + + + + + + + + + + +
                          + +
                          + +

                          + + 谢谢大爷~ + +

                          +
                          + +
                          + 打赏二维码 +
                          + + + +
                          +
                          + + + +
                          + + + +
                          +
                          + + + + + + + +
                          + +

                          扫一扫,分享到微信

                          + 微信分享二维码 +
                          + + + + + + + + + + +
                          +
                            +
                            + + + + + + + + + + + + + + + + + + + diff --git a/2017/07/23/title: Search in Rotated Sorted Array /index.html b/2017/07/23/title: Search in Rotated Sorted Array /index.html new file mode 100644 index 0000000..8ee366a --- /dev/null +++ b/2017/07/23/title: Search in Rotated Sorted Array /index.html @@ -0,0 +1,605 @@ + + + + + + + + + + + + + + + + + + + + + Search in Rotated Sorted Array | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                            + + + +
                            + +
                            + +
                            +

                            Search in Rotated Sorted Array

                            +
                            + + + + + + + +
                            +
                            + + + + +
                            + + +
                            + + + +
                            + +
                            +

                            Search in Rotated Sorted Array

                            + +
                            +
                            +

                            题目来源LeetCode: LeetCode OJ

                            +
                            +
                            +
                            +

                            题目描述: Suppose a sorted array is rotated at some pivot unknown to you beforehand.
                            (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).
                            You are given a target value to search. If found in the array return its index, otherwise return -1.
                            You may assume no duplicate exists in the array.

                            +
                            +

                            题目解释

                            一个排好序的数组,不知道以哪个点为中心旋转了(部分有序),你的任务是查找给定的数是否存在数组中。在的话返回下标,不在的话返回-1.

                            +

                            分析

                            查找首先想到O(log(n))的二分查找,但是二分查找的前提是有序数组。题目里一个有序数组旋转后变成了部分有序。通过比较两端大小找到增序部分。

                            +
                            +

                            eg: 4 5 6 0 1 2 3
                            first = 4, mid = 0, last = 3,
                            通过比较first,mid,last找到增序部分。
                            在这个例子中为1 2 3,
                            然后判断target是否在这个增序子序列中,
                            如果在则直接用二分查找,
                            不在则在另一部分(例子中为4 5 6 0)中继续分解。

                            +
                            +

                            Code

                            int search(const vector<int>& nums, int target)
                            +{
                            +    int first = 0;
                            +    int last = nums.size();
                            +    while(first != last)
                            +    {
                            +        const int mid = (first+last)>>1;    // 使用位运算加速
                            +        if(nums[mid] == target)
                            +            return mid;
                            +        if(nums[first] <= nums[mid])    // 找到增序子序列
                            +            if(nums[first]<=target && target<nums[mid])    // 找到target在哪个部分
                            +                last = mid;
                            +            else
                            +                first = mid+1;
                            +        else
                            +            if(nums[mid]<target && target<=nums[last-1])
                            +                first = mid+1;
                            +            else
                            +                last = mid;
                            +    }
                            +    return -1;
                            +}
                            +
                            +

                            拓展

                            当数组为无序时的二分查找

                            +

                            分析

                            一种是先排序再二分,一种是结合快排思想,每次选择一个关键字,比他大的放右边,比他小的放左边,然后再比较他和需要查找的数的关系,再选择区间进行迭代。如果需要返回查找数的下标,则添加一个纪录下标的数组,这样排好序后也能知道当前数在原始数组中的位置。

                            +
                            +

                            初始数组3 1 2 5 4 7 0 6
                            mid = key = 3 进行一次快排填坑
                            得到数组0 1 2 3 4 7 5 6
                            比较mid与target
                            如果target>mid则迭代mid后半部分
                            如果target<mid则迭代mid前半部分
                            直到找到target

                            +
                            +

                            Code

                            int BinarySearch(vector<int>& nums, int target)
                            +{
                            +    int num = nums.size();
                            +    int index[num];        // index数组纪录下标 以便能找到在数组的初始位置
                            +    for(int i = 0; i < num; i++)    // 初始化index数组
                            +        index[i] = i;
                            +    int l, r, m, sl, sr, mIndex;
                            +    l = 0, r = num-1;
                            +    while(l<=r)        // 开始迭代
                            +    {
                            +        mIndex = index[l], m = nums[l];
                            +        sl = l, sr = r;
                            +        while(sl<sr)    // 快排思想,左右填坑,并用index记录位置
                            +        {
                            +            while(sl<sr && m<nums[sr])
                            +                sr--;
                            +            nums[sl] = nums[sr];
                            +            index[sl] = index[sr];
                            +            while(sl<sr && m>nums[sl])
                            +                sl++;
                            +            nums[sr] = nums[sl];
                            +            index[sr] = index[sl];
                            +        }
                            +        nums[sl] = m;
                            +        index[sl] = mIndex;
                            +        if(m == target)
                            +            return mIndex;
                            +        if(target > m)        // 判断target在哪个区间
                            +            l = sl+1;
                            +        else
                            +            r = sl-1;
                            +    }
                            +    return -1;
                            +}
                            +
                            +

                            相关题目

                            Search in Rotated Sorted Array II

                            +

                            相关题目分析

                            因为允许出现重复数字,但是数组还是部分有序的,所以跳过重复数字即可

                            +

                            Code

                            int search(const vector<int>& nums, int target)
                            +{
                            +    int first = 0;
                            +    int last = nums.size();
                            +    while(first != last)
                            +    {
                            +            const int mid = (first+last)>>1;
                            +        if(nums[mid] == target)
                            +            return mid;
                            +        if(nums[first] < nums[mid])
                            +            if(nums[first]<=target && target<nums[mid])
                            +                last = mid;
                            +            else
                            +                first = mid+1;
                            +        else if(nums[first] > nums[mid])
                            +        {
                            +            if(nums[mid]<target && target<=nums[last-1])
                            +                first = mid+1;
                            +            else
                            +                last = mid;
                            +        }
                            +        else    // 特判相等时跳过
                            +            first++;
                            +    }
                            +    return -1;
                            +}
                            +
                            + +
                            + +
                            +
                            + + + Last updated: +
                            + + + + http://codingdoge.cn/2017/07/23/title: Search in Rotated Sorted Array / + +
                            + +
                            + + +
                            + +
                            + + + + +
                            + + + + + + + + + + + + + + + + + + + + + +
                            + +
                            + +

                            + + 谢谢大爷~ + +

                            +
                            + +
                            + 打赏二维码 +
                            + + + +
                            +
                            + + + +
                            + + + +
                            +
                            + + + + + + + +
                            + +

                            扫一扫,分享到微信

                            + 微信分享二维码 +
                            + + + + + + + + + + +
                            +
                              +
                              + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/23/title: self\344\270\216super\347\232\204\345\214\272\345\210\253 /index.html" "b/2017/07/23/title: self\344\270\216super\347\232\204\345\214\272\345\210\253 /index.html" new file mode 100644 index 0000000..6c770d8 --- /dev/null +++ "b/2017/07/23/title: self\344\270\216super\347\232\204\345\214\272\345\210\253 /index.html" @@ -0,0 +1,549 @@ + + + + + + + + + + + + + + + + + + + + + self与super的区别 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                              + + + +
                              + +
                              + +
                              +

                              self与super的区别

                              +
                              + + + + + + + +
                              +
                              + + + + +
                              + + +
                              + + + +
                              + +
                              +

                              self与super的区别

                              + +
                              +
                              +

                              原文CSDN evilotus
                              有所整理

                              +
                              +

                              ObjC中的类实现中经常看到这两个关键字”self”和”super”,以以前oop语言的经验,拿c++为例,self相当于thissuper相当于调用父类的方法,这么看起来是很容易理解的。但是它们真正是如何调用的呢? 你知道吗?

                              +
                              +
                                +
                              • 以下面的代码为例:
                              • +
                              +
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              12
                              13
                              14
                              15
                              16
                              17
                              18
                              19
                              20
                              21
                              22
                              23
                              24
                              25
                              26
                              27
                              28
                              @interface Person:NSObject
                              {
                              trueNSString* name;
                              }
                              (void) setName:(NSString) yourName;
                              @end //Person
                              @interface PersonMe:Person
                              {
                              trueNSUInteger age;
                              }
                              (void) setAge:(NSUInteger) age;
                              (void) setName:(NSString*) yourName andAge:(NSUInteger) age;
                              @end // PersonMe
                              @implementation PersonMe
                              (void) setName:(NSString*) yourName andAge:(NSUInteger) age
                              {
                              true[self setAge:age];
                              true[super setName:yourName];
                              }
                              @end // PersonMe
                              int main(int argc, char* argv[]) {
                              NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]
                              PersonMe* me = [[PersonMe alloc] init];
                              [me setName: @"asdf" andAge: 18];
                              [me release];
                              [pool drain];
                              return 0;
                              }
                              +

                              上面有简单的两个类,在子类PersonMe中调用了自己类中的setAge和父类中的setName,这些代码看起来很好理解,没什么问题。 然后我在setName:andAge的方法中加入两行:

                              +
                              1
                              2
                              3
                              4
                              5
                              6
                              7
                              8
                              9
                              10
                              11
                              NSLog(@"self ' class is %@", [self class]);
                              NSLog(@"super' class is %@", [super class]);
                              ```
                              这样在调用时,会打出来这两个的**class**,先猜下吧,会打印出什么? 按照以前*oop*语言的经验,这里应该会输出:***self ' s class is PersonMe super ' s class is Person***
                              但是编译运行后,可以发现结果是:
                              ``` //
                              self 's class is PersonMe
                              super ' s class is PersonMe
                              +

                              selfclass和预想的一样,怎么superclass也是PersonMe?

                              +

                              真相

                              self是类的隐藏的参数,指向当前当前调用方法的类,另一个隐藏参数是_cmd,代表当前类方法的selector。这里只关注这个selfsuper是个啥?super并不是隐藏的参数,它只是一个“编译器指示符”,它和self指向的是相同的消息接收者,拿上面的代码为例,不论是用[self setName]还是[super setName],接收“setName”这个消息的接收者都是PersonMe* me这个对象。不同的是,super告诉编译器,当调用setName的方法时,要去调用父类的方法,而不是本类里的。

                              +

                              当使用self调用方法时,会从当前类的方法列表中开始找,如果没有,就从父类中再找;而当使用superv时,则从父类**的方法列表中开始找。然后调用父类的这个方法。

                              +

                              One more step

                              这种机制到底底层是如何实现的?其实当调用类方法的时候,编译器会将方法调用转成一个C函数方法调用,apple的objcRuntimeRef上说:

                              +
                              +

                              Sending Messages
                              When it encounters a method invocation, the compiler might generate a call to any of several functions to perform the actual message dispatch, depending on the receiver, the return value, and the arguments. You can use these functions to dynamically invoke methods from your own plain C code, or to use argument forms not permitted by NSObject’s perform… methods. These functions are declared in /usr/include/objc/objc-runtime.h.

                              +
                                +
                              • objc_msgSend sends a message with a simple return value to an instance of a class.
                              • +
                              • objc_msgSend_stret sends a message with a data-structure return value to an instance of
                                a class.
                              • +
                              • objc_msgSendSuper sends a message with a simple return value to the superclass of an instance of a class.
                              • +
                              • objc_msgSendSuper_stret sends a message with a data-structure return value to the superclass of an instance of a class.
                              • +
                              +
                              +

                              可以看到会转成调用上面4个方法中的一个,由于_stret系列的和没有_stret的那两个类似,先只关注objc_msgSendobjc_msgSendSuper两个方法。

                              +

                              当使用[self setName]调用时,会使用objc_msgSend的函数,先看下objc_msgSend的函数定义:

                              +
                              1
                              id objc_msgSend(id theReceiver, SEL theSelector, ...)
                              +

                              第一个参数是消息接收者,第二个参数是调用的具体类方法的selector,后面是selector方法的可变参数。我们先不管这个可变参数,以[self setName:]为例,编译器会替换成调用objc_msgSend的函数调用,其中theReceiver是self,theSelector是 @selector(setName:),这个selector是从当前self的class的方法列表开始找的setName,当找到后把对应的 selector传递过去。

                              +

                              而当使用[super setName]调用时,会使用objc_msgSendSuper函数,看下objc_msgSendSuper的函数定义:

                              +
                              1
                              id objc_msgSendSuper(struct objc_super *super, SEL op, ...)
                              +

                              第一个参数是个objc_super的结构体,第二个参数还是类似上面的类方法的selector,先看下objc_super这个结构体是什么东西:

                              +
                              struct objc_super  
                              +{  
                              +    id receiver;  
                              +    Class superClass;  
                              +};
                              +
                              +

                              可以看到这个结构体包含了两个成员,一个是receiver,这个类似上面objc_msgSend的第一个参数receiver,第二个成员是记 录写super这个类的父类是什么,拿上面的代码为例,当编译器遇到PersonMesetName:andAge方法里的[super setName:]时,开始做这几个事:

                              +
                                +
                              1. 构建objc_super的结构体,此时这个结构体的第一个成员变量receiver就是PersonMe* me,和self相同。而第二个成员变量superClass就是指类Person,因为PersonMe的超类就是这个Person

                                +
                              2. +
                              3. 调用objc_msgSendSuper的方法,将这个结构体和setName的sel传递过去。函数里面在做的事情类似这样:从objc_super结构体指向的superClass的方法列表开始找setName的selector,找到后再以 objc_super->receiver去调用这个selector,可能也会使用objc_msgSend这个函数,不过此时的第一个参数 theReceiver就是objc_super->receiver,第二个参数是从objc_super->superClass中找到 的selector

                                +
                              4. +
                              +

                              里面的调用机制大体就是这样了,以上面的分析,回过头来看开始的代码,当输出[self class]和[super class]时,是个怎样的过程。

                              +

                              当使用[self class]时,这时的self是PersonMe,在使用objc_msgSend时,第一个参数是receiver也就是self,也是 PersonMe* me这个实例。第二个参数,要先找到class这个方法的selector,先从PersonMe这个类开始找,没有,然后到PersonMe的父类 Person中去找,也没有,再去Person的父类NSObject去找,一层一层向上找之后,在NSObject的类中发现这个class方法,而 NSObject的这个class方法,就是返回receiver的类别,所以这里输出PersonMe。

                              +

                              当使用[super class]时,这时要转换成objc_msgSendSuper的方法。先构造objc_super的结构体吧,第一个成员变量就是self, 第二个成员变量是Person,然后要找class这个selector,先去superClass也就是Person中去找,没有,然后去Person 的父类中去找,结果还是在NSObject中找到了。然后内部使用函数objc_msgSend(objc_super->receiver, @selector(class)) 去调用,此时已经和我们用[self class]调用时相同了,此时的receiver还是PersonMe* me,所以这里返回的也是PersonMe。

                              +

                              Furthor more 在类的方法列表寻找一个方法时,还牵涉到一个概念类对象的isa指针和objc的meta-class概念,这里就不再详细介绍。

                              + +
                              + +
                              +
                              + + + Last updated: +
                              + + + + http://codingdoge.cn/2017/07/23/title: self与super的区别 / + +
                              + +
                              + + +
                              + +
                              + + + + +
                              + + + + + + + + + + + + + + + + + + + + + +
                              + +
                              + +

                              + + 谢谢大爷~ + +

                              +
                              + +
                              + 打赏二维码 +
                              + + + +
                              +
                              + + + +
                              + + + +
                              +
                              + + + + + + + +
                              + +

                              扫一扫,分享到微信

                              + 微信分享二维码 +
                              + + + + + + + + + + +
                              +
                                +
                                + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/23/title: xcode\345\270\270\347\224\250\345\277\253\346\215\267\351\224\256\345\217\212\345\205\266\344\273\226\345\212\237\350\203\275/index.html" "b/2017/07/23/title: xcode\345\270\270\347\224\250\345\277\253\346\215\267\351\224\256\345\217\212\345\205\266\344\273\226\345\212\237\350\203\275/index.html" new file mode 100644 index 0000000..2f732e4 --- /dev/null +++ "b/2017/07/23/title: xcode\345\270\270\347\224\250\345\277\253\346\215\267\351\224\256\345\217\212\345\205\266\344\273\226\345\212\237\350\203\275/index.html" @@ -0,0 +1,507 @@ + + + + + + + + + + + + + + + + + + + + + xcode常用快捷键及其他功能 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                + + + +
                                + +
                                + +
                                +

                                xcode常用快捷键及其他功能

                                +
                                + + + + + + + +
                                +
                                + + + + +
                                + + +
                                + + + +
                                + +
                                +

                                xcode常用快捷键及其他功能

                                + +
                                +

                                快捷键


                                +

                                Command+R生成并运行程序
                                Command+B只生成程序而不运行它
                                Command+T新建选项卡

                                +

                                标记


                                +

                                // MARK: - \

                                +

                                小功能


                                +

                                Product>Clean删除生成的中间文件

                                + +
                                + +
                                +
                                + + + Last updated: +
                                + + + + http://codingdoge.cn/2017/07/23/title: xcode常用快捷键及其他功能/ + +
                                + +
                                + + +
                                + +
                                + + + + +
                                + + + + + + + + + + + + + + + + + + + + + +
                                + +
                                + +

                                + + 谢谢大爷~ + +

                                +
                                + +
                                + 打赏二维码 +
                                + + + +
                                +
                                + + + +
                                + + + +
                                +
                                + + + + + + + +
                                + +

                                扫一扫,分享到微信

                                + 微信分享二维码 +
                                + + + + + + + + + + +
                                +
                                  +
                                  + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/23/title: \343\200\212TCP-IP\350\257\246\350\247\243\343\200\213\347\254\224\350\256\260\342\200\224\347\254\2541\347\253\240 \346\246\202\350\277\260/index.html" "b/2017/07/23/title: \343\200\212TCP-IP\350\257\246\350\247\243\343\200\213\347\254\224\350\256\260\342\200\224\347\254\2541\347\253\240 \346\246\202\350\277\260/index.html" new file mode 100644 index 0000000..f0d794b --- /dev/null +++ "b/2017/07/23/title: \343\200\212TCP-IP\350\257\246\350\247\243\343\200\213\347\254\224\350\256\260\342\200\224\347\254\2541\347\253\240 \346\246\202\350\277\260/index.html" @@ -0,0 +1,556 @@ + + + + + + + + + + + + + + + + + + + + + 《TCP/IP详解》笔记—第1章 概述 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                  + + + +
                                  + +
                                  + +
                                  +

                                  《TCP/IP详解》笔记—第1章 概述

                                  +
                                  + + + + + + + +
                                  +
                                  + + + + +
                                  + + +
                                  + + + +
                                  + +
                                  +

                                  《TCP/IP详解》笔记—第1章 概述

                                  + +
                                  +

                                  《TCP/IP详解》笔记—第1章 概述

                                  +

                                  一个互连网就是一组通过相同协议族互连在一起的网络。

                                  +
                                  +

                                  分层

                                  TCP/IP通常被认为是一个四层协议系统:

                                  +
                                  +
                                  + WX20170320-171317@2x +
                                  +
                                  WX20170320-171317@2x
                                  +

                                  +

                                  网络层和运输层之间的区别是最为关键的:网络层(IP)提供点到点的服务,而运输层(TCP和UDP)提供端到端的服务。

                                  +

                                  在TCP/IP协议族中,网络层IP提供的是一种不可靠的服务。也就是说,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。而另一方面,TCP在不可靠的IP层上提供了一个可靠的运输层。为了提供这种可靠的服务,TCP采用了超时重传、发送和接收端到端的确认分组等机制。

                                  +

                                  路由器为不同类型的物理网络提供连接。

                                  +

                                  一个主机也可以有多个接口,但一般不称作路由器,除非它的功能只是单纯地把分组从一个接口传送到另一个接口。

                                  +

                                  互联网的目的之一是在应用程序中隐藏所有的物理细节。

                                  +

                                  连接网络的另一个途径是使用网桥。网桥是在链路层上对网络进行互连,而路由器则是在网络层上对网络进行互连。

                                  +

                                  互联网的地址

                                  +
                                  +
                                  + 47F26D90-176D-4C0A-A315-6A9E199E79F6 +
                                  +
                                  47F26D90-176D-4C0A-A315-6A9E199E79F6
                                  +
                                  +

                                  这些 32 位的地址通常写成四个十进制的数,其中每个整数对应一个字节。这种表示方法称作“点分十进制表示法(Dotted decimal notation)”。

                                  +
                                  +
                                  + 70807FBE-712D-4A5C-97F2-BBCA12C1F11D +
                                  +
                                  70807FBE-712D-4A5C-97F2-BBCA12C1F11D
                                  +

                                  +

                                  封装

                                  TCP传给IP的数据单元称作TCP报文段或简称为TCP段(TCP segment)。IP传给网络接口层的数据单元称作IP数据报(IP datagram)。通过以太网传输的比特流称作帧(Frame)。

                                  +

                                  分用

                                  当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用(Demultiplexing)。

                                  +

                                  客户-服务器模型

                                  大部分网络应用程序在编写时都假设一端是客户,另一端是服务器,其目的是为了让服务器为客户提供一些特定的服务。
                                  一般来说,TCP服务器是并发的,而UDP服务器是重复的。

                                  +

                                  习题

                                    +
                                  1. 请计算最多有多少个A类、B类和C类网络号。
                                  2. +
                                  3. 用匿名FTP(见27.3节)从主机nic.merit.edu上获取文件nsfnet_statistics_history.netcount。该文件包含在NSFNET网络上登记的国内和国外的网络数。画一坐标系,横坐标代表年,纵坐标代表网络总数的对数值。纵坐标的最大值是习题1.1的结果。如果数据显示一个明显的趋势,请估计按照当前的编址体制推算,何时会用完所有的网络地址(3.10节讨论解决该难题的建议)。
                                  4. +
                                  5. 获取一份主机需求RFC拷贝[Braden 1989a],阅读有关应用于TCP/IP协议族每一层的稳健性原则。这个原则的参考对象是什么?
                                  6. +
                                  7. 获取一份最新的赋值RFC拷贝。“quote of the day”协议的有名端口号是什么?哪个RFC对该协议进行了定义?
                                  8. +
                                  9. 如果你有一个接入TCP/IP互联网的主机帐号,它的主IP地址是多少?这台主机是否接入了Internet?它是多接口主机吗?
                                  10. +
                                  11. 获取一份RFC 1000的拷贝,了解RFC这个术语从何而来。
                                  12. +
                                  13. Internet协会联系,isoc@isoc.org或者+170 3648 9888,了解有关加入的情况。
                                  14. +
                                  15. 用匿名FTP从主机is.internic.net处获取文件about-internic/information-about-the-internic。
                                  16. +
                                  +

                                  部分习题答案

                                    +
                                  1. 答案是:27-2(126)+214-2(16 382)+221-2(2 097 150)=2 113 658。每一部分都减去2是因为全0或全1网络ID是非法的。
                                  2. +
                                  3. 图D-1显示了直到1993年8月的有关数据。如果网络数继续呈指数增长的话,虚线估计了2000年可能达到的最大的网络数。
                                  4. +
                                  5. “自由地接收,保守地发送。”
                                  6. +
                                  +
                                  +

                                  资料来源于 即时通讯网,仅做学习参考

                                  +
                                  + +
                                  + +
                                  +
                                  + + + Last updated: +
                                  + + + + http://codingdoge.cn/2017/07/23/title: 《TCP-IP详解》笔记—第1章 概述/ + +
                                  + +
                                  + + +
                                  + +
                                  + + + + +
                                  + + + + + + + + + + + + + + + + + + + + + +
                                  + +
                                  + +

                                  + + 谢谢大爷~ + +

                                  +
                                  + +
                                  + 打赏二维码 +
                                  + + + +
                                  +
                                  + + + +
                                  + + + +
                                  +
                                  + + + + + + + +
                                  + +

                                  扫一扫,分享到微信

                                  + 微信分享二维码 +
                                  + + + + + + + + + + +
                                  +
                                    +
                                    + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/23/title: \345\270\270\350\247\201\346\216\222\345\272\217\347\256\227\346\263\225\346\200\273\347\273\223 /index.html" "b/2017/07/23/title: \345\270\270\350\247\201\346\216\222\345\272\217\347\256\227\346\263\225\346\200\273\347\273\223 /index.html" new file mode 100644 index 0000000..fb86a76 --- /dev/null +++ "b/2017/07/23/title: \345\270\270\350\247\201\346\216\222\345\272\217\347\256\227\346\263\225\346\200\273\347\273\223 /index.html" @@ -0,0 +1,805 @@ + + + + + + + + + + + + + + + + + + + + + 常见排序算法总结 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                    + + + +
                                    + +
                                    + +
                                    +

                                    常见排序算法总结

                                    +
                                    + + + + + + + +
                                    +
                                    + + + + +
                                    + + +
                                    + + + +
                                    + +
                                    +

                                    常见排序算法总结

                                    + +
                                    +

                                    排序算法一般分为:

                                    +
                                      +
                                    1. 内部排序(In-place sort)
                                      不占用额外内存或者占用常数内存,如:插入排序、选择排序、冒泡排序、堆排序、快速排序。
                                    2. +
                                    3. 外部排序(Out-place sort)
                                      因为排序数据大,可用内存一次不能容纳所有排序记录,排序过程中需要访问外存,如:归并排序、计数排序、基数排序、桶排序。
                                    4. +
                                    +

                                    也分为:

                                    +
                                      +
                                    1. 稳定的排序(stable sort)
                                      插入排序、冒泡排序、归并排序、计数排序、基数排序、桶排序。
                                    2. +
                                    3. 不稳定的排序(unstable sort)
                                      选择排序、快速排序、堆排序。
                                      +

                                      算法的稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。

                                      +
                                      +

                                      不稳定算法的改进:只需要在每个输入元素加一个index,表示初始时的数组索引,当不稳定的算法排好序后,对于相同的元素对index排序即可。

                                      +
                                      +
                                    4. +
                                    +

                                    插入排序

                                    +
                                    +
                                    + +
                                    +
                                    +
                                    +

                                    最优复杂度:当输入数组就是排好序的时候,复杂度为O(n),而快速排序在这种情况下会产生O(n^2)的复杂度。
                                    最差复杂度:当输入数组为倒序时,复杂度为O(n^2)。

                                    +
                                    +

                                    插入排序比较适合用于“少量元素的数组”。插入排序比较适合用于“少量元素的数组”。

                                    +
                                    +

                                    1.直接插入排序(Straight Insertion Sort)


                                    +

                                    工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。具体算法描述如下:

                                    +
                                      +
                                    1. 从第一个元素开始,该元素可以认为已经被排序
                                    2. +
                                    3. 取出下一个元素,在已经排序的元素序列中从后向前扫描
                                    4. +
                                    5. 如果该元素(已排序)大于新元素,将该元素移到下一位置
                                    6. +
                                    7. 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
                                    8. +
                                    9. 将新元素插入到该位置后
                                    10. +
                                    11. 重复步骤2~5
                                    12. +
                                    +

                                    直接插入排序示例:

                                    +
                                    +
                                    + +
                                    +
                                    +

                                    +
                                    +

                                    如果排序时碰到相等的元素,比较后会把相等的元素放在后面,所以这两个相等的元素之间的前后顺序没有改变,排序是稳定的。

                                    +
                                    +

                                    算法的实现:

                                    +
                                    1
                                    2
                                    3
                                    4
                                    5
                                    6
                                    7
                                    8
                                    9
                                    10
                                    11
                                    12
                                    13
                                    14
                                    15
                                    16
                                    17
                                    18
                                    void InsertSort(int a[], int n)
                                    {
                                    for(int i = 1; i < n; i++)
                                    {
                                    if(a[i] < a[i-1]) //若第i个元素大于i-1元素,直接插入。小于的话,移动有序表后插入
                                    {
                                    int j = i-1;
                                    int temp = a[i]; //存储待排序元素
                                    a[i] = a[i-1]; //先后移一个元素
                                    while(x < a[j] && j >= 0) //查找在有序表中的插入位置,并注意边界判断
                                    {
                                    a[j+1] = a[j];
                                    j--; //元素后移
                                    }
                                    a[j+1] = temp; //插入到正确位置
                                    }
                                    }
                                    }
                                    +
                                    +

                                    如果比较操作的代价比交换操作大的话,可以采用二分查找法来减少比较操作的数目。直接插入排序算法的优化算法有:二分插入排序,2-路插入排序。

                                    +
                                    +

                                    2.希尔排序(Shell’s Sort)


                                    +

                                    希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。它是基于插入排序的以下两点性质而提出改进方法的:

                                    +
                                      +
                                    • 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率
                                    • +
                                    • 但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位
                                    • +
                                    +

                                    基本原理是先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。算法具体描述如下:

                                    +
                                      +
                                    1. 选择一个步长,其设计者Donald Shell最初建议步长选择为n/2并且对步长取半直到步长达到1;
                                    2. +
                                    3. 以步长为间隔对序列进行排序;
                                    4. +
                                    5. 重复步骤2直到步长为1。
                                    6. +
                                    +

                                    希尔排序的示例:

                                    +
                                    +
                                    + +
                                    +
                                    +

                                    +
                                    +

                                    希尔排序是不稳定的。

                                    +
                                    +

                                    算法的实现:

                                    +
                                    1
                                    2
                                    3
                                    4
                                    5
                                    6
                                    7
                                    8
                                    9
                                    10
                                    11
                                    12
                                    13
                                    14
                                    void ShellInsertSort(int a[], int n)
                                    {
                                    for (int gap=n>>1; gap>0; gap>>=1) // 确定步长,直到步长为1
                                    {
                                    for (int i=gap; i<n; i++) // 以步长为间隔进行排序
                                    {
                                    int temp = a[i];
                                    int j;
                                    for (j=i-gap; j>=0&&a[j]>temp; j-=gap) // 排序细节
                                    a[j+gap] = a[j];
                                    a[j+gap] = temp;
                                    }
                                    }
                                    }
                                    +

                                    可能希尔排序最重要的地方在于当用较小步长排序后,以前用的较大步长仍然是有序的。已知的最好步长序列是由Sedgewick提出的(1, 5, 19, 41, 109,…),该序列的项来自两个算式[1]。这项研究也表明“比较在希尔排序中是最主要的操作,而不是交换。”用这样步长序列的希尔排序比插入排序要快,甚至在小数组中比快速排序和堆排序还快,但是在涉及大量数据时希尔排序还是比快速排序慢。

                                    +

                                    选择排序

                                    +
                                    +
                                    + +
                                    +
                                    +
                                    +

                                    简单选择排序(Simple Selection Sort)


                                    +

                                    基本原理是在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。算法的具体描述如下:

                                    +
                                      +
                                    1. 第一趟,从n 个记录中找出关键码最小的记录与第一个记录交换;
                                    2. +
                                    3. 第二趟,从第二个记录开始的n-1 个记录中再选出关键码最小的记录与第二个记录交换;

                                      +
                                    4. +
                                    5. 以此类推…..

                                      +
                                    6. +
                                    7. 第i趟,则从第i 个记录开始的n-i+1 个记录中选出关键码最小的记录与第i 个记录交换,

                                      +
                                    8. +
                                    +

                                    直到整个序列按关键码有序。

                                    +

                                    简单选择排序的示例:

                                    +
                                    +
                                    + +
                                    +
                                    +

                                    算法实现:

                                    +
                                    1
                                    2
                                    3
                                    4
                                    5
                                    6
                                    7
                                    8
                                    9
                                    10
                                    11
                                    void SelectSort(int a[], int n)
                                    {
                                    trueint min = a[0];
                                    truefor (int i = 0; i < n; i++)
                                    true{
                                    truetruefor (int j = i; j < n; j++) // 每次选出序列中最小的数
                                    truetruetrueif (a[j] < min)
                                    truetruetruetruemin = a[j];
                                    truetruea[i] = min; // 将每次选好的数放在正确的位置
                                    true}
                                    }
                                    +
                                    +

                                    选择排序是稳定的。

                                    +
                                    +

                                    选择排序的交换操作介于0(n-1)次之间。选择排序的比较操作为n(n-1)次之间。选择排序的赋值操作介于03(n-1)次之间。
                                    比较次数O(n^2 ),比较次数与关键字的初始状态无关,总的比较次数N=(n-1)+(n-2)+…+1=n(n-1)/2。交换次数O(n),最好情况是,已经有序,交换0次;最坏情况是,逆序,交换n-1次。交换次数比冒泡排序较少,由于交换所需CPU时间比比较所需的CPU时间多,n值较小时,选择排序比冒泡排序快。
                                    原地操作几乎是选择排序的唯一优点,当空间复杂度要求较高时,可以考虑选择排序;实际适用的场合非常罕见。

                                    +

                                    简单排序的改进——二元选择排序

                                    简单选择排序,每趟循环只能确定一个元素排序后的定位。我们可以考虑改进为每趟循环确定两个元素(当前趟最大和最小记录)的位置,从而减少排序所需的循环次数。改进后对n个数据进行排序,最多只需进行[n/2]趟循环即可。具体实现如下:

                                    +
                                    1
                                    2
                                    3
                                    4
                                    5
                                    6
                                    7
                                    8
                                    9
                                    10
                                    11
                                    12
                                    13
                                    14
                                    15
                                    16
                                    17
                                    18
                                    void SelectSort(int r[],int n) {
                                    int i ,j , min ,max, tmp;
                                    for (i=1 ;i <= n/2;i++) {
                                    // 做不超过n/2趟选择排序
                                    min = i; max = i ; //分别记录最大和最小关键字记录位置
                                    for (j= i+1; j<= n-i; j++) {
                                    if (r[j] > r[max]) {
                                    max = j ; continue ;
                                    }
                                    if (r[j]< r[min]) {
                                    min = j ;
                                    }
                                    }
                                    //该交换操作还可分情况讨论以提高效率
                                    tmp = r[i-1]; r[i-1] = r[min]; r[min] = tmp;
                                    tmp = r[n-i]; r[n-i] = r[max]; r[max] = tmp;
                                    }
                                    }
                                    +

                                    堆排序(Heap Sort)


                                    +
                                    +
                                    +
                                    + +
                                    +
                                    +
                                    +

                                    堆排序是指利用堆这种数据结构所设计的一种排序算法。其基本原理如下:
                                    堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。
                                    若以一维数组存储一个堆,则堆对应一棵完全二叉树,且所有非叶结点的值均不大于(或不小于)其子女的值,根结点(堆顶元素)的值是最小(或最大)的。如:

                                    +
                                      +
                                    1. 大顶堆序列:(96, 83, 27, 38, 11, 09)
                                    2. +
                                    3. 小顶堆序列:(12, 36, 24, 85, 47, 30, 53, 91)
                                      +
                                      +
                                      + +
                                      +
                                      +
                                      +
                                    4. +
                                    +

                                    初始时把n个数的序列看作是一棵顺序存储的二叉树(一维数组存储二叉树),调整它们的存储序,使之成为一个堆,将堆顶元素输出,得到n个元素中最小(或最大)的元素,这时堆的根节点的数最小(或者最大)。然后对前面(n-1)个元素重新调整使之成为堆,输出堆顶元素,得到n个元素中次小(或次大)的元素。依此类推,直到只有两个节点的堆,并对它们作交换,最后得到有n个节点的有序序列。称这个过程为堆排序。
                                    因此,实现堆排序需解决两个问题:

                                    +
                                      +
                                    1. 如何将n 个待排序的数建成堆;
                                    2. +
                                    3. 输出堆顶元素后,怎样调整剩余n-1 个元素,使其成为一个新堆。
                                    4. +
                                    +

                                    首先讨论第二个问题:输出堆顶元素后,对剩余n-1元素重新建成堆的调整过程。调整小顶堆的方法:

                                    +
                                      +
                                    1. 设有m 个元素的堆,输出堆顶元素后,剩下m-1 个元素。将堆底元素送入堆顶((最后一个元素与堆顶进行交换),堆被破坏,其原因仅是根结点不满足堆的性质。
                                    2. +
                                    3. 将根结点与左、右子树中较小元素的进行交换。
                                    4. +
                                    5. 若与左子树交换:如果左子树堆被破坏,即左子树的根结点不满足堆的性质,则重复方法 2.
                                    6. +
                                    7. 若与右子树交换,如果右子树堆被破坏,即右子树的根结点不满足堆的性质。则重复方法 2.
                                    8. +
                                    9. 继续对不满足堆性质的子树进行上述交换操作,直到叶子结点,堆被建成。
                                    10. +
                                    +

                                    称这个自根结点到叶子结点的调整过程为筛选。如图:

                                    +
                                    +
                                    + +
                                    +
                                    +

                                    +

                                    再讨论对n 个元素初始建堆的过程。
                                    建堆方法:对初始序列建堆的过程,就是一个反复进行筛选的过程。

                                    +
                                      +
                                    1. n个结点的完全二叉树,则最后一个结点是第个结点的子树。
                                    2. +
                                    3. 筛选从第个结点为根的子树开始,该子树成为堆。
                                    4. +
                                    5. 之后向前依次对各结点为根的子树进行筛选,使之成为堆,直到根结点。
                                    6. +
                                    +

                                    如图建堆初始过程:无序序列:(49,38,65,97,76,13,27,49)

                                    +
                                    +
                                    + +
                                    +
                                    +

                                    +

                                    算法的实现:

                                    +
                                    1
                                    2
                                    3
                                    4
                                    5
                                    6
                                    7
                                    8
                                    9
                                    10
                                    11
                                    12
                                    13
                                    14
                                    15
                                    16
                                    17
                                    18
                                    19
                                    20
                                    21
                                    22
                                    23
                                    24
                                    25
                                    26
                                    27
                                    28
                                    29
                                    30
                                    31
                                    32
                                    33
                                    34
                                    35
                                    36
                                    37
                                    38
                                    39
                                    40
                                    41
                                    42
                                    43
                                    44
                                    45
                                    46
                                    47
                                    48
                                    49
                                    50
                                    51
                                    52
                                    53
                                    54
                                    55
                                    56
                                    /**
                                    * 已知H[s…m]除了H[s] 外均满足堆的定义
                                    * 调整H[s],使其成为大顶堆.即将对第s个结点为根的子树筛选,
                                    *
                                    * @param H是待调整的堆数组
                                    * @param s是待调整的数组元素的位置
                                    * @param length是数组的长度
                                    *
                                    */
                                    void HeapAdjust(int H[],int s, int length)
                                    {
                                    int tmp = H[s];
                                    int child = 2*s+1; //左孩子结点的位置。(i+1 为当前调整结点的右孩子结点的位置)
                                    while (child < length)
                                    {
                                    if(child+1 <length && H[child]<H[child+1]) // 如果右孩子大于左孩子(找到比当前待调整结点大的孩子结点)
                                    ++child;
                                    if(H[s]<H[child])
                                    { // 如果较大的子结点大于父结点
                                    H[s] = H[child]; // 那么把较大的子结点往上移动,替换它的父结点
                                    s = child; // 重新设置s ,即待调整的下一个结点的位置
                                    child = 2*s+1;
                                    }
                                    else // 如果当前待调整结点大于它的左右孩子,则不需要调整,直接退出
                                    break;
                                    H[s] = tmp; // 当前待调整的结点放到比其大的孩子结点位置上
                                    }
                                    }
                                    /**
                                    * 初始堆进行调整
                                    * 将H[0..length-1]建成堆
                                    * 调整完之后第一个元素是序列的最小的元素
                                    */
                                    void BuildingHeap(int H[], int length)
                                    {
                                    //最后一个有孩子的节点的位置 i= (length -1) / 2
                                    for (int i = (length -1) / 2 ; i >= 0; i--)
                                    HeapAdjust(H,i,length);
                                    }
                                    /**
                                    * 堆排序算法
                                    */
                                    void HeapSort(int H[],int length)
                                    {
                                    //初始堆
                                    BuildingHeap(H, length);
                                    //从最后一个元素开始对序列进行调整
                                    for (int i = length - 1; i > 0; --i)
                                    {
                                    //交换堆顶元素H[0]和堆中最后一个元素
                                    int temp = H[i]; H[i] = H[0]; H[0] = temp;
                                    //每次交换堆顶元素和堆中最后一个元素之后,都要对堆进行调整
                                    HeapAdjust(H,0,i);
                                    }
                                    }
                                    +
                                    +

                                    堆排序是不稳定的。

                                    +
                                    +

                                    设树深度为k,

                                    +
                                    +
                                    + +
                                    +
                                    +
                                    次,交换记录至多k 次。所以,在建好堆后,排序过程中的筛选次数不超过下式:
                                    +
                                    +
                                    + +
                                    +
                                    +

                                    而建堆时的比较次数不超过4n 次,因此堆排序最坏情况下,时间复杂度也为:O(nlogn )。

                                    +

                                    交换排序

                                    冒泡排序(Bubble Sort)


                                    +
                                    +
                                    +
                                    + +
                                    +
                                    +
                                    +

                                    冒泡排序重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。
                                    冒泡排序示例:

                                    +
                                    +
                                    + +
                                    +
                                    +

                                    算法的实现:

                                    +
                                    1
                                    2
                                    3
                                    4
                                    5
                                    6
                                    7
                                    8
                                    9
                                    10
                                    11
                                    void bubbleSort(int a[], int n)
                                    {
                                    for(int i =0 ; i< n-1; ++i)
                                    for(int j = 0; j < n-i-1; ++j)
                                    if(a[j] > a[j+1])
                                    {
                                    int tmp = a[j];
                                    a[j] = a[j+1];
                                    a[j+1] = tmp;
                                    }
                                    }
                                    +
                                    +

                                    冒泡排序是稳定的。

                                    +
                                    +

                                    冒泡算法的改进

                                    对冒泡排序常见的改进方法是加入一标志性变量exchange,用于标志某一趟排序过程中是否有数据交换,如果进行某一趟排序时并没有进行数据交换,则说明数据已经按要求排列好,可立即结束排序,避免不必要的比较过程。本文再提供以下两种改进算法:

                                    +
                                      +
                                    1. 设置一标志性变量pos,用于记录每趟排序中最后一次进行交换的位置。由于pos位置之后的记录均已交换到位,故在进行下一趟排序时只要扫描到pos位置即可。
                                      改进后算法如下:
                                    2. +
                                    +
                                    1
                                    2
                                    3
                                    4
                                    5
                                    6
                                    7
                                    8
                                    9
                                    10
                                    11
                                    12
                                    13
                                    14
                                    15
                                    16
                                    17
                                    void Bubble_1 ( int r[], int n)
                                    {
                                    int i = n -1; //初始时,最后位置保持不变
                                    while (i > 0)
                                    {
                                    int pos= 0; //每趟开始时,无记录交换
                                    for (int j = 0; j < i; j++)
                                    if (r[j] > r[j+1])
                                    {
                                    pos = j; //记录交换的位置
                                    int tmp = r[j];
                                    r[j] = r[j+1];
                                    r[j+1] = tmp;
                                    }
                                    i = pos; //为下一趟排序作准备
                                    }
                                    }
                                    +
                                      +
                                    1. 传统冒泡排序中每一趟排序操作只能找到一个最大值或最小值,我们考虑利用在每趟排序中进行正向和反向两遍冒泡的方法一次可以得到两个最终值(最大者和最小者) , 从而使排序趟数几乎减少了一半。
                                      改进后的算法为:
                                    2. +
                                    +
                                    1
                                    2
                                    3
                                    4
                                    5
                                    6
                                    7
                                    8
                                    9
                                    10
                                    11
                                    12
                                    13
                                    14
                                    15
                                    16
                                    17
                                    18
                                    19
                                    20
                                    21
                                    22
                                    23
                                    24
                                    25
                                    void Bubble_2 (int r[], int n)
                                    {
                                    int low = 0;
                                    int high = n-1; //设置变量的初始值
                                    int tmp, j;
                                    while (low < high)
                                    {
                                    for (j = low; j < high; ++j) //正向冒泡,找到最大者
                                    if (r[j] > r[j+1])
                                    {
                                    tmp = r[j];
                                    r[j]=r[j+1];
                                    r[j+1]=tmp;
                                    }
                                    --high; //修改high值, 前移一位
                                    for (j = high; j > low; --j) //反向冒泡,找到最小者
                                    if (r[j] < r[j-1])
                                    {
                                    tmp = r[j];
                                    r[j]=r[j-1];
                                    r[j-1]=tmp;
                                    }
                                    ++low; //修改low值,后移一位
                                    }
                                    }
                                    +

                                    快速排序(Quick Sort)


                                    +
                                    +
                                    +
                                    + +
                                    +
                                    +
                                    +

                                    快速排序又称划分交换排序(partition-exchange sort),使用分治法(Divide and conquer)策略来把一个序列(list)分为两个子序列(sub-lists)。其算法描述为:

                                    +
                                      +
                                    1. 从数列中挑出一个元素,称为”基准”(pivot)。
                                    2. +
                                    3. 重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(相同的数可以到任一边)。在这个分区结束之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。
                                    4. +
                                    5. 递归地(recursively)把小于基准值元素的子数列和大于基准值元素的子数列排序。
                                    6. +
                                    +

                                    快速排序的示例:

                                    +
                                      +
                                    1. 一趟排序的过程

                                      +
                                      +
                                      +
                                      + +
                                      +
                                      +
                                      +
                                    2. +
                                    3. 排序的全过程

                                      +
                                      +
                                      +
                                      + +
                                      +
                                      +
                                      +
                                    4. +
                                    +

                                    算法的实现(递归):

                                    +
                                    1
                                    2
                                    3
                                    4
                                    5
                                    6
                                    7
                                    8
                                    9
                                    10
                                    11
                                    12
                                    13
                                    14
                                    15
                                    16
                                    17
                                    18
                                    19
                                    20
                                    void quickSort_recursive(int a[], int low, int high)
                                    {
                                    int first = low;
                                    int last = high;
                                    int key = a[first];
                                    if(low >= high)
                                    return ;
                                    while(first < last)
                                    {
                                    while((first < last)&&(key <= a[last]))
                                    last--;
                                    a[first] = a[last];
                                    while((first < last)&&(key >= a[first]))
                                    first++;
                                    a[last] = a[first];
                                    }
                                    a[first] = key;
                                    quickSort_recursive(a, low, first-1);
                                    quickSort_recursive(a, first+1, high);
                                    }
                                    +
                                    +

                                    快速排序是不稳定的。
                                    快排迭代算法:维护一个栈,存放划分的起点终点

                                    +
                                    +

                                    在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下(正序或逆序)则需要Ο(n^2 )次比较,取决于其递归树的高度。事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序是一个不稳定的排序方法。

                                    +

                                    归并排序(Merge Sort)


                                    +
                                    +
                                    +
                                    + +
                                    +
                                    +
                                    +

                                    归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。

                                    +

                                    递归法

                                      +
                                    1. 将序列每相邻两个数字进行归并操作,形成floor(n/2)个序列,排序后每个序列包含两个元素
                                    2. +
                                    3. 将上述序列再次归并,形成floor(n/4)个序列,每个序列包含四个元素
                                    4. +
                                    5. 重复步骤2,直到所有元素排序完毕
                                    6. +
                                    +

                                    算法实现:

                                    +
                                    1
                                    2
                                    3
                                    4
                                    5
                                    6
                                    7
                                    8
                                    9
                                    10
                                    11
                                    12
                                    13
                                    14
                                    15
                                    16
                                    17
                                    18
                                    19
                                    20
                                    21
                                    22
                                    23
                                    24
                                    25
                                    void merge_sort_recursive(int arr[], int reg[], int start, int end)
                                    {
                                    if (start >= end)
                                    return;
                                    int len = end - start, mid = (len >> 1) + start;
                                    int start1 = start, end1 = mid;
                                    int start2 = mid + 1, end2 = end;
                                    merge_sort_recursive(arr, reg, start1, end1);
                                    merge_sort_recursive(arr, reg, start2, end2);
                                    int k = start;
                                    while (start1 <= end1 && start2 <= end2)
                                    reg[k++] = arr[start1] < arr[start2] ? arr[start1++] : arr[start2++];
                                    while (start1 <= end1)
                                    reg[k++] = arr[start1++];
                                    while (start2 <= end2)
                                    reg[k++] = arr[start2++];
                                    for (k = start; k <= end; k++)
                                    arr[k] = reg[k];
                                    }
                                    void merge_sort(int arr[], const int len)
                                    {
                                    trueint reg[len];
                                    truemerge_sort_recursive(arr, reg, 0, len - 1);
                                    }
                                    +

                                    两路归并的递归算法

                                    1
                                    2
                                    3
                                    4
                                    5
                                    6
                                    7
                                    8
                                    9
                                    10
                                    11
                                    12
                                    13
                                    14
                                    15
                                    16
                                    void MSort(ElemType *r, ElemType *rf,int s, int t)
                                    {
                                    ElemType *rf2;
                                    if(s==t) r[s] = rf[s];
                                    else
                                    {
                                    int m=(s+t)/2; /*平分*p 表*/
                                    MSort(r, rf2, s, m); /*递归地将p[s…m]归并为有序的p2[s…m]*/
                                    MSort(r, rf2, m+1, t); /*递归地将p[m+1…t]归并为有序的p2[m+1…t]*/
                                    Merge(rf2, rf, s, m+1,t); /*将p2[s…m]和p2[m+1…t]归并到p1[s…t]*/
                                    }
                                    }
                                    void MergeSort_recursive(ElemType *r, ElemType *rf, int n)
                                    { /*对顺序表*p 作归并排序*/
                                    MSort(r, rf,0, n-1);
                                    }
                                    +

                                    迭代法

                                      +
                                    1. 申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列;
                                    2. +
                                    3. 设定两个指针,最初位置分别为两个已经排序序列的起始位置;
                                    4. +
                                    5. 比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置;
                                    6. +
                                    7. 重复步骤3直到某一指针到达序列尾;
                                    8. +
                                    9. 将另一序列剩下的所有元素直接复制到合并序列尾;
                                    10. +
                                    +

                                    算法实现:

                                    +
                                    1
                                    2
                                    3
                                    4
                                    5
                                    6
                                    7
                                    8
                                    9
                                    10
                                    11
                                    12
                                    13
                                    14
                                    15
                                    16
                                    17
                                    18
                                    19
                                    20
                                    21
                                    22
                                    23
                                    24
                                    25
                                    26
                                    27
                                    28
                                    29
                                    30
                                    31
                                    void merge_sort_iteration(int arr[], int len)
                                    {
                                    int* a = arr;
                                    int* b = new int[len];
                                    for (int seg = 1; seg < len; seg += seg)
                                    {
                                    for (int start = 0; start < len; start += seg + seg)
                                    {
                                    int low = start, mid = min(start + seg, len), high = min(start + seg + seg, len);
                                    int k = low;
                                    int start1 = low, end1 = mid;
                                    int start2 = mid, end2 = high;
                                    while (start1 < end1 && start2 < end2)
                                    b[k++] = a[start1] < a[start2] ? a[start1++] : a[start2++];
                                    while (start1 < end1)
                                    b[k++] = a[start1++];
                                    while (start2 < end2)
                                    b[k++] = a[start2++];
                                    }
                                    T* temp = a;
                                    a = b;
                                    b = temp;
                                    }
                                    if (a != arr)
                                    {
                                    for (int i = 0; i < len; i++)
                                    b[i] = a[i];
                                    b = a;
                                    }
                                    delete[] b;
                                    }
                                    +
                                    +

                                    归并排序是稳定的。

                                    +
                                    +

                                    总结

                                    各种排序的稳定性,时间复杂度和空间复杂度总结:

                                    +
                                    +
                                    + +
                                    +
                                    +
                                    +
                                    +

                                    参考资料有:
                                    真实的归宿——八大排序算法
                                    xiazdong——九大排序算法再总结
                                    wikipedia

                                    +
                                    + +
                                    + +
                                    +
                                    + + + Last updated: +
                                    + + + + http://codingdoge.cn/2017/07/23/title: 常见排序算法总结 / + +
                                    + +
                                    + + +
                                    + +
                                    + + + + +
                                    + + + + + + + + + + + + + + + + + + + + + +
                                    + +
                                    + +

                                    + + 谢谢大爷~ + +

                                    +
                                    + +
                                    + 打赏二维码 +
                                    + + + +
                                    +
                                    + + + +
                                    + + + +
                                    +
                                    + + + + + + + +
                                    + +

                                    扫一扫,分享到微信

                                    + 微信分享二维码 +
                                    + + + + + + + + + + +
                                    +
                                      +
                                      + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/23/title: \346\234\211\351\231\220\347\212\266\346\200\201\346\234\272\345\234\250iOS\344\270\255\347\232\204\345\272\224\347\224\250/index.html" "b/2017/07/23/title: \346\234\211\351\231\220\347\212\266\346\200\201\346\234\272\345\234\250iOS\344\270\255\347\232\204\345\272\224\347\224\250/index.html" new file mode 100644 index 0000000..d2f6fb1 --- /dev/null +++ "b/2017/07/23/title: \346\234\211\351\231\220\347\212\266\346\200\201\346\234\272\345\234\250iOS\344\270\255\347\232\204\345\272\224\347\224\250/index.html" @@ -0,0 +1,546 @@ + + + + + + + + + + + + + + + + + + + + + 有限状态机在iOS中的应用 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                      + + + +
                                      + +
                                      + +
                                      +

                                      有限状态机在iOS中的应用

                                      +
                                      + + + + + + + +
                                      +
                                      + + + + +
                                      + + +
                                      + + + +
                                      + +
                                      +

                                      有限状态机在iOS中的应用

                                      + +
                                      +

                                      有限状态机(Finite-State Machine, FSM),是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。

                                      +

                                      其实我们平常和很多状态机都打过交道,比如正则表达式、网络协议(如TCP协议状态机)、游戏设计、字符串匹配等等,可能大多数时候我们都没意识到,接下来我们简略了解下状态机。

                                      +

                                      基本概念

                                        +
                                      • 状态(state): 指的是对象在其生命周期中的一种状况,处于某个特定状态中的对象必然会满足某些条件、执行某些动作或者是等待某些事件,而且状态是相对稳定的,如果没有外部条件的触发,一个状态会一直持续下去。
                                      • +
                                      • 事件(event): 指的是对状态机来讲是有意义的那些事情。事件通常会引起状态的变迁,促使状态机从一种状态切换到另一种状态。
                                      • +
                                      • 转换(transition): 指的是两个状态之间的一种关系,表明对象将在第一个状态中执行一定的动作,并将在某个事件发生的同时某个特定条件满足时进入第二个状态。
                                      • +
                                      • 动作(action): 指的是状态机中可以执行的那些操作,当事件被满足或者状态变迁时执行动作,动作不是必需的。
                                      • +
                                      +

                                      如下图状态表:

                                      +
                                      +
                                      + +
                                      +
                                      +

                                      +
                                      +

                                      关于状态机的详细知识可以参考:
                                      UML状态图的实用C/C++设计
                                      ERLANG

                                      +
                                      +

                                      在iOS中的使用

                                      背景

                                      假设我们要设计一款网络视频播放器,有基本的播放、暂停功能,当缓冲好时可以进行播放,当URL错误或者视频资源错误时播放失败,我们发现,当我们去描述一个事物以及它的功能时,总是离不开它的状态,如这个播放器,我们可以定义它有播放失败、缓冲中、将要播放…等等状态。

                                      +

                                      设计

                                      我们可以用状态机去实现这样的功能。

                                      +
                                        +
                                      • 先设定播放器可能出现的状态:
                                      • +
                                      +
                                      1
                                      2
                                      3
                                      4
                                      5
                                      6
                                      7
                                      8
                                      enum VideoPlayerState {
                                      case failed, // 播放失败
                                      buffering, // 缓冲中
                                      readyToPlay, // 将要播放
                                      playing, // 播放中
                                      paused, // 播放暂停
                                      finished // 播放完毕
                                      }
                                      +
                                        +
                                      • 然后定义当状态发生变换后,针对某个状态我希望它去执行一些逻辑里的动作
                                      • +
                                      +
                                      1
                                      2
                                      3
                                      4
                                      5
                                      6
                                      7
                                      8
                                      9
                                      10
                                      11
                                      12
                                      13
                                      14
                                      15
                                      16
                                      17
                                      18
                                      19
                                      20
                                      var state: VideoPlayerState = .paused {
                                      didSet {
                                      switch state {
                                      case .failed:
                                      // 当视频加载失败时,我希望去执行的一些事件,比如弹出提示框
                                      popReminderView()
                                      case .buffering:
                                      case .readyToPlay:
                                      case .playing:
                                      case .paused:
                                      case .finished:
                                      }
                                      }
                                      }
                                      +
                                        +
                                      • 在写我们的业务逻辑时,相应的去更改播放器的状态
                                      • +
                                      +
                                      1
                                      2
                                      3
                                      4
                                      5
                                      6
                                      // 比如我们重写网络层的一些方法,当缓冲好时准备播放
                                      networkRequestCompletion() {
                                      state = .readyToPlay
                                      }
                                      +

                                      这样,通过state我们能很清晰的知道现在播放器是什么样应该做什么事,在我们的业务逻辑中,当状态变化时通过didSet我们能很方便的去响应对应状态下应该执行的行为。

                                      +

                                      总结

                                      整篇文章质量或许不是很高,因为还没有大量的代码实践让我去有一个更深更全的体会,但是希望能带给我自己和读者们一点抛砖引玉的效果。我们在编码、设计过程中,多去思考一些,什么地方用什么样的模式更好,比如状态机,来使我们的代码更解耦,易维护,高扩展。

                                      +
                                      +

                                      这里有一篇关于Objective-c状态机的实现,更抽象,其中用到的枚举值自动转字符串通用方案很有意思,同时可以参考这篇《iOS开发高级:使用宏定义macros》关于宏定义的使用。
                                      这篇《iOS APP 架构漫谈二》列举了很具体的运用场景,可以参考。
                                      同时参考的文章有:

                                      + +

                                      关于状态记的开源库推荐:

                                      + +
                                      + +
                                      + +
                                      +
                                      + + + Last updated: +
                                      + + + + http://codingdoge.cn/2017/07/23/title: 有限状态机在iOS中的应用/ + +
                                      + +
                                      + + +
                                      + +
                                      + + + + +
                                      + + + + + + + + + + + + + + + + + + + + + +
                                      + +
                                      + +

                                      + + 谢谢大爷~ + +

                                      +
                                      + +
                                      + 打赏二维码 +
                                      + + + +
                                      +
                                      + + + +
                                      + + + +
                                      +
                                      + + + + + + + +
                                      + +

                                      扫一扫,分享到微信

                                      + 微信分享二维码 +
                                      + + + + + + + + + + +
                                      +
                                        +
                                        + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/23/title: \350\247\206\351\242\221\345\274\200\345\217\221/index.html" "b/2017/07/23/title: \350\247\206\351\242\221\345\274\200\345\217\221/index.html" new file mode 100644 index 0000000..f739b74 --- /dev/null +++ "b/2017/07/23/title: \350\247\206\351\242\221\345\274\200\345\217\221/index.html" @@ -0,0 +1,671 @@ + + + + + + + + + + + + + + + + + + + + + 视频开发 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                        + + + +
                                        + +
                                        + +
                                        +

                                        视频开发

                                        +
                                        + + + + + + + +
                                        +
                                        + + + + +
                                        + + +
                                        + + + +
                                        + +
                                        +

                                        视频开发

                                        + +
                                        +

                                        下面會介紹視頻的一些基本知識,和在iOS上實現視頻播放和緩存的幾種方案。

                                        +
                                        +
                                          +
                                        • 软解码和硬解码
                                          GPU解码就是所谓的硬解码,CPU解码就是软解码。iOS提供的播放器类使用的是硬解码,所以视频播放对CPU不会有很大的压力,但是支持的播放格式比较单一,一般就是MP4、MOV、M4V这几个。
                                        • +
                                        • HTTP Live Streaming
                                          HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。支持的视频流编码为H.264。我们在视频网站上看到的M3U8后缀的播放链接就是使用HLS协议的视频。HLS优点,1、看完一段缓存一段,防止只看一段视频但是把整个视频文件都缓存下来的用户,减少服务器压力和节省流量。2、根据用户网速切换不同的码率,兼顾流程性和清晰度。
                                        • +
                                        +
                                        +

                                        播放

                                        实现视频播放的两个方案。

                                        +
                                        +

                                        一、自己实现对数据编码解码

                                        可以在一些开源播放器上进行二次开发,如Bilibili的ijkplayer,或者直接对FFmpeg开发,优点在整个播放过程可控,为后续进行缓存、流量控制、码率切换等开发提供了基础,缺点是复杂,要求高,工程量大。

                                        +
                                        +

                                        二、AVFoundation

                                        Media Assets, Playback and Editing. 使用Apple自有框架。

                                        +

                                        AVAsset

                                        +

                                        AVAsset is an abstract, immutable class used to model timed audiovisual media such as videos and sounds. An asset may contain one or more tracks that are intended to be presented or processed together, each of a uniform media type, including but not limited to audio, video, text, closed captions, and subtitles.

                                        +
                                        +

                                        Audiovisual media的资源类,通常通过AVURLAsset用URL来实例化,可以用Atom Inspector(一个Apple提供的用来查看视频信息的工具)来观察一个视频的属性,再去AVAsset中对应其属性。

                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                        AVAsset属性视频文件属性
                                        duration: CMTimeduration, timescale时长和时间尺度
                                        preferredRate: Float默认速度
                                        preferredVolume: Float默认音量
                                        creationDate: AVMetadataItem?视频创建时间
                                        tracks: [AVAssetTrack]轨道
                                        trackGroups: [AVAssetTrackGroup]轨道组
                                        lyrics: String?当前语言环境合适的歌词
                                        metadata: [AVMetadataItem]元数据
                                        +

                                        AVPlayer

                                        +

                                        An AVPlayer is a controller object used to manage the playback and timing of a media asset. It provides the interface to control the player’s transport behavior such as its ability to play, pause, change the playback rate, and seek to various points in time within the media’s timeline. You can use an AVPlayer to play local and remote file-based media, such as QuickTime movies and MP3 audio files, as well as audiovisual media served using HTTP Live Streaming.

                                        +
                                        +

                                        AVPlayer是一个控制对象用于管理媒体asset的播放,它提供了相关的接口控制播放器的行为,比如:播放、暂停、改变播放的速率、跳转到媒体时间轴上的某一个点(简单理解就是实现拖动功能显示对应的视频位置内容)。我们能够使用AVPlayer播放本地和远程的媒体文件(使用 HTTP Live Streaming),比如: QuickTime movies 和 MP3 audio files,所以AVPlayer可以满足音视频播放的基本需求。

                                        +
                                        +
                                        + AVFoundation的层次 +
                                        +
                                        AVFoundation的层次
                                        +

                                        +

                                        AVPlayerItem

                                        +

                                        AVPlayerItem models the timing and presentation state of an asset played by an AVPlayer object. It provides the interface to seek to various times in the media, determine its presentation size, identify its current time, and much more.

                                        +
                                        +

                                        AVPlayerItem是一个负责处理AVAsset的资源并通过AVPlayer来播放的载体,提供了seek、确定显示大小、ID、时间等的接口。

                                        +

                                        AVPlayerLayer

                                        +

                                        AVPlayerLayer is a subclass of CALayer to which an AVPlayer object can direct its visual output. It can be used as the backing layer for a UIView or NSView or can be manually added to the layer hierarchy to present your video content on screen.

                                        +
                                        +

                                        负责AVPlayer的视频输出展示。

                                        +
                                        +
                                        +
                                        + 依赖关系图 +
                                        +
                                        依赖关系图
                                        +
                                        +

                                        简单使用

                                        1
                                        2
                                        3
                                        4
                                        5
                                        6
                                        7
                                        8
                                        9
                                        10
                                        11
                                        class AVPlayerTestView: UIView {
                                        let view: UIView? = nil
                                        func initPlayerView() {
                                        guard let url = URL.init(string: "http://meipu1.video.meipai.com/5e81c08e-2850-4fbd-bfc4-4ded297f9f1c.mp") else { return }
                                        let asset = AVAsset.init(url: url)
                                        let item = AVPlayerItem.init(asset: asset)
                                        let player = AVPlayer.init(playerItem: item)
                                        let playerLayer = AVPlayerLayer.init(layer: player)
                                        view?.layer.addSublayer(playerLayer)
                                        }
                                        }
                                        +

                                        设置好一个AVPlayer的依赖关系和输出图层后,AVPlayerItem会根据你的URL去请求数据,自己内部做缓冲然后播放。我们需要做的是用KVO监听AVPlayerItem内部几个关键属性的状态,然后做出我们的处理。

                                        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                        AVPlayerItem属性状态
                                        status: AVPlayerItemStatus
                                        .unknown: AVPlayerItemStatus未知状态
                                        .readyToPlay: AVPlayerItemStatus准备好去播放
                                        .failed: AVPlayerItemStatus资源无法被播放
                                        loadedTimeRanges: [NSValue]加载了的资源的时间范围(一般用来更新缓冲UI)
                                        playbackBufferEmpty: Bool没有缓冲数据
                                        playbackLikelyToKeepUp: Bool有足够的缓冲大致能播放无卡顿
                                        +
                                        +

                                        General State Observations: You can use Key-value observing (KVO) to observe state changes to many of the player’s dynamic properties, such as its currentItem or its playback rate. You should register and unregister for KVO change notifications on the main thread. This avoids the possibility of receiving a partial notification if a change is being made on another thread. AVFoundation invokes observeValue(forKeyPath:of:change:context:) on the main thread, even if the change operation is made on another thread.

                                        +
                                        +

                                        基本状态观察者:你能够使用KVO来观察player动态属性的状态改变,比如像: currentItem 或者它的播放速度。我们应该在主线程注册和去除KVO,这能够避免如果在其它线程发送改变而导致接收局部通知,当发生通知,AVFoundation将在主线程调用observeValue(forKeyPath:of:change:context:) 方法,即使是在其他线程发生。

                                        +
                                        +

                                        KVO能够很好的观察生成的状态,但是并不能够观察播放时间的改变,所以AVPlayer提供了两个方法来观察时间的改变:

                                        +
                                        1
                                        2
                                        3
                                        4
                                        5
                                        6
                                        7
                                        8
                                        9
                                        10
                                        11
                                        /*
                                        @param interval
                                        调用block的时间间隔
                                        @param queue
                                        推荐使用串行队列,放在主线程就行了,并行队列会产生不明确的结果
                                        */
                                        func addPeriodicTimeObserver(forInterval interval: CMTime, queue: DispatchQueue?, using block: @escaping (CMTime) -> Void) -> Any {
                                        // 可以在里面去设置控制状态,刷新进度UI
                                        }
                                        func addBoundaryTimeObserver(forTimes times: [NSValue], queue: DispatchQueue?, using block: @escaping () -> Void) -> Any
                                        +
                                        +

                                        Tips:

                                        +
                                          +
                                        • 创建多个AVPlayerLayer只有最近的layer才会显示视频帧
                                        • +
                                        • 可以创建多个AVPlayerItem来替换AVPlayer的当前item,func replaceCurrentItem(with item: AVPlayerItem?)
                                        • +
                                        • 监听后要注意控制监听的生命周期
                                        • +
                                        +
                                        +

                                        缓存

                                        Apple自有的框架是没有提供缓存功能的,AVPlayer也没有提供直接获取其下载数据的接口,所以想做缓存只能自己来完整的实现。下面有几个方案。

                                        +

                                        一、自己实现的播放器

                                        这种情况大多是根据下载来的数据解码播放,下载的时候做下缓存就好了

                                        +

                                        二、自带播放器+LocalServer

                                        在iOS本地开启Local Server服务,然后MPMoviePlayerController请求本地Local Server服务。本地Local Server服务再不停的去对应的视频地址获取视频流。本地Local Server请求的时候,就可以把视频流缓存在本地。Demo来源:Code4App

                                        +

                                        三、AVPlayer+AVMutableComposition+AVAssetExportSession

                                        原理是直接给AVPlayer传URL,让其内部自己去处理数据下载,然后通过AVMutableCompositionAVAssetExportSessionAVAsset提取视频的数据进行缓存。

                                        +

                                        AVMutableComposition

                                        +

                                        AVMutableComposition is a mutable subclass of AVComposition you use when you want to create a new composition from existing assets. You can add and remove tracks, and you can add, remove, and scale time ranges.

                                        +
                                        +

                                        作用是从现有的AVAsset中创建出一个新的AVComposition,使用者能够从别的asset中提取他们的音频轨道或视频轨道,并且把它们添加到新建的composition中。

                                        +

                                        AVAssetExportSession

                                        +

                                        An AVAssetExportSession object transcodes the contents of an AVAsset source object to create an output of the form described by a specified export preset.

                                        +
                                        +

                                        作用是把AVAsset解码输出到本地文件中。

                                        +

                                        关键需要把原先的AVAsset(AVURLAsset)实现的数据提取出来后拼接成另一个AVAsset(AVComposition)的数据然后解码输出,由于通过网络url下载下来的视频没有保存视频的原始数据(苹果没有暴露接口给我们获取),下载后播放的avasset不能使用AVAssetExportSession输出到本地文件,要曲线地把下载下来的视频通过重构成另外一个AVAsset实例才能输出。

                                        +
                                        1
                                        2
                                        3
                                        4
                                        5
                                        6
                                        7
                                        8
                                        9
                                        10
                                        11
                                        12
                                        13
                                        14
                                        15
                                        16
                                        17
                                        18
                                        19
                                        20
                                        21
                                        22
                                        23
                                        24
                                        25
                                        NSString *documentDirectory = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
                                        NSString *myPathDocument = [documentDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mp4",[_source.videoUrl MD5]]];
                                        NSURL *fileUrl = [NSURL fileURLWithPath:myPathDocument];
                                        if (asset != nil) {
                                        AVMutableComposition *mixComposition = [[AVMutableComposition alloc]init];
                                        AVMutableCompositionTrack *firstTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];
                                        [firstTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, asset.duration) ofTrack:[[asset tracksWithMediaType:AVMediaTypeVideo]objectAtIndex:0] atTime:kCMTimeZero error:nil];
                                        AVMutableCompositionTrack *audioTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];
                                        [audioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, asset.duration) ofTrack:[[asset tracksWithMediaType:AVMediaTypeAudio]objectAtIndex:0] atTime:kCMTimeZero error:nil];
                                        AVAssetExportSession *exporter = [[AVAssetExportSession alloc]initWithAsset:mixComposition presetName:AVAssetExportPresetHighestQuality];
                                        exporter.outputURL = fileUrl;
                                        if (exporter.supportedFileTypes) {
                                        exporter.outputFileType = [exporter.supportedFileTypes objectAtIndex:0] ;
                                        exporter.shouldOptimizeForNetworkUse = YES;
                                        [exporter exportAsynchronouslyWithCompletionHandler:^{
                                        }];
                                        }
                                        }
                                        +

                                        四、AVPlayer+AVAssetResourceLoader

                                        AVAssetResourceLoadingRequest

                                        +

                                        An AVAssetResourceLoader object mediates resource requests from an AVURLAsset object with a delegate object that you provide. When a request arrives, the resource loader asks your delegate if it is able to handle the request and reports the results back to the asset.
                                        AVAssetResourceLoader协调来自AVURLAsset的资源请求,你需要实现它的delegate。当收到一个请求时,ResourceLoader询问你的delegate是否能处理并将结果返回给asset

                                        +
                                        +
                                        +
                                        +
                                        + AVPlayer和AVAssetResourceLoader的层次结构 +
                                        +
                                        AVPlayer和AVAssetResourceLoader的层次结构
                                        +
                                        +

                                        AVAssetResourceLoader通过你提供的委托对象去调节AVURLAsset所需要的加载资源。而很重要的一点是,AVAssetResourceLoader仅在AVURLAsset不知道如何去加载这个URL资源时才会被调用,就是说你提供的委托对象在AVURLAsset不知道如何加载资源时才会得到调用。一般我们可以更改URL的scheme用来隐藏真实的URL。如:

                                        +
                                        +

                                        参考
                                        iOS开发系列–音频播放、录音、视频播放、拍照、视频录制
                                        AVplayer实现播放本地和网络视频(Swift3.0)
                                        iOS视频流开发(2)—视频播放
                                        iOS音频播放 (九):边播边缓存
                                        iOS音视频实现边下载边播放
                                        AVFoundation(二):核心AVAsset
                                        AVFoundation编程指南2-用AVPlayer播放视频
                                        AV Foundation系列(五)媒体组合

                                        +
                                        + +
                                        + +
                                        +
                                        + + + Last updated: +
                                        + + + + http://codingdoge.cn/2017/07/23/title: 视频开发/ + +
                                        + +
                                        + + +
                                        + +
                                        + + + + +
                                        + + + + + + + + + + + + + + + + + + + + + +
                                        + +
                                        + +

                                        + + 谢谢大爷~ + +

                                        +
                                        + +
                                        + 打赏二维码 +
                                        + + + +
                                        +
                                        + + + +
                                        + + + +
                                        +
                                        + + + + + + + +
                                        + +

                                        扫一扫,分享到微信

                                        + 微信分享二维码 +
                                        + + + + + + + + + + +
                                        +
                                          +
                                          + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/23/title: \350\247\243\345\206\263Arduino CH34x\347\263\273\345\210\227\345\234\250macOS Sierra\344\270\255\346\211\276\344\270\215\345\210\260\344\270\262\345\217\243\347\232\204\351\227\256\351\242\230/index.html" "b/2017/07/23/title: \350\247\243\345\206\263Arduino CH34x\347\263\273\345\210\227\345\234\250macOS Sierra\344\270\255\346\211\276\344\270\215\345\210\260\344\270\262\345\217\243\347\232\204\351\227\256\351\242\230/index.html" new file mode 100644 index 0000000..0d93f55 --- /dev/null +++ "b/2017/07/23/title: \350\247\243\345\206\263Arduino CH34x\347\263\273\345\210\227\345\234\250macOS Sierra\344\270\255\346\211\276\344\270\215\345\210\260\344\270\262\345\217\243\347\232\204\351\227\256\351\242\230/index.html" @@ -0,0 +1,547 @@ + + + + + + + + + + + + + + + + + + + + + 解决Arduino CH34x系列在macOS Sierra中找不到串口的问题 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                          + + + +
                                          + +
                                          + +
                                          +

                                          解决Arduino CH34x系列在macOS Sierra中找不到串口的问题

                                          +
                                          + + + + + + + +
                                          +
                                          + + + + +
                                          + + +
                                          + +
                                          + +
                                          +

                                          解决Arduino CH34x系列在macOS Sierra中找不到串口的问题

                                          + +
                                          +
                                          +

                                          毕设做Arduino开发,一开始买了淘宝上慧净自己改的Arduino UNO国产板子,回来插在mac上读不出串口,安装了它附带的驱动还是读不出,同学买了原装板说一插上就能读出串口,都没自己装驱动,为了省麻烦,直接跟商家换了原装板,这时候麻烦来了,板子在我电脑上读不出串口,在别人电脑上能读出来,别人的在我电脑上也读不出来…很崩溃,然后从各个角度debug,下面一个个步骤来,基本能解决。

                                          +
                                          +
                                            +
                                          1. 安装Arduino IDE
                                            上面是官网IDE下载的连接,大概是因为GFW的原因下载速度奇慢,大家也可以去搜Arduino中文社区,里面有好人做了*度网盘的下载种子,速度能快点。
                                            IDE一般自带驱动,如果在串口里没发现,可以试试在
                                            +
                                            +
                                            + D7389412-ED23-427D-82E7-4E1C26114D67 +
                                            +
                                            D7389412-ED23-427D-82E7-4E1C26114D67
                                            +
                                          2. +
                                          +

                                          这个系统报告里看看USB下面能不能读出

                                          +

                                          也可以在bash里输入

                                          +
                                          1
                                          ls /dev/tty*
                                          +

                                          如果有类似的即可

                                          +
                                          +
                                          + 2C66575E-D0DD-4DEA-9F34-8F2E1CF4DA90 +
                                          +
                                          2C66575E-D0DD-4DEA-9F34-8F2E1CF4DA90
                                          +

                                          +
                                            +
                                          1. 官方驱动下载
                                            如果都找不到的话可以去沁恒官方下载CH341SER驱动,安装后再查看一遍(安装驱动完会要求重启).

                                            +
                                          2. +
                                          3. 更改SIP设置

                                            +
                                            +

                                            Apple在10.11中全面启用了名为 System Integrity Protection (SIP) 的系统完整性保护技术. 受此影响, 未经签名的第三方kext及经过修改的原版kext将无法正常加载, 大部分系统文件即使在root用户下也无法直接进行修改.

                                            +
                                            +
                                          4. +
                                          +

                                          前面安装驱动不成功大部分是因为驱动文件冲突导致,所以在此之前先删除之前安装的驱动文件:

                                          +
                                          1
                                          2
                                          3
                                          sudo rm -rf /System/Library/Extensions/usb.kext
                                          sudo rm -rf /Library/Extensions/usbserial.kext
                                          sudo rm -rf _private_var_db_receipts/com.wch.*
                                          +

                                          然后参考CH340 CH341 serial adapters fix for El Capitan OS X可以通过以下步骤修改SIP设置来安装第三方kext:

                                          +
                                            +
                                          1. 重启OS X 并且立即按住 Command+ R 来来进入恢复模式
                                          2. +
                                          3. 在恢复模式中, 菜单栏上面找到终端(Terminal)并打开
                                          4. +
                                          5. 在终端中键入命令csrutil enable —without kext
                                          6. +
                                          7. 看到成功的提示信息之后, 输入reboot重启系统
                                            +

                                            注: —without kext 中的 - 有两条
                                            Command 就是 ⌘ 图标

                                            +
                                            +
                                          8. +
                                          +

                                          通过以上的操作之后, 采用CH340/1 系列芯片的Arduino开发板又可以被识别出来了. 如果还是无法识别, 请重新安装一次CH341SER驱动.

                                          +
                                            +
                                          • 最后如果还不行(我的就是到这里还不行),请看看你的板子是否接触不良,反复摩擦尝试看能不能读出串口,我之前也试过这个办法,但是没有用,后面偶然也是必然下反应过来,反反复复插USB拔出查看串口状态,终于解决了(无良商家害人)
                                          • +
                                          +
                                          +

                                          参考:
                                          如何重置 Mac 上的 NVRAM

                                          +
                                          + +
                                          + +
                                          + + +
                                          + + +
                                          + +
                                          + + + + +
                                          + + + + + + + + + + + + + + + + + + + + + +
                                          + +
                                          + +

                                          + + 谢谢大爷~ + +

                                          +
                                          + +
                                          + 打赏二维码 +
                                          + + + +
                                          +
                                          + + + +
                                          + + + +
                                          +
                                          + + + + + + + +
                                          + +

                                          扫一扫,分享到微信

                                          + 微信分享二维码 +
                                          + + + + + + + + + + +
                                          +
                                            +
                                            + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/25/title: iOS \344\277\235\346\214\201\347\225\214\351\235\242\346\265\201\347\225\205\347\232\204\346\212\200\345\267\247/index.html" "b/2017/07/25/title: iOS \344\277\235\346\214\201\347\225\214\351\235\242\346\265\201\347\225\205\347\232\204\346\212\200\345\267\247/index.html" new file mode 100644 index 0000000..0866eb5 --- /dev/null +++ "b/2017/07/25/title: iOS \344\277\235\346\214\201\347\225\214\351\235\242\346\265\201\347\225\205\347\232\204\346\212\200\345\267\247/index.html" @@ -0,0 +1,527 @@ + + + + + + + + + + + + + + + + + + + + + iOS 保持界面流畅的技巧 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                            + + + +
                                            + +
                                            + +
                                            +

                                            iOS 保持界面流畅的技巧

                                            +
                                            + + + + + + + +
                                            +
                                            + + + + +
                                            + + +
                                            + + + +
                                            + +
                                            +

                                            iOS 保持界面流畅的技巧

                                            + +
                                            +
                                            +

                                            iOS 保持界面流畅的技巧

                                            +
                                            +

                                            CPU 资源消耗原因和解决方案

                                            对象创建

                                            对象的创建会分配内存、调整属性、甚至还有读取文件等操作,比较消耗 CPU 资源。尽量用轻量的对象代替重量的对象,可以对性能有所优化。比如 CALayer 比 UIView 要轻量许多,那么不需要响应触摸事件的控件,用 CALayer 显示会更加合适。如果对象不涉及 UI 操作,则尽量放到后台线程去创建,但可惜的是包含有 CALayer 的控件,都只能在主线程创建和操作。通过 Storyboard 创建视图对象时,其资源消耗会比直接通过代码创建对象要大非常多,在性能敏感的界面里,Storyboard 并不是一个好的技术选择。

                                            +

                                            尽量推迟对象创建的时间,并把对象的创建分散到多个任务中去。尽管这实现起来比较麻烦,并且带来的优势并不多,但如果有能力做,还是要尽量尝试一下。如果对象可以复用,并且复用的代价比释放、创建新对象要小,那么这类对象应当尽量放到一个缓存池里复用。

                                            +

                                            对象调整

                                            对象的调整也经常是消耗 CPU 资源的地方。这里特别说一下 CALayer:CALayer 内部并没有属性,当调用属性方法时,它内部是通过运行时 resolveInstanceMethod 为对象临时添加一个方法,并把对应属性值保存到内部的一个 Dictionary 里,同时还会通知 delegate、创建动画等等,非常消耗资源。UIView 的关于显示相关的属性(比如 frame/bounds/transform)等实际上都是 CALayer 属性映射来的,所以对 UIView 的这些属性进行调整时,消耗的资源要远大于一般的属性。对此你在应用中,应该尽量减少不必要的属性修改。

                                            +

                                            当视图层次调整时,UIView、CALayer 之间会出现很多方法调用与通知,所以在优化性能时,应该尽量避免调整视图层次、添加和移除视图。

                                            +

                                            对象销毁

                                            对象的销毁虽然消耗资源不多,但累积起来也是不容忽视的。通常当容器类持有大量对象时,其销毁时的资源消耗就非常明显。同样的,如果对象可以放到后台线程去释放,那就挪到后台线程去。这里有个小 Tip:把对象捕获到 block 中,然后扔到后台队列去随便发送个消息以避免编译器警告,就可以让对象在后台线程销毁了。

                                            +
                                            1
                                            2
                                            3
                                            4
                                            5
                                            NSArray *tmp = self.array;
                                            self.array = nil;
                                            dispatch_async(queue, ^{
                                            [tmp class];
                                            });
                                            +

                                            布局计算

                                            视图布局的计算是 App 中最为常见的消耗 CPU 资源的地方。如果能在后台线程提前计算好视图布局、并且对视图布局进行缓存,那么这个地方基本就不会产生性能问题了。

                                            +

                                            不论通过何种技术对视图进行布局,其最终都会落到对 UIView.frame/bounds/center 等属性的调整上。上面也说过,对这些属性的调整非常消耗资源,所以尽量提前计算好布局,在需要时一次性调整好对应属性,而不要多次、频繁的计算和调整这些属性。

                                            +

                                            Autolayout

                                            Autolayout 是苹果本身提倡的技术,在大部分情况下也能很好的提升开发效率,但是 Autolayout 对于复杂视图来说常常会产生严重的性能问题。随着视图数量的增长,Autolayout 带来的 CPU 消耗会呈指数级上升。具体数据可以看这个文章:http://pilky.me/36/。 如果你不想手动调整 frame 等属性,你可以用一些工具方法替代(比如常见的 left/right/top/bottom/width/height 快捷属性),或者使用 ComponentKit、AsyncDisplayKit 等框架。

                                            +

                                            文本计算

                                            如果一个界面中包含大量文本(比如微博微信朋友圈等),文本的宽高计算会占用很大一部分资源,并且不可避免。如果你对文本显示没有特殊要求,可以参考下 UILabel 内部的实现方式:用 [NSAttributedString boundingRectWithSize:options:context:] 来计算文本宽高,用 -[NSAttributedString drawWithRect:options:context:] 来绘制文本。尽管这两个方法性能不错,但仍旧需要放到后台线程进行以避免阻塞主线程。

                                            +

                                            如果你用 CoreText 绘制文本,那就可以先生成 CoreText 排版对象,然后自己计算了,并且 CoreText 对象还能保留以供稍后绘制使用。

                                            +

                                            文本渲染

                                            屏幕上能看到的所有文本内容控件,包括 UIWebView,在底层都是通过 CoreText 排版、绘制为 Bitmap 显示的。常见的文本控件 (UILabel、UITextView 等),其排版和绘制都是在主线程进行的,当显示大量文本时,CPU 的压力会非常大。对此解决方案只有一个,那就是自定义文本控件,用 TextKit 或最底层的 CoreText 对文本异步绘制。尽管这实现起来非常麻烦,但其带来的优势也非常大,CoreText 对象创建好后,能直接获取文本的宽高等信息,避免了多次计算(调整 UILabel 大小时算一遍、UILabel 绘制时内部再算一遍);CoreText 对象占用内存较少,可以缓存下来以备稍后多次渲染。

                                            +

                                            图片的解码

                                            当你用 UIImage 或 CGImageSource 的那几个方法创建图片时,图片数据并不会立刻解码。图片设置到 UIImageView 或者 CALayer.contents 中去,并且 CALayer 被提交到 GPU 前,CGImage 中的数据才会得到解码。这一步是发生在主线程的,并且不可避免。如果想要绕开这个机制,常见的做法是在后台线程先把图片绘制到 CGBitmapContext 中,然后从 Bitmap 直接创建图片。目前常见的网络图片库都自带这个功能。

                                            +

                                            图像的绘制

                                            图像的绘制通常是指用那些以 CG 开头的方法把图像绘制到画布中,然后从画布创建图片并显示这样一个过程。这个最常见的地方就是 [UIView drawRect:] 里面了。由于 CoreGraphic 方法通常都是线程安全的,所以图像的绘制可以很容易的放到后台线程进行。一个简单异步绘制的过程大致如下(实际情况会比这个复杂得多,但原理基本一致):

                                            +
                                            1
                                            2
                                            3
                                            4
                                            5
                                            6
                                            7
                                            8
                                            9
                                            10
                                            11
                                            - (void)display {
                                            dispatch_async(backgroundQueue, ^{
                                            CGContextRef ctx = CGBitmapContextCreate(...);
                                            // draw in context...
                                            CGImageRef img = CGBitmapContextCreateImage(ctx);
                                            CFRelease(ctx);
                                            dispatch_async(mainQueue, ^{
                                            layer.contents = img;
                                            });
                                            });
                                            }
                                            +

                                            GPU 资源消耗原因和解决方案

                                            相对于 CPU 来说,GPU 能干的事情比较单一:接收提交的纹理(Texture)和顶点描述(三角形),应用变换(transform)、混合并渲染,然后输出到屏幕上。通常你所能看到的内容,主要也就是纹理(图片)和形状(三角模拟的矢量图形)两类。

                                            +

                                            纹理的渲染

                                            所有的 Bitmap,包括图片、文本、栅格化的内容,最终都要由内存提交到显存,绑定为 GPU Texture。不论是提交到显存的过程,还是 GPU 调整和渲染 Texture 的过程,都要消耗不少 GPU 资源。当在较短时间显示大量图片时(比如 TableView 存在非常多的图片并且快速滑动时),CPU 占用率很低,GPU 占用非常高,界面仍然会掉帧。避免这种情况的方法只能是尽量减少在短时间内大量图片的显示,尽可能将多张图片合成为一张进行显示。

                                            +

                                            当图片过大,超过 GPU 的最大纹理尺寸时,图片需要先由 CPU 进行预处理,这对 CPU 和 GPU 都会带来额外的资源消耗。目前来说,iPhone 4S 以上机型,纹理尺寸上限都是 4096x4096,更详细的资料可以看这里:iosres.com。所以,尽量不要让图片和视图的大小超过这个值。

                                            +

                                            视图的混合 (Composing)

                                            当多个视图(或者说 CALayer)重叠在一起显示时,GPU 会首先把他们混合到一起。如果视图结构过于复杂,混合的过程也会消耗很多 GPU 资源。为了减轻这种情况的 GPU 消耗,应用应当尽量减少视图数量和层次,并在不透明的视图里标明 opaque 属性以避免无用的 Alpha 通道合成。当然,这也可以用上面的方法,把多个视图预先渲染为一张图片来显示。

                                            +

                                            图形的生成

                                            CALayer 的 border、圆角、阴影、遮罩(mask),CASharpLayer 的矢量图形显示,通常会触发离屏渲染(offscreen rendering),而离屏渲染通常发生在 GPU 中。当一个列表视图中出现大量圆角的 CALayer,并且快速滑动时,可以观察到 GPU 资源已经占满,而 CPU 资源消耗很少。这时界面仍然能正常滑动,但平均帧数会降到很低。为了避免这种情况,可以尝试开启 CALayer.shouldRasterize 属性,但这会把原本离屏渲染的操作转嫁到 CPU 上去。对于只需要圆角的某些场合,也可以用一张已经绘制好的圆角图片覆盖到原本视图上面来模拟相同的视觉效果。最彻底的解决办法,就是把需要显示的图形在后台线程绘制为图片,避免使用圆角、阴影、遮罩等属性。

                                            +
                                            +

                                            参考:
                                            iOS 保持界面流畅的技巧

                                            +
                                            + +
                                            + +
                                            +
                                            + + + Last updated: +
                                            + + + + http://codingdoge.cn/2017/07/25/title: iOS 保持界面流畅的技巧/ + +
                                            + +
                                            + + +
                                            + +
                                            + + + + +
                                            + + + + + + + + + + + + + + + + + + + + + +
                                            + +
                                            + +

                                            + + 谢谢大爷~ + +

                                            +
                                            + +
                                            + 打赏二维码 +
                                            + + + +
                                            +
                                            + + + +
                                            + + + +
                                            +
                                            + + + + + + + +
                                            + +

                                            扫一扫,分享到微信

                                            + 微信分享二维码 +
                                            + + + + + + + + + + +
                                            +
                                              +
                                              + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/25/title: \345\211\221\346\214\207Offer \342\200\224\342\200\224 \346\273\221\345\212\250\347\252\227\345\217\243\347\232\204\346\234\200\345\244\247\345\200\274/index.html" "b/2017/07/25/title: \345\211\221\346\214\207Offer \342\200\224\342\200\224 \346\273\221\345\212\250\347\252\227\345\217\243\347\232\204\346\234\200\345\244\247\345\200\274/index.html" new file mode 100644 index 0000000..2e5b183 --- /dev/null +++ "b/2017/07/25/title: \345\211\221\346\214\207Offer \342\200\224\342\200\224 \346\273\221\345\212\250\347\252\227\345\217\243\347\232\204\346\234\200\345\244\247\345\200\274/index.html" @@ -0,0 +1,508 @@ + + + + + + + + + + + + + + + + + + + + + 剑指Offer —— 滑动窗口的最大值 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                              + + + +
                                              + +
                                              + +
                                              +

                                              剑指Offer —— 滑动窗口的最大值

                                              +
                                              + + + + + + + +
                                              +
                                              + + + + +
                                              + + +
                                              + + + +
                                              + +
                                              +

                                              剑指Offer —— 滑动窗口的最大值

                                              + +
                                              +
                                              +

                                              题目来源:滑动窗口的最大值

                                              +
                                              +
                                              +

                                              题目描述

                                              给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}{2,[3,4,2],6,2,5,1}{2,3,[4,2,6],2,5,1}{2,3,4,[2,6,2],5,1}{2,3,4,2,[6,2,5],1}{2,3,4,2,6,[2,5,1]}

                                              +

                                              解题思路

                                              用一个双端队列维护当前滑动窗口的状态,队首是当前窗口最大值的下标,当窗口滑动进入一个新值k时,k从队尾依次向前比较,比k小的全部出队,保障了k的权重应有的位置

                                              +
                                              1
                                              2
                                              3
                                              4
                                              5
                                              6
                                              7
                                              8
                                              9
                                              10
                                              11
                                              12
                                              13
                                              14
                                              15
                                              16
                                              17
                                              18
                                              19
                                              20
                                              21
                                              vector<int> maxInWindows(const vector<int> &num, unsigned int size) {
                                              truevector<int> ans;
                                              truedeque<int> q;
                                              trueif (num.size() < size || size == 0)
                                              true return ans;
                                              truefor (int i = 0; i < size; i++) {
                                              true while(!q.empty() && num[i] > num[q.back()])
                                              true q.pop_back();
                                              true q.push_back(i);
                                              true}
                                              truefor (int i = size; i < num.size(); i++) {
                                              true ans.push_back(num[q.front()]);
                                              true while (!q.empty() && num[i] >= num[q.back()])
                                              true q.pop_back();
                                              true while (!q.empty() && q.front() <= i-size)
                                              true q.pop_front();
                                              true q.push_back(i);
                                              true}
                                              trueans.push_back(num[q.front()]);
                                              truereturn ans;
                                              }
                                              + +
                                              + +
                                              +
                                              + + + Last updated: +
                                              + + + + http://codingdoge.cn/2017/07/25/title: 剑指Offer —— 滑动窗口的最大值/ + +
                                              + +
                                              + + +
                                              + +
                                              + + + + +
                                              + + + + + + + + + + + + + + + + + + + + + +
                                              + +
                                              + +

                                              + + 谢谢大爷~ + +

                                              +
                                              + +
                                              + 打赏二维码 +
                                              + + + +
                                              +
                                              + + + +
                                              + + + +
                                              +
                                              + + + + + + + +
                                              + +

                                              扫一扫,分享到微信

                                              + 微信分享二维码 +
                                              + + + + + + + + + + +
                                              +
                                                +
                                                + + + + + + + + + + + + + + + + + + + diff --git "a/2017/07/27/title: \345\271\266\345\217\221(concurrency)\345\222\214\345\271\266\350\241\214(parallelism)/index.html" "b/2017/07/27/title: \345\271\266\345\217\221(concurrency)\345\222\214\345\271\266\350\241\214(parallelism)/index.html" new file mode 100644 index 0000000..41bbadb --- /dev/null +++ "b/2017/07/27/title: \345\271\266\345\217\221(concurrency)\345\222\214\345\271\266\350\241\214(parallelism)/index.html" @@ -0,0 +1,519 @@ + + + + + + + + + + + + + + + + + + + + + 并发(concurrency)和并行(parallelism) | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                + + + +
                                                + +
                                                + +
                                                +

                                                并发(concurrency)和并行(parallelism)

                                                +
                                                + + + + + + + +
                                                +
                                                + + + + +
                                                + + +
                                                + + + +
                                                + +
                                                +

                                                并发(concurrency)和并行(parallelism)

                                                + +
                                                +
                                                +

                                                “并发”指的是程序的结构,“并行”指的是程序运行时的状态

                                                +
                                                +

                                                并行(parallelism)

                                                这个概念很好理解。所谓并行,就是同时执行的意思,无需过度解读。判断程序是否处于并行的状态,就看同一时刻是否有超过一个“工作单位”在运行就好了。所以,单线程永远无法达到并行状态。

                                                +

                                                要达到并行状态,最简单的就是利用多线程和多进程。

                                                +

                                                并发(concurrency)

                                                要理解“并发”这个概念,必须得清楚,并发指的是程序的“结构”。当我们说这个程序是并发的,实际上,这句话应当表述成“这个程序采用了支持并发的设计”。好,既然并发指的是人为设计的结构,那么怎样的程序结构才叫做支持并发的设计?

                                                +

                                                正确的并发设计的标准是:使多个操作可以在重叠的时间段内进行(two tasks can start, run, and complete in overlapping time periods)。

                                                +

                                                这句话的重点有两个。我们先看“(操作)在重叠的时间段内进行”这个概念。它是否就是我们前面说到的并行呢?是,也不是。并行,当然是在重叠的时间段内执行,但是另外一种执行模式,也属于在重叠时间段内进行。这就是协程

                                                +

                                                使用协程时,程序的执行看起来往往是这个样子:

                                                +
                                                +
                                                + +
                                                +
                                                +

                                                +

                                                task1, task2 是两段不同的代码,比如两个函数,其中黑色块代表某段代码正在执行。注意,这里从始至终,在任何一个时间点上都只有一段代码在执行,但是,由于 task1 和 task2 在重叠的时间段内执行,所以这是一个支持并发的设计。与并行不同,单核单线程能支持并发。

                                                +
                                                +

                                                Different concurrent designs enable different ways to parallelize

                                                +
                                                + +
                                                + +
                                                +
                                                + + + Last updated: +
                                                + + + + http://codingdoge.cn/2017/07/27/title: 并发(concurrency)和并行(parallelism)/ + +
                                                + +
                                                + + +
                                                + +
                                                + + + + +
                                                + + + + + + + + + + + + + + + + + + + + + +
                                                + +
                                                + +

                                                + + 谢谢大爷~ + +

                                                +
                                                + +
                                                + 打赏二维码 +
                                                + + + +
                                                +
                                                + + + +
                                                + + + +
                                                +
                                                + + + + + + + +
                                                + +

                                                扫一扫,分享到微信

                                                + 微信分享二维码 +
                                                + + + + + + + + + + +
                                                +
                                                  +
                                                  + + + + + + + + + + + + + + + + + + + diff --git "a/2017/08/01/title: \345\211\221\346\214\207Offer \342\200\224\342\200\224 \346\234\200\345\260\217\347\232\204k\344\270\252\346\225\260/index.html" "b/2017/08/01/title: \345\211\221\346\214\207Offer \342\200\224\342\200\224 \346\234\200\345\260\217\347\232\204k\344\270\252\346\225\260/index.html" new file mode 100644 index 0000000..1707495 --- /dev/null +++ "b/2017/08/01/title: \345\211\221\346\214\207Offer \342\200\224\342\200\224 \346\234\200\345\260\217\347\232\204k\344\270\252\346\225\260/index.html" @@ -0,0 +1,512 @@ + + + + + + + + + + + + + + + + + + + + + 剑指Offer —— 最小的k个数 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                  + + + +
                                                  + +
                                                  + +
                                                  +

                                                  剑指Offer —— 最小的k个数

                                                  +
                                                  + + + + + + + +
                                                  +
                                                  + + + + +
                                                  + + +
                                                  + + + +
                                                  + +
                                                  +

                                                  剑指Offer —— 最小的k个数

                                                  + +
                                                  +
                                                  +

                                                  题目描述

                                                  输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。(很典型的题目了)

                                                  +

                                                  解题思路

                                                    +
                                                  1. 插入或者冒泡排序,优化点在记录已排好的个数(O(n*k))
                                                  2. +
                                                  3. 最小堆(O(nlogk))
                                                  4. +
                                                  5. 快排思想(O(n))
                                                  6. +
                                                  +

                                                  way1

                                                  不上代码了。

                                                  +

                                                  way2

                                                  上个建堆的算法,通用、解耦、易测试😂

                                                  +
                                                  1
                                                  2
                                                  3
                                                  4
                                                  5
                                                  6
                                                  7
                                                  8
                                                  9
                                                  10
                                                  11
                                                  12
                                                  13
                                                  14
                                                  15
                                                  16
                                                  17
                                                  18
                                                  19
                                                  20
                                                  21
                                                  22
                                                  23
                                                  24
                                                  25
                                                  26
                                                  27
                                                  28
                                                  29
                                                  30
                                                  31
                                                  32
                                                  33
                                                  34
                                                  35
                                                  36
                                                  37
                                                  38
                                                  39
                                                  40
                                                  41
                                                  42
                                                  43
                                                  44
                                                  45
                                                  46
                                                  47
                                                  48
                                                  49
                                                  50
                                                  void HeapAdjust(int H[],int s, int length)
                                                  {
                                                  int tmp = H[s];
                                                  int child = 2*s+1; //左孩子结点的位置。(i+1 为当前调整结点的右孩子结点的位置)
                                                  while (child < length) {
                                                  if(child+1 <length && H[child]<H[child+1]) { // 如果右孩子大于左孩子(找到比当前待调整结点大的孩子结点)
                                                  ++child ;
                                                  }
                                                  if(H[s]<H[child]) { // 如果较大的子结点大于父结点
                                                  H[s] = H[child]; // 那么把较大的子结点往上移动,替换它的父结点
                                                  s = child; // 重新设置s ,即待调整的下一个结点的位置
                                                  child = 2*s+1;
                                                  } else { // 如果当前待调整结点大于它的左右孩子,则不需要调整,直接退出
                                                  break;
                                                  }
                                                  H[s] = tmp; // 当前待调整的结点放到比其大的孩子结点位置上
                                                  }
                                                  print(H,length);
                                                  }
                                                  /**
                                                  * 初始堆进行调整
                                                  * 将H[0..length-1]建成堆
                                                  * 调整完之后第一个元素是序列的最小的元素
                                                  */
                                                  void BuildingHeap(int H[], int length)
                                                  {
                                                  //最后一个有孩子的节点的位置 i= (length -1) / 2
                                                  for (int i = (length -1) / 2 ; i >= 0; i--)
                                                  {
                                                  cout << "i: " << i << endl;
                                                  HeapAdjust(H,i,length);
                                                  }
                                                  }
                                                  /**
                                                  * 堆排序算法
                                                  */
                                                  void HeapSort(int H[],int length)
                                                  {
                                                  //初始堆
                                                  BuildingHeap(H, length);
                                                  //从最后一个元素开始对序列进行调整
                                                  for (int i = length - 1; i > 0; --i)
                                                  {
                                                  //交换堆顶元素H[0]和堆中最后一个元素
                                                  int temp = H[i]; H[i] = H[0]; H[0] = temp;
                                                  //每次交换堆顶元素和堆中最后一个元素之后,都要对堆进行调整
                                                  HeapAdjust(H,0,i);
                                                  }
                                                  }
                                                  +

                                                  way3

                                                  1
                                                  2
                                                  3
                                                  4
                                                  5
                                                  6
                                                  7
                                                  8
                                                  9
                                                  10
                                                  11
                                                  12
                                                  13
                                                  14
                                                  15
                                                  16
                                                  17
                                                  18
                                                  19
                                                  20
                                                  21
                                                  22
                                                  23
                                                  24
                                                  25
                                                  26
                                                  27
                                                  28
                                                  29
                                                  30
                                                  31
                                                  32
                                                  33
                                                  34
                                                  35
                                                  36
                                                  37
                                                  38
                                                  39
                                                  40
                                                  41
                                                  int Partition(vector<int> &input, int begin, int end)
                                                  {
                                                  trueint first = begin;
                                                  trueint last = end;
                                                  trueint pivot = input[first];
                                                  truewhile (first < last)
                                                  true{
                                                  truetruewhile (first < last && input[last] >= pivot) last--;
                                                  truetrueinput[first] = input[last];
                                                  truetruewhile (first < last && input[first] <= pivot) first++;
                                                  truetrueinput[last] = input[first];
                                                  true}
                                                  trueinput[first] = pivot;
                                                  truereturn first;
                                                  }
                                                  vector<int> GetLeastNumbers_Solution(vector<int> &input, int k)
                                                  {
                                                  trueint len=input.size();
                                                  truevector<int> res;
                                                  trueif(len==0||k>len||k<=0) return res;
                                                  trueif(len==k) return input;
                                                  trueint start=0;
                                                  trueint end=len-1;
                                                  trueint index=Partition(input,start,end);
                                                  truewhile(index!=(k-1))
                                                  true{
                                                  truetrueif(index>k-1)
                                                  truetrue{
                                                  truetruetrueend=index-1;
                                                  truetruetrueindex=Partition(input,start,end);
                                                  truetrue}
                                                  truetrueelse
                                                  truetrue{
                                                  truetruetruestart=index+1;
                                                  truetruetrueindex=Partition(input,start,end);
                                                  truetrue}
                                                  true}
                                                  truefor (int i = 0; i < k; i++)
                                                  truetrueres.push_back(input[i]);
                                                  truereturn res;
                                                  }
                                                  + +
                                                  + +
                                                  +
                                                  + + + Last updated: +
                                                  + + + + http://codingdoge.cn/2017/08/01/title: 剑指Offer —— 最小的k个数/ + +
                                                  + +
                                                  + + +
                                                  + +
                                                  + + + + +
                                                  + + + + + + + + + + + + + + + + + + + + + +
                                                  + +
                                                  + +

                                                  + + 谢谢大爷~ + +

                                                  +
                                                  + +
                                                  + 打赏二维码 +
                                                  + + + +
                                                  +
                                                  + + + +
                                                  + + + +
                                                  +
                                                  + + + + + + + +
                                                  + +

                                                  扫一扫,分享到微信

                                                  + 微信分享二维码 +
                                                  + + + + + + + + + + +
                                                  +
                                                    +
                                                    + + + + + + + + + + + + + + + + + + + diff --git a/2017/08/02/title: Dispatch/index.html b/2017/08/02/title: Dispatch/index.html new file mode 100644 index 0000000..faafd37 --- /dev/null +++ b/2017/08/02/title: Dispatch/index.html @@ -0,0 +1,530 @@ + + + + + + + + + + + + + + + + + + + + + Dispatch | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                    + + + +
                                                    + +
                                                    + +
                                                    +

                                                    Dispatch

                                                    +
                                                    + + + + + + + +
                                                    +
                                                    + + + + +
                                                    + + +
                                                    + + + +
                                                    + +
                                                    +

                                                    Dispatch

                                                    + +
                                                    +
                                                    +

                                                    Execute code concurrently on multicore hardware by submitting work to dispatch queues managed by the system.

                                                    +
                                                    +

                                                    在多核硬件上,通过提交任务到由这个系统管理的派遣队列上,并发的执行代码。

                                                    +

                                                    一种把保证回调会在主线程执行的方法:

                                                    +
                                                    1
                                                    2
                                                    3
                                                    4
                                                    5
                                                    6
                                                    7
                                                    8
                                                    #ifndef dispatch_main_async_safe
                                                    #define dispatch_main_async_safe(block)\
                                                    if (strcmp(dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL), dispatch_queue_get_label(dispatch_get_main_queue())) == 0) {\
                                                    block();\
                                                    } else {\
                                                    dispatch_async(dispatch_get_main_queue(), block);\
                                                    }
                                                    #endif
                                                    +
                                                    1
                                                    2
                                                    3
                                                    4
                                                    5
                                                    6
                                                    7
                                                    8
                                                    9
                                                    10
                                                    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
                                                    dispatch_group_t group = dispatch_group_create();
                                                    for(id obj in array)
                                                    dispatch_group_async(group, queue, ^{
                                                    [self doSomethingIntensiveWith:obj];
                                                    });
                                                    dispatch_group_wait(group, DISPATCH_TIME_FOREVER);
                                                    dispatch_release(group);
                                                    [self doSomethingWith:array];
                                                    +
                                                    1
                                                    2
                                                    3
                                                    4
                                                    5
                                                    6
                                                    7
                                                    8
                                                    9
                                                    10
                                                    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
                                                    dispatch_group_t group = dispatch_group_create();
                                                    for(id obj in array)
                                                    dispatch_group_async(group, queue, ^{
                                                    [self doSomethingIntensiveWith:obj];
                                                    });
                                                    dispatch_group_notify(group, queue, ^{
                                                    [self doSomethingWith:array];
                                                    });
                                                    dispatch_release(group);
                                                    +

                                                    dispatch_barrier_sync和dispatch_barrier_async

                                                    + + + + + + + + + + + + + + + + +
                                                    commondifferent
                                                    等待在它前面插入队列的任务先执行完dispatch_barrier_sync将自己的任务插入到队列的时候,需要等待自己的任务结束之后才会继续插入被写在它后面的任务,然后执行它们
                                                    等待他们自己的任务执行完再执行后面的任务dispatch_barrier_async将自己的任务插入到队列之后,不会等待自己的任务结束,它会继续把后面的任务插入到队列,然后等待自己的任务结束后才执行后面任务
                                                    +
                                                    +

                                                    参考:
                                                    GCD入门(一): 基本概念和Dispatch Queue
                                                    深入理解GCD
                                                    底层并发 API
                                                    GCD 中 dispatch_once 的性能与实现
                                                    读 Concurrency Programming Guide 笔记(一)
                                                    iOS并发编程

                                                    +
                                                    + +
                                                    + +
                                                    +
                                                    + + + Last updated: +
                                                    + + + + http://codingdoge.cn/2017/08/02/title: Dispatch/ + +
                                                    + +
                                                    + + +
                                                    + +
                                                    + + + + +
                                                    + + + + + + + + + + + + + + + + + + + + + +
                                                    + +
                                                    + +

                                                    + + 谢谢大爷~ + +

                                                    +
                                                    + +
                                                    + 打赏二维码 +
                                                    + + + +
                                                    +
                                                    + + + +
                                                    + + + +
                                                    +
                                                    + + + + + + + +
                                                    + +

                                                    扫一扫,分享到微信

                                                    + 微信分享二维码 +
                                                    + + + + + + + + + + +
                                                    +
                                                      +
                                                      + + + + + + + + + + + + + + + + + + + diff --git "a/2017/08/03/title: Dispatch \345\234\250swift\344\270\255\347\232\204\344\275\277\347\224\250/index.html" "b/2017/08/03/title: Dispatch \345\234\250swift\344\270\255\347\232\204\344\275\277\347\224\250/index.html" new file mode 100644 index 0000000..54f22b3 --- /dev/null +++ "b/2017/08/03/title: Dispatch \345\234\250swift\344\270\255\347\232\204\344\275\277\347\224\250/index.html" @@ -0,0 +1,511 @@ + + + + + + + + + + + + + + + + + + + + + Dispatch 在swift中的使用 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                      + + + +
                                                      + +
                                                      + +
                                                      +

                                                      Dispatch 在swift中的使用

                                                      +
                                                      + + + + + + + +
                                                      +
                                                      + + + + +
                                                      + + +
                                                      + + + +
                                                      + +
                                                      +

                                                      Dispatch 在swift中的使用

                                                      + +
                                                      +

                                                      创建队列

                                                      当group里所有事件都完成GCD API有两种方式发送通知,第一种是dispatch_group_wait,会阻塞当前进程,等所有任务都完成或等待超时。第二种方法是使用dispatch_group_notify,异步执行闭包,不会阻塞。

                                                      +
                                                      1
                                                      2
                                                      3
                                                      4
                                                      5
                                                      6
                                                      7
                                                      8
                                                      9
                                                      10
                                                      11
                                                      12
                                                      13
                                                      14
                                                      15
                                                      16
                                                      17
                                                      18
                                                      19
                                                      20
                                                      21
                                                      22
                                                      23
                                                      24
                                                      25
                                                      26
                                                      27
                                                      28
                                                      29
                                                      func downloadPhotosWithCompletion(completion: BatchPhotoDownloadingCompletionClosure?) {
                                                      dispatch_async(GlobalUserInitiatedQueue) { // 因为dispatch_group_wait会租塞当前进程,所以要使用dispatch_async将整个方法要放到后台队列才能够保证主线程不被阻塞
                                                      var storedError: NSError!
                                                      var downloadGroup = dispatch_group_create() // 创建一个dispatch group
                                                      for address in [OverlyAttachedGirlfriendURLString,
                                                      SuccessKidURLString,
                                                      LotsOfFacesURLString]
                                                      {
                                                      let url = NSURL(string: address)
                                                      dispatch_group_enter(downloadGroup) // dispatch_group_enter是通知dispatch group任务开始了,dispatch_group_enter和dispatch_group_leave是成对调用,不然程序就崩溃了。
                                                      let photo = DownloadPhoto(url: url!) {
                                                      image, error in
                                                      if let error = error {
                                                      storedError = error
                                                      }
                                                      dispatch_group_leave(downloadGroup) // 保持和dispatch_group_enter配对。通知任务已经完成
                                                      }
                                                      PhotoManager.sharedManager.addPhoto(photo)
                                                      }
                                                      dispatch_group_wait(downloadGroup, DISPATCH_TIME_FOREVER) // dispatch_group_wait等待所有任务都完成直到超时。如果任务完成前就超时了,函数会返回一个非零值,可以通过返回值判断是否超时。也可以用DISPATCH_TIME_FOREVER表示一直等。
                                                      dispatch_async(GlobalMainQueue) { // 这里可以保证所有图片任务都完成,然后在main queue里加入完成后要处理的闭包,会在main queue里执行。
                                                      if let completion = completion { // 执行闭包内容
                                                      completion(error: storedError)
                                                      }
                                                      }
                                                      }
                                                      }
                                                      +

                                                      Serial Queues

                                                      1
                                                      2
                                                      3
                                                      4
                                                      5
                                                      6
                                                      7
                                                      8
                                                      9
                                                      10
                                                      11
                                                      12
                                                      13
                                                      14
                                                      15
                                                      16
                                                      17
                                                      18
                                                      19
                                                      private let serialQueue = DispatchQueue(label: “serialQueue”)
                                                      private var dictionary: [String: Any] = [:]
                                                      public func set(_ value: Any, forKey key: String) {
                                                      serialQueue.sync {
                                                      dictionary[key] = value
                                                      }
                                                      }
                                                      public func object(forKey key: String) -> Any? {
                                                      var result: Any?
                                                      serialQueue.sync {
                                                      result = storage[key]
                                                      }
                                                      // returns after serialQueue is finished operation
                                                      // beacuse serialQueue is run synchronously
                                                      return result
                                                      }
                                                      +

                                                      Concurrent Queues

                                                      1
                                                      2
                                                      3
                                                      4
                                                      5
                                                      6
                                                      7
                                                      8
                                                      9
                                                      10
                                                      11
                                                      12
                                                      13
                                                      14
                                                      15
                                                      16
                                                      17
                                                      18
                                                      19
                                                      20
                                                      private let concurrentQueue = DispatchQueue(label: "concurrentQueue", attributes: .concurrent)
                                                      private var dictionary: [String: Any] = [:]
                                                      public func set(_ value: Any?, forKey key: String) {
                                                      concurrentQueue.async {
                                                      self.storage[key] = value
                                                      }
                                                      }
                                                      public func object(forKey key: String) -> Any? {
                                                      var result: Any?
                                                      concurrentQueue.sync {
                                                      result = storage[key]
                                                      }
                                                      // returns after concurrentQueue is finished operation
                                                      // beacuse concurrentQueue is run synchronously
                                                      return result
                                                      }
                                                      +

                                                      Concurrent Queue with Barrier

                                                      1
                                                      2
                                                      3
                                                      4
                                                      5
                                                      6
                                                      7
                                                      8
                                                      9
                                                      10
                                                      11
                                                      12
                                                      13
                                                      14
                                                      15
                                                      16
                                                      17
                                                      18
                                                      19
                                                      20
                                                      21
                                                      22
                                                      23
                                                      private let concurrentQueue = DispatchQueue(label: "concurrentQueue", attributes: .concurrent)
                                                      private var dictionary: [String: Any] = [:]
                                                      public func set(_ value: Any?, forKey key: String) {
                                                      // .barrier flag ensures that within the queue all reading is done
                                                      // before the below writing is performed and
                                                      // pending readings start after below writing is performed
                                                      concurrentQueue.async(flags: .barrier) {
                                                      self.storage[key] = value
                                                      }
                                                      }
                                                      public func object(forKey key: String) -> Any? {
                                                      var result: Any?
                                                      concurrentQueue.sync {
                                                      result = storage[key]
                                                      }
                                                      // returns after concurrentQueue is finished operation
                                                      // beacuse concurrentQueue is run synchronously
                                                      return result
                                                      }
                                                      +

                                                      延时

                                                      1
                                                      2
                                                      3
                                                      4
                                                      5
                                                      6
                                                      7
                                                      8
                                                      9
                                                      10
                                                      11
                                                      12
                                                      13
                                                      14
                                                      15
                                                      16
                                                      17
                                                      18
                                                      19
                                                      20
                                                      21
                                                      22
                                                      23
                                                      24
                                                      25
                                                      26
                                                      27
                                                      28
                                                      29
                                                      30
                                                      31
                                                      32
                                                      33
                                                      34
                                                      35
                                                      typealias Task = (_ cancel: Bool) -> Void
                                                      func delay(time: TimeInterval, task: @escaping ()->()) -> Task? {
                                                      func dispatch_later(block: @escaping ()->()) {
                                                      DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()+time, execute: block)
                                                      }
                                                      var closure: (()->())? = task
                                                      var result: Task?
                                                      let delayedClosure: Task = { cancel in
                                                      if let internalClosure = closure {
                                                      if cancel == false {
                                                      DispatchQueue.main.async {
                                                      internalClosure()
                                                      }
                                                      }
                                                      }
                                                      closure = nil
                                                      result = nil
                                                      }
                                                      result = delayedClosure
                                                      dispatch_later {
                                                      if let delayedClosure = result {
                                                      delayedClosure(false)
                                                      }
                                                      }
                                                      return result
                                                      }
                                                      func cancel(task: Task?) {
                                                      task?(true)
                                                      }
                                                      +

                                                      网络场景异步开启下载、取消下载,开始下载前保证没有遗留下载任务

                                                      1
                                                      2
                                                      3
                                                      4
                                                      5
                                                      6
                                                      7
                                                      8
                                                      9
                                                      10
                                                      11
                                                      12
                                                      13
                                                      fileprivate let barrierQueue = DispatchQueue(label: "com.meitu.meipu.videoCache.barrierQueue")
                                                      func downloader(url: URL) {
                                                      barrierQueue.sync { [weak self] in
                                                      // add downloader task
                                                      }
                                                      }
                                                      func cancel() {
                                                      barrierQueue.async(group: nil, qos: .default, flags: .barrier) {
                                                      // cacle task
                                                      }
                                                      }
                                                      +
                                                      +

                                                      参考:
                                                      GCD 在 Swift 3 中的玩儿法
                                                      GCD 使用指南
                                                      Swift 3 中的 GCD 与 Dispatch Queue
                                                      Swift 3學習指南:重新認識GCD應用
                                                      GCD精讲(Swift 3)

                                                      +
                                                      + +
                                                      + +
                                                      +
                                                      + + + Last updated: +
                                                      + + + + http://codingdoge.cn/2017/08/03/title: Dispatch 在swift中的使用/ + +
                                                      + +
                                                      + + +
                                                      + +
                                                      + + + + +
                                                      + + + + + + + + + + + + + + + + + + + + + +
                                                      + +
                                                      + +

                                                      + + 谢谢大爷~ + +

                                                      +
                                                      + +
                                                      + 打赏二维码 +
                                                      + + + +
                                                      +
                                                      + + + +
                                                      + + + +
                                                      +
                                                      + + + + + + + +
                                                      + +

                                                      扫一扫,分享到微信

                                                      + 微信分享二维码 +
                                                      + + + + + + + + + + +
                                                      +
                                                        +
                                                        + + + + + + + + + + + + + + + + + + + diff --git "a/2017/08/03/title: \351\224\231\350\257\257\345\244\204\347\220\206/index.html" "b/2017/08/03/title: \351\224\231\350\257\257\345\244\204\347\220\206/index.html" new file mode 100644 index 0000000..948d065 --- /dev/null +++ "b/2017/08/03/title: \351\224\231\350\257\257\345\244\204\347\220\206/index.html" @@ -0,0 +1,509 @@ + + + + + + + + + + + + + + + + + + + + + 错误处理 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                        + + + +
                                                        + +
                                                        + +
                                                        +

                                                        错误处理

                                                        +
                                                        + + + + + + + +
                                                        +
                                                        + + + + +
                                                        + + +
                                                        + +
                                                        + +
                                                        +

                                                        错误处理

                                                        + +
                                                        +

                                                        错误处理(Error handling)是响应错误以及从错误中恢复的过程。Swift 提供了在运行时对可恢复错误的抛出、捕获、传递和操作的一等公民支持。

                                                        +

                                                        Swift 中有4种处理错误的方式

                                                        +
                                                          +
                                                        • 把函数抛出的错误传递给调用此函数的代码
                                                        • +
                                                        • do-catch语句处理错误
                                                        • +
                                                        • 将错误作为可选类型处理
                                                        • +
                                                        • 或者断言此错误根本不会发生
                                                        • +
                                                        +
                                                        +

                                                        Swift 中的错误处理并不涉及解除调用栈,这是一个计算代价高昂的过程。就此而言,throw语句的性能特性是可以和return语句相媲美的。

                                                        +
                                                        +

                                                        一个 throwing 函数可以在其内部抛出错误,并将错误传递到函数被调用时的作用域

                                                        +
                                                        +

                                                        参考:
                                                        The Swift Programming Language 中文版
                                                        SWIFT 的必备 TIP

                                                        +
                                                        + +
                                                        + +
                                                        +
                                                        + + + Last updated: +
                                                        + + + + http://codingdoge.cn/2017/08/03/title: 错误处理/ + +
                                                        + +
                                                        + + +
                                                        + +
                                                        + + + + +
                                                        + + + + + + + + + + + + + + + + + + + + + +
                                                        + +
                                                        + +

                                                        + + 谢谢大爷~ + +

                                                        +
                                                        + +
                                                        + 打赏二维码 +
                                                        + + + +
                                                        +
                                                        + + + +
                                                        + + + +
                                                        +
                                                        + + + + + + + +
                                                        + +

                                                        扫一扫,分享到微信

                                                        + 微信分享二维码 +
                                                        + + + + + + + + + + +
                                                        +
                                                          +
                                                          + + + + + + + + + + + + + + + + + + + diff --git "a/2017/08/04/title: \345\211\221\346\214\207Offer \342\200\224\342\200\224 \344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\347\254\254k\344\270\252\347\273\223\347\202\271/index.html" "b/2017/08/04/title: \345\211\221\346\214\207Offer \342\200\224\342\200\224 \344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\347\254\254k\344\270\252\347\273\223\347\202\271/index.html" new file mode 100644 index 0000000..7e37d6b --- /dev/null +++ "b/2017/08/04/title: \345\211\221\346\214\207Offer \342\200\224\342\200\224 \344\272\214\345\217\211\346\220\234\347\264\242\346\240\221\347\232\204\347\254\254k\344\270\252\347\273\223\347\202\271/index.html" @@ -0,0 +1,522 @@ + + + + + + + + + + + + + + + + + + + + + 剑指Offer —— 二叉搜索树的第k个结点 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                          + + + +
                                                          + +
                                                          + +
                                                          +

                                                          剑指Offer —— 二叉搜索树的第k个结点

                                                          +
                                                          + + + + + + + +
                                                          +
                                                          + + + + +
                                                          + + +
                                                          + + + +
                                                          + +
                                                          +

                                                          剑指Offer —— 二叉搜索树的第k个结点

                                                          + +
                                                          +
                                                          +

                                                          题目来源:牛客网

                                                          +
                                                          +
                                                          +

                                                          题目描述

                                                          给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。

                                                          +

                                                          解题思路

                                                            +
                                                          1. 递归
                                                          2. +
                                                          3. 迭代

                                                            way1

                                                            中序遍历,找到第k个结点。完全性的模拟左根右,注意返回结果的处理。
                                                          4. +
                                                          +
                                                          TreeNode* KthNode(TreeNode* pRoot, int k) {
                                                          +    if (pRoot) {
                                                          +        TreeNode *node = KthNode(pRoot->left, k);
                                                          +        if (node) return node;
                                                          +        index++;
                                                          +        if (index == k) return pRoot;
                                                          +        node = KthNode(pRoot->right, k);
                                                          +        if (node) return node;
                                                          +    }
                                                          +    return NULL;
                                                          +}
                                                          +
                                                          + +
                                                          + +
                                                          + + +
                                                          + + +
                                                          + +
                                                          + + + + +
                                                          + + + + + + + + + + + + + + + + + + + + + +
                                                          + +
                                                          + +

                                                          + + 谢谢大爷~ + +

                                                          +
                                                          + +
                                                          + 打赏二维码 +
                                                          + + + +
                                                          +
                                                          + + + +
                                                          + + + +
                                                          +
                                                          + + + + + + + +
                                                          + +

                                                          扫一扫,分享到微信

                                                          + 微信分享二维码 +
                                                          + + + + + + + + + + +
                                                          +
                                                            +
                                                            + + + + + + + + + + + + + + + + + + + diff --git "a/2017/08/20/title: Advanced Swift \347\254\224\350\256\260 \342\200\224\342\200\224 Tips/index.html" "b/2017/08/20/title: Advanced Swift \347\254\224\350\256\260 \342\200\224\342\200\224 Tips/index.html" new file mode 100644 index 0000000..2a2dd3e --- /dev/null +++ "b/2017/08/20/title: Advanced Swift \347\254\224\350\256\260 \342\200\224\342\200\224 Tips/index.html" @@ -0,0 +1,503 @@ + + + + + + + + + + + + + + + + + + + + + Advanced Swift 笔记 —— Tips | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                            + + + +
                                                            + +
                                                            + +
                                                            +

                                                            Advanced Swift 笔记 —— Tips

                                                            +
                                                            + + + + + + + +
                                                            +
                                                            + + + + +
                                                            + + +
                                                            + + + +
                                                            + +
                                                            +

                                                            Advanced Swift 笔记 —— Tips

                                                            + +
                                                            +

                                                            Curried Function 柯里化函數

                                                            一个函数不是接受多个参数,而是只接受部分参数,然后返回一个接受其余参数的函数。

                                                            +

                                                            Statically Dispatched 靜態派發

                                                            定義在類或者協議中的函數就是方法(Method),他們有一個隱式的self。不是方法的函數叫做自由函數(Free Function)。自由函数和那些在结构体上调用的方法是静态派发 (statically dispatched)的。对于这些函数的调用,在编译的时候就已经确定了。对于静态派发的调用,编译器可能能够内联 (inline)这些函数,也就是说,完全不去做函数调用,而是将这部分代码替换为需要执行的函数。静态派发还能够帮助编译器丢弃或者简化那些在编译时就能确定不会被实际执行的代码。

                                                            + +
                                                            + +
                                                            +
                                                            + + + Last updated: +
                                                            + + + + http://codingdoge.cn/2017/08/20/title: Advanced Swift 笔记 —— Tips/ + +
                                                            + +
                                                            + + +
                                                            + +
                                                            + + + + +
                                                            + + + + + + + + + + + + + + + + + + + + + +
                                                            + +
                                                            + +

                                                            + + 谢谢大爷~ + +

                                                            +
                                                            + +
                                                            + 打赏二维码 +
                                                            + + + +
                                                            +
                                                            + + + +
                                                            + + + +
                                                            +
                                                            + + + + + + + +
                                                            + +

                                                            扫一扫,分享到微信

                                                            + 微信分享二维码 +
                                                            + + + + + + + + + + +
                                                            +
                                                              +
                                                              + + + + + + + + + + + + + + + + + + + diff --git "a/2017/08/30/title: Advanced Swift \347\254\224\350\256\260 \342\200\224\342\200\224 \345\205\247\345\273\272\351\233\206\345\220\210\351\241\236\345\236\213/index.html" "b/2017/08/30/title: Advanced Swift \347\254\224\350\256\260 \342\200\224\342\200\224 \345\205\247\345\273\272\351\233\206\345\220\210\351\241\236\345\236\213/index.html" new file mode 100644 index 0000000..fccb1ab --- /dev/null +++ "b/2017/08/30/title: Advanced Swift \347\254\224\350\256\260 \342\200\224\342\200\224 \345\205\247\345\273\272\351\233\206\345\220\210\351\241\236\345\236\213/index.html" @@ -0,0 +1,523 @@ + + + + + + + + + + + + + + + + + + + + + Advanced Swift 笔记 —— 內建集合類型 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                              + + + +
                                                              + +
                                                              + +
                                                              +

                                                              Advanced Swift 笔记 —— 內建集合類型

                                                              +
                                                              + + + + + + + +
                                                              +
                                                              + + + + +
                                                              + + +
                                                              + + + +
                                                              + +
                                                              +

                                                              Advanced Swift 笔记 —— 內建集合類型

                                                              + +
                                                              +

                                                              數組(Array)

                                                              盡量不要使用下標索引,如果下標越界會直接導致crash(在並發情況下尤其需要考慮)。

                                                              +
                                                                +
                                                              • 迭代全部
                                                              • +
                                                              +
                                                              1
                                                              for x in array
                                                              +
                                                                +
                                                              • 迭代除了第一個元素以外的其餘部分
                                                              • +
                                                              +
                                                              1
                                                              for x in array.dropFirst()
                                                              +
                                                                +
                                                              • 迭代除了最後5個元素以外的數組
                                                              • +
                                                              +
                                                              1
                                                              for x in array.dropLast(5)
                                                              +
                                                                +
                                                              • 列舉數組中的元素和對應下標
                                                              • +
                                                              +
                                                              1
                                                              for (index, value) in array.enumerated()
                                                              +
                                                                +
                                                              • 尋找一個指定元素的位置
                                                              • +
                                                              +
                                                              1
                                                              2
                                                              3
                                                              _ = array.index {
                                                              someMatchingLogic($0)
                                                              }
                                                              +
                                                                +
                                                              • 對數組所有元素變形
                                                              • +
                                                              +
                                                              1
                                                              2
                                                              3
                                                              _ = array.map {
                                                              someTransformation($0)
                                                              }
                                                              +
                                                                +
                                                              • 篩選符合某個標準的元素
                                                              • +
                                                              +
                                                              1
                                                              2
                                                              3
                                                              _ = array.filter {
                                                              someCriteria($0)
                                                              }
                                                              + +
                                                              + +
                                                              + + +
                                                              + + +
                                                              + +
                                                              + + + + +
                                                              + + + + + + + + + + + + + + + + + + + + + +
                                                              + +
                                                              + +

                                                              + + 谢谢大爷~ + +

                                                              +
                                                              + +
                                                              + 打赏二维码 +
                                                              + + + +
                                                              +
                                                              + + + +
                                                              + + + +
                                                              +
                                                              + + + + + + + +
                                                              + +

                                                              扫一扫,分享到微信

                                                              + 微信分享二维码 +
                                                              + + + + + + + + + + +
                                                              +
                                                                +
                                                                + + + + + + + + + + + + + + + + + + + diff --git a/2017/08/30/title: Brew Instruction/index.html b/2017/08/30/title: Brew Instruction/index.html new file mode 100644 index 0000000..526a501 --- /dev/null +++ b/2017/08/30/title: Brew Instruction/index.html @@ -0,0 +1,552 @@ + + + + + + + + + + + + + + + + + + + + + Brew Instruction | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                + + + +
                                                                + +
                                                                + +
                                                                +

                                                                Brew Instruction

                                                                +
                                                                + + + + + + + +
                                                                +
                                                                + + + + +
                                                                + + +
                                                                + +
                                                                + +
                                                                +

                                                                Brew Instruction

                                                                + +
                                                                +

                                                                Brew

                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                brew help查看有什麼可用的指令
                                                                brew search [someSuit]查詢有無someSuit
                                                                brew install [someSuit]安裝someSuit
                                                                brew info [someSuit]查看someSuit的訊息
                                                                brew uninstall [someSuit]移除someSuit
                                                                brew list列出已安裝套件
                                                                brew outdated查詢那些套件已過期
                                                                brew cleanup -n刪除舊的套件版本(-n 是顯示刪除的過程,可以了解有哪些套件被刪除了)
                                                                brew upgrade [someSuit]更新someSuit
                                                                brew update && brew upgrade && brew doctor更新Homebrew上面所有套件
                                                                brew dips [someSuit]列出安裝someSuit需要的依賴套件
                                                                brew —prefix查詢brew安裝的路徑
                                                                +
                                                                +

                                                                參考:
                                                                chiehwen/Homebrew 指令詳解.md
                                                                Homebrew 指令

                                                                +
                                                                + +
                                                                + +
                                                                +
                                                                + + + Last updated: +
                                                                + + + + http://codingdoge.cn/2017/08/30/title: Brew Instruction/ + +
                                                                + +
                                                                + + +
                                                                + +
                                                                + + + + +
                                                                + + + + + + + + + + + + + + + + + + + + + +
                                                                + +
                                                                + +

                                                                + + 谢谢大爷~ + +

                                                                +
                                                                + +
                                                                + 打赏二维码 +
                                                                + + + +
                                                                +
                                                                + + + +
                                                                + + + +
                                                                +
                                                                + + + + + + + +
                                                                + +

                                                                扫一扫,分享到微信

                                                                + 微信分享二维码 +
                                                                + + + + + + + + + + +
                                                                +
                                                                  +
                                                                  + + + + + + + + + + + + + + + + + + + diff --git a/404.html b/404.html new file mode 100644 index 0000000..b2e7c3b --- /dev/null +++ b/404.html @@ -0,0 +1,9 @@ + + + + CodingDoge's blog | 404 + + + + + diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..99306e0 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +codingdoge.cn diff --git a/about/index.html b/about/index.html new file mode 100644 index 0000000..17d3a2c --- /dev/null +++ b/about/index.html @@ -0,0 +1,425 @@ + + + + + + + + + + + + + + + + + + + + + About | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                  + + + +
                                                                  + + + + +
                                                                  +
                                                                  +
                                                                  + +
                                                                  + + +
                                                                  + +
                                                                  +

                                                                  CodingDoge

                                                                  +

                                                                  关于开发、设计,关于生活。

                                                                  +

                                                                  目前博客多作为知识点整理,所以有些文章奇奇怪怪(因为还没写完)...各位有缘的看官见笑了😝 恩 就酱...

                                                                  +
                                                                  + + +
                                                                  + + +
                                                                  + +
                                                                  + + + + + + +
                                                                  + + + +
                                                                  + + + +
                                                                  + +
                                                                  + + + + + + + + + + + + + + + + + + +
                                                                  + +
                                                                  + +

                                                                  + + 谢谢大爷~ + +

                                                                  +
                                                                  + +
                                                                  + 打赏二维码 +
                                                                  + + + +
                                                                  +
                                                                  + + +
                                                                  + + + +
                                                                  +
                                                                  + + + + + + + +
                                                                  + +

                                                                  扫一扫,分享到微信

                                                                  + 微信分享二维码 +
                                                                  + + + + + + + + + + +
                                                                  +
                                                                    +
                                                                    + + + + + + + + + + + + + + + + + + + diff --git a/archives/2017/05/index.html b/archives/2017/05/index.html new file mode 100644 index 0000000..3544b6b --- /dev/null +++ b/archives/2017/05/index.html @@ -0,0 +1,345 @@ + + + + + + + + + + + + + + + + + + + + + Archives: 2017/5 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                    + + + +
                                                                    + +
                                                                    + +
                                                                    +

                                                                    Archives

                                                                    +
                                                                    + +
                                                                    +
                                                                    + + + + +
                                                                    + +
                                                                    + + + + +

                                                                    May, 2017

                                                                    +
                                                                    + + +
                                                                    + +
                                                                    + + +
                                                                    + + +
                                                                    + + + +
                                                                    +
                                                                    + + + + + + + +
                                                                    + +

                                                                    扫一扫,分享到微信

                                                                    + 微信分享二维码 +
                                                                    + + + + + + + + + + +
                                                                    +
                                                                      +
                                                                      + + + + + + + + + + + + + + + + + + + diff --git a/archives/2017/07/index.html b/archives/2017/07/index.html new file mode 100644 index 0000000..25f1b3b --- /dev/null +++ b/archives/2017/07/index.html @@ -0,0 +1,549 @@ + + + + + + + + + + + + + + + + + + + + + Archives: 2017/7 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                      + + + +
                                                                      + +
                                                                      + +
                                                                      +

                                                                      Archives

                                                                      +
                                                                      + +
                                                                      +
                                                                      + + + + +
                                                                      + +
                                                                      + + + + +

                                                                      July, 2017

                                                                      +
                                                                      + + +
                                                                      + +
                                                                      + + + +
                                                                      + +
                                                                      + + + +
                                                                      + +
                                                                      + + + +
                                                                      + +
                                                                      + + + +
                                                                      + +
                                                                      + + + +
                                                                      + +
                                                                      + + + +
                                                                      + +
                                                                      + + +
                                                                      + + + + +
                                                                      + + + +
                                                                      +
                                                                      + + + + + + + +
                                                                      + +

                                                                      扫一扫,分享到微信

                                                                      + 微信分享二维码 +
                                                                      + + + + + + + + + + +
                                                                      +
                                                                        +
                                                                        + + + + + + + + + + + + + + + + + + + diff --git a/archives/2017/07/page/2/index.html b/archives/2017/07/page/2/index.html new file mode 100644 index 0000000..0455d6b --- /dev/null +++ b/archives/2017/07/page/2/index.html @@ -0,0 +1,555 @@ + + + + + + + + + + + + + + + + + + + + + Archives: 2017/7 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                        + + + +
                                                                        + +
                                                                        + +
                                                                        +

                                                                        Archives

                                                                        +
                                                                        + +
                                                                        +
                                                                        + + + + +
                                                                        + +
                                                                        + + + + +

                                                                        July, 2017

                                                                        +
                                                                        + + +
                                                                        + +
                                                                        + + + +
                                                                        + +
                                                                        + + + +
                                                                        + +
                                                                        + + + +
                                                                        + +
                                                                        + + + +
                                                                        + +
                                                                        + + + +
                                                                        + +
                                                                        + + + +
                                                                        + +
                                                                        + + +
                                                                        + + + + +
                                                                        + + + +
                                                                        +
                                                                        + + + + + + + +
                                                                        + +

                                                                        扫一扫,分享到微信

                                                                        + 微信分享二维码 +
                                                                        + + + + + + + + + + +
                                                                        +
                                                                          +
                                                                          + + + + + + + + + + + + + + + + + + + diff --git a/archives/2017/07/page/3/index.html b/archives/2017/07/page/3/index.html new file mode 100644 index 0000000..d7d8407 --- /dev/null +++ b/archives/2017/07/page/3/index.html @@ -0,0 +1,561 @@ + + + + + + + + + + + + + + + + + + + + + Archives: 2017/7 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                          + + + +
                                                                          + +
                                                                          + +
                                                                          +

                                                                          Archives

                                                                          +
                                                                          + +
                                                                          +
                                                                          + + + + +
                                                                          + +
                                                                          + + + + +

                                                                          July, 2017

                                                                          +
                                                                          + + +
                                                                          + +
                                                                          + + + +
                                                                          + +
                                                                          + + + +
                                                                          + +
                                                                          + + + +
                                                                          + +
                                                                          + + + +
                                                                          + +
                                                                          + + + +
                                                                          + +
                                                                          + + + +
                                                                          + +
                                                                          + + +
                                                                          + + + + +
                                                                          + + + +
                                                                          +
                                                                          + + + + + + + +
                                                                          + +

                                                                          扫一扫,分享到微信

                                                                          + 微信分享二维码 +
                                                                          + + + + + + + + + + +
                                                                          +
                                                                            +
                                                                            + + + + + + + + + + + + + + + + + + + diff --git a/archives/2017/07/page/4/index.html b/archives/2017/07/page/4/index.html new file mode 100644 index 0000000..26a6b98 --- /dev/null +++ b/archives/2017/07/page/4/index.html @@ -0,0 +1,391 @@ + + + + + + + + + + + + + + + + + + + + + Archives: 2017/7 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                            + + + +
                                                                            + +
                                                                            + +
                                                                            +

                                                                            Archives

                                                                            +
                                                                            + +
                                                                            +
                                                                            + + + + +
                                                                            + +
                                                                            + + + + +

                                                                            July, 2017

                                                                            +
                                                                            + + +
                                                                            + +
                                                                            + + + +
                                                                            + +
                                                                            + + +
                                                                            + + + + +
                                                                            + + + +
                                                                            +
                                                                            + + + + + + + +
                                                                            + +

                                                                            扫一扫,分享到微信

                                                                            + 微信分享二维码 +
                                                                            + + + + + + + + + + +
                                                                            +
                                                                              +
                                                                              + + + + + + + + + + + + + + + + + + + diff --git a/archives/2017/08/index.html b/archives/2017/08/index.html new file mode 100644 index 0000000..1582795 --- /dev/null +++ b/archives/2017/08/index.html @@ -0,0 +1,561 @@ + + + + + + + + + + + + + + + + + + + + + Archives: 2017/8 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                              + + + +
                                                                              + +
                                                                              + +
                                                                              +

                                                                              Archives

                                                                              +
                                                                              + +
                                                                              +
                                                                              + + + + +
                                                                              + +
                                                                              + + + + +

                                                                              August, 2017

                                                                              +
                                                                              + + +
                                                                              + +
                                                                              + + + +
                                                                              + +
                                                                              + + + +
                                                                              + +
                                                                              + + + +
                                                                              + +
                                                                              + + + +
                                                                              + +
                                                                              + + + +
                                                                              + +
                                                                              + + + +
                                                                              + +
                                                                              + + +
                                                                              + + + + +
                                                                              + + + +
                                                                              +
                                                                              + + + + + + + +
                                                                              + +

                                                                              扫一扫,分享到微信

                                                                              + 微信分享二维码 +
                                                                              + + + + + + + + + + +
                                                                              +
                                                                                +
                                                                                + + + + + + + + + + + + + + + + + + + diff --git a/archives/2017/08/page/2/index.html b/archives/2017/08/page/2/index.html new file mode 100644 index 0000000..ed2bdd3 --- /dev/null +++ b/archives/2017/08/page/2/index.html @@ -0,0 +1,357 @@ + + + + + + + + + + + + + + + + + + + + + Archives: 2017/8 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                + + + +
                                                                                + +
                                                                                + +
                                                                                +

                                                                                Archives

                                                                                +
                                                                                + +
                                                                                +
                                                                                + + + + +
                                                                                + +
                                                                                + + + + +

                                                                                August, 2017

                                                                                +
                                                                                + + +
                                                                                + +
                                                                                + + +
                                                                                + + + + +
                                                                                + + + +
                                                                                +
                                                                                + + + + + + + +
                                                                                + +

                                                                                扫一扫,分享到微信

                                                                                + 微信分享二维码 +
                                                                                + + + + + + + + + + +
                                                                                +
                                                                                  +
                                                                                  + + + + + + + + + + + + + + + + + + + diff --git a/archives/2017/index.html b/archives/2017/index.html new file mode 100644 index 0000000..0da7f63 --- /dev/null +++ b/archives/2017/index.html @@ -0,0 +1,561 @@ + + + + + + + + + + + + + + + + + + + + + Archives: 2017 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                  + + + +
                                                                                  + +
                                                                                  + +
                                                                                  +

                                                                                  Archives

                                                                                  +
                                                                                  + +
                                                                                  +
                                                                                  + + + + +
                                                                                  + +
                                                                                  + + + + +

                                                                                  August, 2017

                                                                                  +
                                                                                  + + +
                                                                                  + +
                                                                                  + + + +
                                                                                  + +
                                                                                  + + + +
                                                                                  + +
                                                                                  + + + +
                                                                                  + +
                                                                                  + + + +
                                                                                  + +
                                                                                  + + + +
                                                                                  + +
                                                                                  + + + +
                                                                                  + +
                                                                                  + + +
                                                                                  + + + + +
                                                                                  + + + +
                                                                                  +
                                                                                  + + + + + + + +
                                                                                  + +

                                                                                  扫一扫,分享到微信

                                                                                  + 微信分享二维码 +
                                                                                  + + + + + + + + + + +
                                                                                  +
                                                                                    +
                                                                                    + + + + + + + + + + + + + + + + + + + diff --git a/archives/2017/page/2/index.html b/archives/2017/page/2/index.html new file mode 100644 index 0000000..4e31136 --- /dev/null +++ b/archives/2017/page/2/index.html @@ -0,0 +1,553 @@ + + + + + + + + + + + + + + + + + + + + + Archives: 2017 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                    + + + +
                                                                                    + +
                                                                                    + +
                                                                                    +

                                                                                    Archives

                                                                                    +
                                                                                    + +
                                                                                    +
                                                                                    + + + + +
                                                                                    + +
                                                                                    + + + + +

                                                                                    August, 2017

                                                                                    +
                                                                                    + + +
                                                                                    + +
                                                                                    + + +
                                                                                    +

                                                                                    July, 2017

                                                                                    +
                                                                                    + + +
                                                                                    + +
                                                                                    + + + +
                                                                                    + +
                                                                                    + + + +
                                                                                    + +
                                                                                    + + + +
                                                                                    + +
                                                                                    + + + +
                                                                                    + +
                                                                                    + + + +
                                                                                    + +
                                                                                    + + +
                                                                                    + + + + +
                                                                                    + + + +
                                                                                    +
                                                                                    + + + + + + + +
                                                                                    + +

                                                                                    扫一扫,分享到微信

                                                                                    + 微信分享二维码 +
                                                                                    + + + + + + + + + + +
                                                                                    +
                                                                                      +
                                                                                      + + + + + + + + + + + + + + + + + + + diff --git a/archives/2017/page/3/index.html b/archives/2017/page/3/index.html new file mode 100644 index 0000000..223870d --- /dev/null +++ b/archives/2017/page/3/index.html @@ -0,0 +1,555 @@ + + + + + + + + + + + + + + + + + + + + + Archives: 2017 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                      + + + +
                                                                                      + +
                                                                                      + +
                                                                                      +

                                                                                      Archives

                                                                                      +
                                                                                      + +
                                                                                      +
                                                                                      + + + + +
                                                                                      + +
                                                                                      + + + + +

                                                                                      July, 2017

                                                                                      +
                                                                                      + + +
                                                                                      + +
                                                                                      + + + +
                                                                                      + +
                                                                                      + + + +
                                                                                      + +
                                                                                      + + + +
                                                                                      + +
                                                                                      + + + +
                                                                                      + +
                                                                                      + + + +
                                                                                      + +
                                                                                      + + + +
                                                                                      + +
                                                                                      + + +
                                                                                      + + + + +
                                                                                      + + + +
                                                                                      +
                                                                                      + + + + + + + +
                                                                                      + +

                                                                                      扫一扫,分享到微信

                                                                                      + 微信分享二维码 +
                                                                                      + + + + + + + + + + +
                                                                                      +
                                                                                        +
                                                                                        + + + + + + + + + + + + + + + + + + + diff --git a/archives/2017/page/4/index.html b/archives/2017/page/4/index.html new file mode 100644 index 0000000..c2f7e22 --- /dev/null +++ b/archives/2017/page/4/index.html @@ -0,0 +1,561 @@ + + + + + + + + + + + + + + + + + + + + + Archives: 2017 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                        + + + +
                                                                                        + +
                                                                                        + +
                                                                                        +

                                                                                        Archives

                                                                                        +
                                                                                        + +
                                                                                        +
                                                                                        + + + + +
                                                                                        + +
                                                                                        + + + + +

                                                                                        July, 2017

                                                                                        +
                                                                                        + + +
                                                                                        + +
                                                                                        + + + +
                                                                                        + +
                                                                                        + + + +
                                                                                        + +
                                                                                        + + + +
                                                                                        + +
                                                                                        + + + +
                                                                                        + +
                                                                                        + + + +
                                                                                        + +
                                                                                        + + + +
                                                                                        + +
                                                                                        + + +
                                                                                        + + + + +
                                                                                        + + + +
                                                                                        +
                                                                                        + + + + + + + +
                                                                                        + +

                                                                                        扫一扫,分享到微信

                                                                                        + 微信分享二维码 +
                                                                                        + + + + + + + + + + +
                                                                                        +
                                                                                          +
                                                                                          + + + + + + + + + + + + + + + + + + + diff --git a/archives/2017/page/5/index.html b/archives/2017/page/5/index.html new file mode 100644 index 0000000..a171c42 --- /dev/null +++ b/archives/2017/page/5/index.html @@ -0,0 +1,457 @@ + + + + + + + + + + + + + + + + + + + + + Archives: 2017 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                          + + + +
                                                                                          + +
                                                                                          + +
                                                                                          +

                                                                                          Archives

                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          + + + + +
                                                                                          + +
                                                                                          + + + + +

                                                                                          July, 2017

                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + + + +
                                                                                          + +
                                                                                          + + + +
                                                                                          + +
                                                                                          + + +
                                                                                          +

                                                                                          May, 2017

                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + + +
                                                                                          + + + + +
                                                                                          + + + +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          + +

                                                                                          扫一扫,分享到微信

                                                                                          + 微信分享二维码 +
                                                                                          + + + + + + + + + + +
                                                                                          +
                                                                                            +
                                                                                            + + + + + + + + + + + + + + + + + + + diff --git a/archives/index.html b/archives/index.html new file mode 100644 index 0000000..267d439 --- /dev/null +++ b/archives/index.html @@ -0,0 +1,561 @@ + + + + + + + + + + + + + + + + + + + + + Archives | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                            + + + +
                                                                                            + +
                                                                                            + +
                                                                                            +

                                                                                            Archives

                                                                                            +
                                                                                            + +
                                                                                            +
                                                                                            + + + + +
                                                                                            + +
                                                                                            + + + + +

                                                                                            August, 2017

                                                                                            +
                                                                                            + + +
                                                                                            + +
                                                                                            + + + +
                                                                                            + +
                                                                                            + + + +
                                                                                            + +
                                                                                            + + + +
                                                                                            + +
                                                                                            + + + +
                                                                                            + +
                                                                                            + + + +
                                                                                            + +
                                                                                            + + + +
                                                                                            + +
                                                                                            + + +
                                                                                            + + + + +
                                                                                            + + + +
                                                                                            +
                                                                                            + + + + + + + +
                                                                                            + +

                                                                                            扫一扫,分享到微信

                                                                                            + 微信分享二维码 +
                                                                                            + + + + + + + + + + +
                                                                                            +
                                                                                              +
                                                                                              + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/2/index.html b/archives/page/2/index.html new file mode 100644 index 0000000..14287b3 --- /dev/null +++ b/archives/page/2/index.html @@ -0,0 +1,553 @@ + + + + + + + + + + + + + + + + + + + + + Archives | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                              + + + +
                                                                                              + +
                                                                                              + +
                                                                                              +

                                                                                              Archives

                                                                                              +
                                                                                              + +
                                                                                              +
                                                                                              + + + + +
                                                                                              + +
                                                                                              + + + + +

                                                                                              August, 2017

                                                                                              +
                                                                                              + + +
                                                                                              + +
                                                                                              + + +
                                                                                              +

                                                                                              July, 2017

                                                                                              +
                                                                                              + + +
                                                                                              + +
                                                                                              + + + +
                                                                                              + +
                                                                                              + + + +
                                                                                              + +
                                                                                              + + + +
                                                                                              + +
                                                                                              + + + +
                                                                                              + +
                                                                                              + + + +
                                                                                              + +
                                                                                              + + +
                                                                                              + + + + +
                                                                                              + + + +
                                                                                              +
                                                                                              + + + + + + + +
                                                                                              + +

                                                                                              扫一扫,分享到微信

                                                                                              + 微信分享二维码 +
                                                                                              + + + + + + + + + + +
                                                                                              +
                                                                                                +
                                                                                                + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/3/index.html b/archives/page/3/index.html new file mode 100644 index 0000000..9de398f --- /dev/null +++ b/archives/page/3/index.html @@ -0,0 +1,555 @@ + + + + + + + + + + + + + + + + + + + + + Archives | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                + + + +
                                                                                                + +
                                                                                                + +
                                                                                                +

                                                                                                Archives

                                                                                                +
                                                                                                + +
                                                                                                +
                                                                                                + + + + +
                                                                                                + +
                                                                                                + + + + +

                                                                                                July, 2017

                                                                                                +
                                                                                                + + +
                                                                                                + +
                                                                                                + + + +
                                                                                                + +
                                                                                                + + + +
                                                                                                + +
                                                                                                + + + +
                                                                                                + +
                                                                                                + + + +
                                                                                                + +
                                                                                                + + + +
                                                                                                + +
                                                                                                + + + +
                                                                                                + +
                                                                                                + + +
                                                                                                + + + + +
                                                                                                + + + +
                                                                                                +
                                                                                                + + + + + + + +
                                                                                                + +

                                                                                                扫一扫,分享到微信

                                                                                                + 微信分享二维码 +
                                                                                                + + + + + + + + + + +
                                                                                                +
                                                                                                  +
                                                                                                  + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/4/index.html b/archives/page/4/index.html new file mode 100644 index 0000000..2c961ba --- /dev/null +++ b/archives/page/4/index.html @@ -0,0 +1,561 @@ + + + + + + + + + + + + + + + + + + + + + Archives | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                  + + + +
                                                                                                  + +
                                                                                                  + +
                                                                                                  +

                                                                                                  Archives

                                                                                                  +
                                                                                                  + +
                                                                                                  +
                                                                                                  + + + + +
                                                                                                  + +
                                                                                                  + + + + +

                                                                                                  July, 2017

                                                                                                  +
                                                                                                  + + +
                                                                                                  + +
                                                                                                  + + + +
                                                                                                  + +
                                                                                                  + + + +
                                                                                                  + +
                                                                                                  + + + +
                                                                                                  + +
                                                                                                  + + + +
                                                                                                  + +
                                                                                                  + + + +
                                                                                                  + +
                                                                                                  + + + +
                                                                                                  + +
                                                                                                  + + +
                                                                                                  + + + + +
                                                                                                  + + + +
                                                                                                  +
                                                                                                  + + + + + + + +
                                                                                                  + +

                                                                                                  扫一扫,分享到微信

                                                                                                  + 微信分享二维码 +
                                                                                                  + + + + + + + + + + +
                                                                                                  +
                                                                                                    +
                                                                                                    + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/5/index.html b/archives/page/5/index.html new file mode 100644 index 0000000..b21c951 --- /dev/null +++ b/archives/page/5/index.html @@ -0,0 +1,457 @@ + + + + + + + + + + + + + + + + + + + + + Archives | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                    + + + +
                                                                                                    + +
                                                                                                    + +
                                                                                                    +

                                                                                                    Archives

                                                                                                    +
                                                                                                    + +
                                                                                                    +
                                                                                                    + + + + +
                                                                                                    + +
                                                                                                    + + + + +

                                                                                                    July, 2017

                                                                                                    +
                                                                                                    + + +
                                                                                                    + +
                                                                                                    + + + +
                                                                                                    + +
                                                                                                    + + + +
                                                                                                    + +
                                                                                                    + + +
                                                                                                    +

                                                                                                    May, 2017

                                                                                                    +
                                                                                                    + + +
                                                                                                    + +
                                                                                                    + + +
                                                                                                    + + + + +
                                                                                                    + + + +
                                                                                                    +
                                                                                                    + + + + + + + +
                                                                                                    + +

                                                                                                    扫一扫,分享到微信

                                                                                                    + 微信分享二维码 +
                                                                                                    + + + + + + + + + + +
                                                                                                    +
                                                                                                      +
                                                                                                      + + + + + + + + + + + + + + + + + + + diff --git a/atom.xml b/atom.xml new file mode 100644 index 0000000..073a8e6 --- /dev/null +++ b/atom.xml @@ -0,0 +1,874 @@ + + + CodingDoge + https://www.gravatar.com/avatar/d091400ed78ec5cd8bf36bd5fff7bb8f + 关于开发、设计,关于生活。 + + + + 2018-01-13T12:22:39.908Z + http://codingdoge.cn/ + + + CodingDoge + codingdoge@outlook.com + + + Hexo + + + Advanced Swift 笔记 —— 內建集合類型 + + http://codingdoge.cn/2017/08/30/title: Advanced Swift 笔记 —— 內建集合類型/ + 2017-08-30T07:47:00.000Z + 2018-01-13T12:22:39.908Z + + 數組(Array)

                                                                                                      盡量不要使用下標索引,如果下標越界會直接導致crash(在並發情況下尤其需要考慮)。

                                                                                                      • 迭代全部
                                                                                                      1
                                                                                                      for x in array
                                                                                                      • 迭代除了第一個元素以外的其餘部分
                                                                                                      1
                                                                                                      for x in array.dropFirst()
                                                                                                      • 迭代除了最後5個元素以外的數組
                                                                                                      1
                                                                                                      for x in array.dropLast(5)
                                                                                                      • 列舉數組中的元素和對應下標
                                                                                                      1
                                                                                                      for (index, value) in array.enumerated()
                                                                                                      • 尋找一個指定元素的位置
                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      _ = array.index {
                                                                                                      someMatchingLogic($0)
                                                                                                      }
                                                                                                      • 對數組所有元素變形
                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      _ = array.map {
                                                                                                      someTransformation($0)
                                                                                                      }
                                                                                                      • 篩選符合某個標準的元素
                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      _ = array.filter {
                                                                                                      someCriteria($0)
                                                                                                      }
                                                                                                      ]]>
                                                                                                      + + + + + + <h2 id="數組-Array"><a href="#數組-Array" class="headerlink" title="數組(Array)"></a>數組(Array)</h2><p>盡量不要使用下標索引,如果下標越界會直接導致crash(在並發情況下尤其需要考慮)。</ + + + + + + + + + +
                                                                                                      + + + Brew Instruction + + http://codingdoge.cn/2017/08/30/title: Brew Instruction/ + 2017-08-30T06:26:00.000Z + 2018-01-13T12:36:00.696Z + + Brew

                                                                                                      brew help查看有什麼可用的指令
                                                                                                      brew search [someSuit]查詢有無someSuit
                                                                                                      brew install [someSuit]安裝someSuit
                                                                                                      brew info [someSuit]查看someSuit的訊息
                                                                                                      brew uninstall [someSuit]移除someSuit
                                                                                                      brew list列出已安裝套件
                                                                                                      brew outdated查詢那些套件已過期
                                                                                                      brew cleanup -n刪除舊的套件版本(-n 是顯示刪除的過程,可以了解有哪些套件被刪除了)
                                                                                                      brew upgrade [someSuit]更新someSuit
                                                                                                      brew update && brew upgrade && brew doctor更新Homebrew上面所有套件
                                                                                                      brew dips [someSuit]列出安裝someSuit需要的依賴套件
                                                                                                      brew —prefix查詢brew安裝的路徑

                                                                                                      參考:
                                                                                                      chiehwen/Homebrew 指令詳解.md
                                                                                                      Homebrew 指令

                                                                                                      ]]>
                                                                                                      + + + + + + <p><a href="https://brew.sh" target="_blank" rel="noopener">Brew</a></p> +<table> +<thead> +<tr> +<th>brew help</th> +<th>查看有什麼可用的指令</th> +</tr> +< + + + + + + + + + +
                                                                                                      + + + Advanced Swift 笔记 —— Tips + + http://codingdoge.cn/2017/08/20/title: Advanced Swift 笔记 —— Tips/ + 2017-08-20T09:35:00.000Z + 2018-01-13T12:23:01.178Z + + Curried Function 柯里化函數

                                                                                                      一个函数不是接受多个参数,而是只接受部分参数,然后返回一个接受其余参数的函数。

                                                                                                      Statically Dispatched 靜態派發

                                                                                                      定義在類或者協議中的函數就是方法(Method),他們有一個隱式的self。不是方法的函數叫做自由函數(Free Function)。自由函数和那些在结构体上调用的方法是静态派发 (statically dispatched)的。对于这些函数的调用,在编译的时候就已经确定了。对于静态派发的调用,编译器可能能够内联 (inline)这些函数,也就是说,完全不去做函数调用,而是将这部分代码替换为需要执行的函数。静态派发还能够帮助编译器丢弃或者简化那些在编译时就能确定不会被实际执行的代码。

                                                                                                      ]]>
                                                                                                      + + + + + + <h3 id="Curried-Function-柯里化函數"><a href="#Curried-Function-柯里化函數" class="headerlink" title="Curried Function 柯里化函數"></a>Curried Function 柯里化 + + + + + + + + + +
                                                                                                      + + + 剑指Offer —— 二叉搜索树的第k个结点 + + http://codingdoge.cn/2017/08/04/title: 剑指Offer —— 二叉搜索树的第k个结点/ + 2017-08-04T01:56:00.000Z + 2018-01-14T16:29:06.979Z + +

                                                                                                      题目来源:牛客网


                                                                                                      题目描述

                                                                                                      给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。

                                                                                                      解题思路

                                                                                                      1. 递归
                                                                                                      2. 迭代

                                                                                                        way1

                                                                                                        中序遍历,找到第k个结点。完全性的模拟左根右,注意返回结果的处理。
                                                                                                      TreeNode* KthNode(TreeNode* pRoot, int k) {    if (pRoot) {        TreeNode *node = KthNode(pRoot->left, k);        if (node) return node;        index++;        if (index == k) return pRoot;        node = KthNode(pRoot->right, k);        if (node) return node;    }    return NULL;}
                                                                                                      ]]>
                                                                                                      + + + + + + <blockquote> +<p>题目来源:<strong><a href="https://www.nowcoder.com/practice/ef068f602dde4d28aab2b210e859150a?tpId=13&amp;tqId=11215&amp;tPage=4& + + + + + + + + + +
                                                                                                      + + + 错误处理 + + http://codingdoge.cn/2017/08/03/title: 错误处理/ + 2017-08-03T02:47:00.000Z + 2018-01-13T12:26:37.175Z + + 错误处理(Error handling)是响应错误以及从错误中恢复的过程。Swift 提供了在运行时对可恢复错误的抛出、捕获、传递和操作的一等公民支持。

                                                                                                      Swift 中有4种处理错误的方式

                                                                                                      • 把函数抛出的错误传递给调用此函数的代码
                                                                                                      • do-catch语句处理错误
                                                                                                      • 将错误作为可选类型处理
                                                                                                      • 或者断言此错误根本不会发生

                                                                                                      Swift 中的错误处理并不涉及解除调用栈,这是一个计算代价高昂的过程。就此而言,throw语句的性能特性是可以和return语句相媲美的。

                                                                                                      一个 throwing 函数可以在其内部抛出错误,并将错误传递到函数被调用时的作用域

                                                                                                      参考:
                                                                                                      The Swift Programming Language 中文版
                                                                                                      SWIFT 的必备 TIP

                                                                                                      ]]>
                                                                                                      + + + + + + <p>错误处理(Error handling)是响应错误以及从错误中恢复的过程。Swift 提供了在运行时对可恢复错误的抛出、捕获、传递和操作的一等公民支持。</p> +<p>Swift 中有4种处理错误的方式</p> +<ul> +<li>把函数抛出的错误传递给调用此函数的代码</l + + + + + + + + + +
                                                                                                      + + + Dispatch 在swift中的使用 + + http://codingdoge.cn/2017/08/03/title: Dispatch 在swift中的使用/ + 2017-08-03T01:49:00.000Z + 2018-01-13T12:28:30.884Z + + 创建队列

                                                                                                      当group里所有事件都完成GCD API有两种方式发送通知,第一种是dispatch_group_wait,会阻塞当前进程,等所有任务都完成或等待超时。第二种方法是使用dispatch_group_notify,异步执行闭包,不会阻塞。

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      24
                                                                                                      25
                                                                                                      26
                                                                                                      27
                                                                                                      28
                                                                                                      29
                                                                                                      func downloadPhotosWithCompletion(completion: BatchPhotoDownloadingCompletionClosure?) {
                                                                                                      dispatch_async(GlobalUserInitiatedQueue) { // 因为dispatch_group_wait会租塞当前进程,所以要使用dispatch_async将整个方法要放到后台队列才能够保证主线程不被阻塞
                                                                                                      var storedError: NSError!
                                                                                                      var downloadGroup = dispatch_group_create() // 创建一个dispatch group
                                                                                                      for address in [OverlyAttachedGirlfriendURLString,
                                                                                                      SuccessKidURLString,
                                                                                                      LotsOfFacesURLString]
                                                                                                      {
                                                                                                      let url = NSURL(string: address)
                                                                                                      dispatch_group_enter(downloadGroup) // dispatch_group_enter是通知dispatch group任务开始了,dispatch_group_enter和dispatch_group_leave是成对调用,不然程序就崩溃了。
                                                                                                      let photo = DownloadPhoto(url: url!) {
                                                                                                      image, error in
                                                                                                      if let error = error {
                                                                                                      storedError = error
                                                                                                      }
                                                                                                      dispatch_group_leave(downloadGroup) // 保持和dispatch_group_enter配对。通知任务已经完成
                                                                                                      }
                                                                                                      PhotoManager.sharedManager.addPhoto(photo)
                                                                                                      }
                                                                                                      dispatch_group_wait(downloadGroup, DISPATCH_TIME_FOREVER) // dispatch_group_wait等待所有任务都完成直到超时。如果任务完成前就超时了,函数会返回一个非零值,可以通过返回值判断是否超时。也可以用DISPATCH_TIME_FOREVER表示一直等。
                                                                                                      dispatch_async(GlobalMainQueue) { // 这里可以保证所有图片任务都完成,然后在main queue里加入完成后要处理的闭包,会在main queue里执行。
                                                                                                      if let completion = completion { // 执行闭包内容
                                                                                                      completion(error: storedError)
                                                                                                      }
                                                                                                      }
                                                                                                      }
                                                                                                      }

                                                                                                      Serial Queues

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      private let serialQueue = DispatchQueue(label: “serialQueue”)
                                                                                                      private var dictionary: [String: Any] = [:]
                                                                                                      public func set(_ value: Any, forKey key: String) {
                                                                                                      serialQueue.sync {
                                                                                                      dictionary[key] = value
                                                                                                      }
                                                                                                      }
                                                                                                      public func object(forKey key: String) -> Any? {
                                                                                                      var result: Any?
                                                                                                      serialQueue.sync {
                                                                                                      result = storage[key]
                                                                                                      }
                                                                                                      // returns after serialQueue is finished operation
                                                                                                      // beacuse serialQueue is run synchronously
                                                                                                      return result
                                                                                                      }

                                                                                                      Concurrent Queues

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      private let concurrentQueue = DispatchQueue(label: "concurrentQueue", attributes: .concurrent)
                                                                                                      private var dictionary: [String: Any] = [:]
                                                                                                      public func set(_ value: Any?, forKey key: String) {
                                                                                                      concurrentQueue.async {
                                                                                                      self.storage[key] = value
                                                                                                      }
                                                                                                      }
                                                                                                      public func object(forKey key: String) -> Any? {
                                                                                                      var result: Any?
                                                                                                      concurrentQueue.sync {
                                                                                                      result = storage[key]
                                                                                                      }
                                                                                                      // returns after concurrentQueue is finished operation
                                                                                                      // beacuse concurrentQueue is run synchronously
                                                                                                      return result
                                                                                                      }

                                                                                                      Concurrent Queue with Barrier

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      private let concurrentQueue = DispatchQueue(label: "concurrentQueue", attributes: .concurrent)
                                                                                                      private var dictionary: [String: Any] = [:]
                                                                                                      public func set(_ value: Any?, forKey key: String) {
                                                                                                      // .barrier flag ensures that within the queue all reading is done
                                                                                                      // before the below writing is performed and
                                                                                                      // pending readings start after below writing is performed
                                                                                                      concurrentQueue.async(flags: .barrier) {
                                                                                                      self.storage[key] = value
                                                                                                      }
                                                                                                      }
                                                                                                      public func object(forKey key: String) -> Any? {
                                                                                                      var result: Any?
                                                                                                      concurrentQueue.sync {
                                                                                                      result = storage[key]
                                                                                                      }
                                                                                                      // returns after concurrentQueue is finished operation
                                                                                                      // beacuse concurrentQueue is run synchronously
                                                                                                      return result
                                                                                                      }

                                                                                                      延时

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      24
                                                                                                      25
                                                                                                      26
                                                                                                      27
                                                                                                      28
                                                                                                      29
                                                                                                      30
                                                                                                      31
                                                                                                      32
                                                                                                      33
                                                                                                      34
                                                                                                      35
                                                                                                      typealias Task = (_ cancel: Bool) -> Void
                                                                                                      func delay(time: TimeInterval, task: @escaping ()->()) -> Task? {
                                                                                                      func dispatch_later(block: @escaping ()->()) {
                                                                                                      DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()+time, execute: block)
                                                                                                      }
                                                                                                      var closure: (()->())? = task
                                                                                                      var result: Task?
                                                                                                      let delayedClosure: Task = { cancel in
                                                                                                      if let internalClosure = closure {
                                                                                                      if cancel == false {
                                                                                                      DispatchQueue.main.async {
                                                                                                      internalClosure()
                                                                                                      }
                                                                                                      }
                                                                                                      }
                                                                                                      closure = nil
                                                                                                      result = nil
                                                                                                      }
                                                                                                      result = delayedClosure
                                                                                                      dispatch_later {
                                                                                                      if let delayedClosure = result {
                                                                                                      delayedClosure(false)
                                                                                                      }
                                                                                                      }
                                                                                                      return result
                                                                                                      }
                                                                                                      func cancel(task: Task?) {
                                                                                                      task?(true)
                                                                                                      }

                                                                                                      网络场景异步开启下载、取消下载,开始下载前保证没有遗留下载任务

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      fileprivate let barrierQueue = DispatchQueue(label: "com.meitu.meipu.videoCache.barrierQueue")
                                                                                                      func downloader(url: URL) {
                                                                                                      barrierQueue.sync { [weak self] in
                                                                                                      // add downloader task
                                                                                                      }
                                                                                                      }
                                                                                                      func cancel() {
                                                                                                      barrierQueue.async(group: nil, qos: .default, flags: .barrier) {
                                                                                                      // cacle task
                                                                                                      }
                                                                                                      }

                                                                                                      参考:
                                                                                                      GCD 在 Swift 3 中的玩儿法
                                                                                                      GCD 使用指南
                                                                                                      Swift 3 中的 GCD 与 Dispatch Queue
                                                                                                      Swift 3學習指南:重新認識GCD應用
                                                                                                      GCD精讲(Swift 3)

                                                                                                      ]]>
                                                                                                      + + + + + + <h2 id="创建队列"><a href="#创建队列" class="headerlink" title="创建队列"></a>创建队列</h2><p>当group里所有事件都完成GCD API有两种方式发送通知,第一种是dispatch_group_wait,会阻塞当前进程 + + + + + + + + + +
                                                                                                      + + + Dispatch + + http://codingdoge.cn/2017/08/02/title: Dispatch/ + 2017-08-02T12:01:00.000Z + 2018-01-13T04:59:21.648Z + +

                                                                                                      Execute code concurrently on multicore hardware by submitting work to dispatch queues managed by the system.

                                                                                                      在多核硬件上,通过提交任务到由这个系统管理的派遣队列上,并发的执行代码。

                                                                                                      一种把保证回调会在主线程执行的方法:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      #ifndef dispatch_main_async_safe
                                                                                                      #define dispatch_main_async_safe(block)\
                                                                                                      if (strcmp(dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL), dispatch_queue_get_label(dispatch_get_main_queue())) == 0) {\
                                                                                                      block();\
                                                                                                      } else {\
                                                                                                      dispatch_async(dispatch_get_main_queue(), block);\
                                                                                                      }
                                                                                                      #endif
                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
                                                                                                      dispatch_group_t group = dispatch_group_create();
                                                                                                      for(id obj in array)
                                                                                                      dispatch_group_async(group, queue, ^{
                                                                                                      [self doSomethingIntensiveWith:obj];
                                                                                                      });
                                                                                                      dispatch_group_wait(group, DISPATCH_TIME_FOREVER);
                                                                                                      dispatch_release(group);
                                                                                                      [self doSomethingWith:array];
                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
                                                                                                      dispatch_group_t group = dispatch_group_create();
                                                                                                      for(id obj in array)
                                                                                                      dispatch_group_async(group, queue, ^{
                                                                                                      [self doSomethingIntensiveWith:obj];
                                                                                                      });
                                                                                                      dispatch_group_notify(group, queue, ^{
                                                                                                      [self doSomethingWith:array];
                                                                                                      });
                                                                                                      dispatch_release(group);

                                                                                                      dispatch_barrier_sync和dispatch_barrier_async

                                                                                                      commondifferent
                                                                                                      等待在它前面插入队列的任务先执行完dispatch_barrier_sync将自己的任务插入到队列的时候,需要等待自己的任务结束之后才会继续插入被写在它后面的任务,然后执行它们
                                                                                                      等待他们自己的任务执行完再执行后面的任务dispatch_barrier_async将自己的任务插入到队列之后,不会等待自己的任务结束,它会继续把后面的任务插入到队列,然后等待自己的任务结束后才执行后面任务

                                                                                                      参考:
                                                                                                      GCD入门(一): 基本概念和Dispatch Queue
                                                                                                      深入理解GCD
                                                                                                      底层并发 API
                                                                                                      GCD 中 dispatch_once 的性能与实现
                                                                                                      读 Concurrency Programming Guide 笔记(一)
                                                                                                      iOS并发编程

                                                                                                      ]]>
                                                                                                      + + + + + + <blockquote> +<p>Execute code concurrently on multicore hardware by submitting work to dispatch queues managed by the system.</p> +</blockquot + + + + + + + + + +
                                                                                                      + + + 剑指Offer —— 最小的k个数 + + http://codingdoge.cn/2017/08/01/title: 剑指Offer —— 最小的k个数/ + 2017-08-01T02:20:00.000Z + 2018-01-14T16:32:50.507Z + +

                                                                                                      题目描述

                                                                                                      输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。(很典型的题目了)

                                                                                                      解题思路

                                                                                                      1. 插入或者冒泡排序,优化点在记录已排好的个数(O(n*k))
                                                                                                      2. 最小堆(O(nlogk))
                                                                                                      3. 快排思想(O(n))

                                                                                                      way1

                                                                                                      不上代码了。

                                                                                                      way2

                                                                                                      上个建堆的算法,通用、解耦、易测试😂

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      24
                                                                                                      25
                                                                                                      26
                                                                                                      27
                                                                                                      28
                                                                                                      29
                                                                                                      30
                                                                                                      31
                                                                                                      32
                                                                                                      33
                                                                                                      34
                                                                                                      35
                                                                                                      36
                                                                                                      37
                                                                                                      38
                                                                                                      39
                                                                                                      40
                                                                                                      41
                                                                                                      42
                                                                                                      43
                                                                                                      44
                                                                                                      45
                                                                                                      46
                                                                                                      47
                                                                                                      48
                                                                                                      49
                                                                                                      50
                                                                                                      void HeapAdjust(int H[],int s, int length)
                                                                                                      {
                                                                                                      int tmp = H[s];
                                                                                                      int child = 2*s+1; //左孩子结点的位置。(i+1 为当前调整结点的右孩子结点的位置)
                                                                                                      while (child < length) {
                                                                                                      if(child+1 <length && H[child]<H[child+1]) { // 如果右孩子大于左孩子(找到比当前待调整结点大的孩子结点)
                                                                                                      ++child ;
                                                                                                      }
                                                                                                      if(H[s]<H[child]) { // 如果较大的子结点大于父结点
                                                                                                      H[s] = H[child]; // 那么把较大的子结点往上移动,替换它的父结点
                                                                                                      s = child; // 重新设置s ,即待调整的下一个结点的位置
                                                                                                      child = 2*s+1;
                                                                                                      } else { // 如果当前待调整结点大于它的左右孩子,则不需要调整,直接退出
                                                                                                      break;
                                                                                                      }
                                                                                                      H[s] = tmp; // 当前待调整的结点放到比其大的孩子结点位置上
                                                                                                      }
                                                                                                      print(H,length);
                                                                                                      }
                                                                                                      /**
                                                                                                      * 初始堆进行调整
                                                                                                      * 将H[0..length-1]建成堆
                                                                                                      * 调整完之后第一个元素是序列的最小的元素
                                                                                                      */
                                                                                                      void BuildingHeap(int H[], int length)
                                                                                                      {
                                                                                                      //最后一个有孩子的节点的位置 i= (length -1) / 2
                                                                                                      for (int i = (length -1) / 2 ; i >= 0; i--)
                                                                                                      {
                                                                                                      cout << "i: " << i << endl;
                                                                                                      HeapAdjust(H,i,length);
                                                                                                      }
                                                                                                      }
                                                                                                      /**
                                                                                                      * 堆排序算法
                                                                                                      */
                                                                                                      void HeapSort(int H[],int length)
                                                                                                      {
                                                                                                      //初始堆
                                                                                                      BuildingHeap(H, length);
                                                                                                      //从最后一个元素开始对序列进行调整
                                                                                                      for (int i = length - 1; i > 0; --i)
                                                                                                      {
                                                                                                      //交换堆顶元素H[0]和堆中最后一个元素
                                                                                                      int temp = H[i]; H[i] = H[0]; H[0] = temp;
                                                                                                      //每次交换堆顶元素和堆中最后一个元素之后,都要对堆进行调整
                                                                                                      HeapAdjust(H,0,i);
                                                                                                      }
                                                                                                      }

                                                                                                      way3

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      24
                                                                                                      25
                                                                                                      26
                                                                                                      27
                                                                                                      28
                                                                                                      29
                                                                                                      30
                                                                                                      31
                                                                                                      32
                                                                                                      33
                                                                                                      34
                                                                                                      35
                                                                                                      36
                                                                                                      37
                                                                                                      38
                                                                                                      39
                                                                                                      40
                                                                                                      41
                                                                                                      int Partition(vector<int> &input, int begin, int end)
                                                                                                      {
                                                                                                      trueint first = begin;
                                                                                                      trueint last = end;
                                                                                                      trueint pivot = input[first];
                                                                                                      truewhile (first < last)
                                                                                                      true{
                                                                                                      truetruewhile (first < last && input[last] >= pivot) last--;
                                                                                                      truetrueinput[first] = input[last];
                                                                                                      truetruewhile (first < last && input[first] <= pivot) first++;
                                                                                                      truetrueinput[last] = input[first];
                                                                                                      true}
                                                                                                      trueinput[first] = pivot;
                                                                                                      truereturn first;
                                                                                                      }
                                                                                                      vector<int> GetLeastNumbers_Solution(vector<int> &input, int k)
                                                                                                      {
                                                                                                      trueint len=input.size();
                                                                                                      truevector<int> res;
                                                                                                      trueif(len==0||k>len||k<=0) return res;
                                                                                                      trueif(len==k) return input;
                                                                                                      trueint start=0;
                                                                                                      trueint end=len-1;
                                                                                                      trueint index=Partition(input,start,end);
                                                                                                      truewhile(index!=(k-1))
                                                                                                      true{
                                                                                                      truetrueif(index>k-1)
                                                                                                      truetrue{
                                                                                                      truetruetrueend=index-1;
                                                                                                      truetruetrueindex=Partition(input,start,end);
                                                                                                      truetrue}
                                                                                                      truetrueelse
                                                                                                      truetrue{
                                                                                                      truetruetruestart=index+1;
                                                                                                      truetruetrueindex=Partition(input,start,end);
                                                                                                      truetrue}
                                                                                                      true}
                                                                                                      truefor (int i = 0; i < k; i++)
                                                                                                      truetrueres.push_back(input[i]);
                                                                                                      truereturn res;
                                                                                                      }
                                                                                                      ]]>
                                                                                                      + + + + + + <hr> +<h2 id="题目描述"><a href="#题目描述" class="headerlink" title="题目描述"></a>题目描述</h2><p>输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3 + + + + + + + + + +
                                                                                                      + + + 并发(concurrency)和并行(parallelism) + + http://codingdoge.cn/2017/07/27/title: 并发(concurrency)和并行(parallelism)/ + 2017-07-27T04:29:00.000Z + 2018-01-13T14:00:58.116Z + +

                                                                                                      “并发”指的是程序的结构,“并行”指的是程序运行时的状态

                                                                                                      并行(parallelism)

                                                                                                      这个概念很好理解。所谓并行,就是同时执行的意思,无需过度解读。判断程序是否处于并行的状态,就看同一时刻是否有超过一个“工作单位”在运行就好了。所以,单线程永远无法达到并行状态。

                                                                                                      要达到并行状态,最简单的就是利用多线程和多进程。

                                                                                                      并发(concurrency)

                                                                                                      要理解“并发”这个概念,必须得清楚,并发指的是程序的“结构”。当我们说这个程序是并发的,实际上,这句话应当表述成“这个程序采用了支持并发的设计”。好,既然并发指的是人为设计的结构,那么怎样的程序结构才叫做支持并发的设计?

                                                                                                      正确的并发设计的标准是:使多个操作可以在重叠的时间段内进行(two tasks can start, run, and complete in overlapping time periods)。

                                                                                                      这句话的重点有两个。我们先看“(操作)在重叠的时间段内进行”这个概念。它是否就是我们前面说到的并行呢?是,也不是。并行,当然是在重叠的时间段内执行,但是另外一种执行模式,也属于在重叠时间段内进行。这就是协程

                                                                                                      使用协程时,程序的执行看起来往往是这个样子:

                                                                                                      task1, task2 是两段不同的代码,比如两个函数,其中黑色块代表某段代码正在执行。注意,这里从始至终,在任何一个时间点上都只有一段代码在执行,但是,由于 task1 和 task2 在重叠的时间段内执行,所以这是一个支持并发的设计。与并行不同,单核单线程能支持并发。

                                                                                                      Different concurrent designs enable different ways to parallelize

                                                                                                      ]]>
                                                                                                      + + + + + + <blockquote> +<p>“并发”指的是程序的结构,“并行”指的是程序运行时的状态</p> +</blockquote> +<h2 id="并行(parallelism)"><a href="#并行(parallelism)" class="headerlink" title= + + + + + + + +
                                                                                                      + + + iOS 保持界面流畅的技巧 + + http://codingdoge.cn/2017/07/25/title: iOS 保持界面流畅的技巧/ + 2017-07-25T06:21:00.000Z + 2018-01-14T16:35:13.663Z + +

                                                                                                      iOS 保持界面流畅的技巧

                                                                                                      CPU 资源消耗原因和解决方案

                                                                                                      对象创建

                                                                                                      对象的创建会分配内存、调整属性、甚至还有读取文件等操作,比较消耗 CPU 资源。尽量用轻量的对象代替重量的对象,可以对性能有所优化。比如 CALayer 比 UIView 要轻量许多,那么不需要响应触摸事件的控件,用 CALayer 显示会更加合适。如果对象不涉及 UI 操作,则尽量放到后台线程去创建,但可惜的是包含有 CALayer 的控件,都只能在主线程创建和操作。通过 Storyboard 创建视图对象时,其资源消耗会比直接通过代码创建对象要大非常多,在性能敏感的界面里,Storyboard 并不是一个好的技术选择。

                                                                                                      尽量推迟对象创建的时间,并把对象的创建分散到多个任务中去。尽管这实现起来比较麻烦,并且带来的优势并不多,但如果有能力做,还是要尽量尝试一下。如果对象可以复用,并且复用的代价比释放、创建新对象要小,那么这类对象应当尽量放到一个缓存池里复用。

                                                                                                      对象调整

                                                                                                      对象的调整也经常是消耗 CPU 资源的地方。这里特别说一下 CALayer:CALayer 内部并没有属性,当调用属性方法时,它内部是通过运行时 resolveInstanceMethod 为对象临时添加一个方法,并把对应属性值保存到内部的一个 Dictionary 里,同时还会通知 delegate、创建动画等等,非常消耗资源。UIView 的关于显示相关的属性(比如 frame/bounds/transform)等实际上都是 CALayer 属性映射来的,所以对 UIView 的这些属性进行调整时,消耗的资源要远大于一般的属性。对此你在应用中,应该尽量减少不必要的属性修改。

                                                                                                      当视图层次调整时,UIView、CALayer 之间会出现很多方法调用与通知,所以在优化性能时,应该尽量避免调整视图层次、添加和移除视图。

                                                                                                      对象销毁

                                                                                                      对象的销毁虽然消耗资源不多,但累积起来也是不容忽视的。通常当容器类持有大量对象时,其销毁时的资源消耗就非常明显。同样的,如果对象可以放到后台线程去释放,那就挪到后台线程去。这里有个小 Tip:把对象捕获到 block 中,然后扔到后台队列去随便发送个消息以避免编译器警告,就可以让对象在后台线程销毁了。

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      NSArray *tmp = self.array;
                                                                                                      self.array = nil;
                                                                                                      dispatch_async(queue, ^{
                                                                                                      [tmp class];
                                                                                                      });

                                                                                                      布局计算

                                                                                                      视图布局的计算是 App 中最为常见的消耗 CPU 资源的地方。如果能在后台线程提前计算好视图布局、并且对视图布局进行缓存,那么这个地方基本就不会产生性能问题了。

                                                                                                      不论通过何种技术对视图进行布局,其最终都会落到对 UIView.frame/bounds/center 等属性的调整上。上面也说过,对这些属性的调整非常消耗资源,所以尽量提前计算好布局,在需要时一次性调整好对应属性,而不要多次、频繁的计算和调整这些属性。

                                                                                                      Autolayout

                                                                                                      Autolayout 是苹果本身提倡的技术,在大部分情况下也能很好的提升开发效率,但是 Autolayout 对于复杂视图来说常常会产生严重的性能问题。随着视图数量的增长,Autolayout 带来的 CPU 消耗会呈指数级上升。具体数据可以看这个文章:http://pilky.me/36/。 如果你不想手动调整 frame 等属性,你可以用一些工具方法替代(比如常见的 left/right/top/bottom/width/height 快捷属性),或者使用 ComponentKit、AsyncDisplayKit 等框架。

                                                                                                      文本计算

                                                                                                      如果一个界面中包含大量文本(比如微博微信朋友圈等),文本的宽高计算会占用很大一部分资源,并且不可避免。如果你对文本显示没有特殊要求,可以参考下 UILabel 内部的实现方式:用 [NSAttributedString boundingRectWithSize:options:context:] 来计算文本宽高,用 -[NSAttributedString drawWithRect:options:context:] 来绘制文本。尽管这两个方法性能不错,但仍旧需要放到后台线程进行以避免阻塞主线程。

                                                                                                      如果你用 CoreText 绘制文本,那就可以先生成 CoreText 排版对象,然后自己计算了,并且 CoreText 对象还能保留以供稍后绘制使用。

                                                                                                      文本渲染

                                                                                                      屏幕上能看到的所有文本内容控件,包括 UIWebView,在底层都是通过 CoreText 排版、绘制为 Bitmap 显示的。常见的文本控件 (UILabel、UITextView 等),其排版和绘制都是在主线程进行的,当显示大量文本时,CPU 的压力会非常大。对此解决方案只有一个,那就是自定义文本控件,用 TextKit 或最底层的 CoreText 对文本异步绘制。尽管这实现起来非常麻烦,但其带来的优势也非常大,CoreText 对象创建好后,能直接获取文本的宽高等信息,避免了多次计算(调整 UILabel 大小时算一遍、UILabel 绘制时内部再算一遍);CoreText 对象占用内存较少,可以缓存下来以备稍后多次渲染。

                                                                                                      图片的解码

                                                                                                      当你用 UIImage 或 CGImageSource 的那几个方法创建图片时,图片数据并不会立刻解码。图片设置到 UIImageView 或者 CALayer.contents 中去,并且 CALayer 被提交到 GPU 前,CGImage 中的数据才会得到解码。这一步是发生在主线程的,并且不可避免。如果想要绕开这个机制,常见的做法是在后台线程先把图片绘制到 CGBitmapContext 中,然后从 Bitmap 直接创建图片。目前常见的网络图片库都自带这个功能。

                                                                                                      图像的绘制

                                                                                                      图像的绘制通常是指用那些以 CG 开头的方法把图像绘制到画布中,然后从画布创建图片并显示这样一个过程。这个最常见的地方就是 [UIView drawRect:] 里面了。由于 CoreGraphic 方法通常都是线程安全的,所以图像的绘制可以很容易的放到后台线程进行。一个简单异步绘制的过程大致如下(实际情况会比这个复杂得多,但原理基本一致):

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      - (void)display {
                                                                                                      dispatch_async(backgroundQueue, ^{
                                                                                                      CGContextRef ctx = CGBitmapContextCreate(...);
                                                                                                      // draw in context...
                                                                                                      CGImageRef img = CGBitmapContextCreateImage(ctx);
                                                                                                      CFRelease(ctx);
                                                                                                      dispatch_async(mainQueue, ^{
                                                                                                      layer.contents = img;
                                                                                                      });
                                                                                                      });
                                                                                                      }

                                                                                                      GPU 资源消耗原因和解决方案

                                                                                                      相对于 CPU 来说,GPU 能干的事情比较单一:接收提交的纹理(Texture)和顶点描述(三角形),应用变换(transform)、混合并渲染,然后输出到屏幕上。通常你所能看到的内容,主要也就是纹理(图片)和形状(三角模拟的矢量图形)两类。

                                                                                                      纹理的渲染

                                                                                                      所有的 Bitmap,包括图片、文本、栅格化的内容,最终都要由内存提交到显存,绑定为 GPU Texture。不论是提交到显存的过程,还是 GPU 调整和渲染 Texture 的过程,都要消耗不少 GPU 资源。当在较短时间显示大量图片时(比如 TableView 存在非常多的图片并且快速滑动时),CPU 占用率很低,GPU 占用非常高,界面仍然会掉帧。避免这种情况的方法只能是尽量减少在短时间内大量图片的显示,尽可能将多张图片合成为一张进行显示。

                                                                                                      当图片过大,超过 GPU 的最大纹理尺寸时,图片需要先由 CPU 进行预处理,这对 CPU 和 GPU 都会带来额外的资源消耗。目前来说,iPhone 4S 以上机型,纹理尺寸上限都是 4096x4096,更详细的资料可以看这里:iosres.com。所以,尽量不要让图片和视图的大小超过这个值。

                                                                                                      视图的混合 (Composing)

                                                                                                      当多个视图(或者说 CALayer)重叠在一起显示时,GPU 会首先把他们混合到一起。如果视图结构过于复杂,混合的过程也会消耗很多 GPU 资源。为了减轻这种情况的 GPU 消耗,应用应当尽量减少视图数量和层次,并在不透明的视图里标明 opaque 属性以避免无用的 Alpha 通道合成。当然,这也可以用上面的方法,把多个视图预先渲染为一张图片来显示。

                                                                                                      图形的生成

                                                                                                      CALayer 的 border、圆角、阴影、遮罩(mask),CASharpLayer 的矢量图形显示,通常会触发离屏渲染(offscreen rendering),而离屏渲染通常发生在 GPU 中。当一个列表视图中出现大量圆角的 CALayer,并且快速滑动时,可以观察到 GPU 资源已经占满,而 CPU 资源消耗很少。这时界面仍然能正常滑动,但平均帧数会降到很低。为了避免这种情况,可以尝试开启 CALayer.shouldRasterize 属性,但这会把原本离屏渲染的操作转嫁到 CPU 上去。对于只需要圆角的某些场合,也可以用一张已经绘制好的圆角图片覆盖到原本视图上面来模拟相同的视觉效果。最彻底的解决办法,就是把需要显示的图形在后台线程绘制为图片,避免使用圆角、阴影、遮罩等属性。

                                                                                                      参考:
                                                                                                      iOS 保持界面流畅的技巧

                                                                                                      ]]>
                                                                                                      + + + + + + <blockquote> +<p><a href="http://blog.ibireme.com/2015/11/12/smooth_user_interfaces_for_ios/" target="_blank" rel="noopener">iOS 保持界面流畅的技巧</a + + + + + + + + + +
                                                                                                      + + + 剑指Offer —— 滑动窗口的最大值 + + http://codingdoge.cn/2017/07/25/title: 剑指Offer —— 滑动窗口的最大值/ + 2017-07-25T02:43:00.000Z + 2018-01-14T16:38:57.866Z + +

                                                                                                      题目来源:滑动窗口的最大值


                                                                                                      题目描述

                                                                                                      给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}{2,[3,4,2],6,2,5,1}{2,3,[4,2,6],2,5,1}{2,3,4,[2,6,2],5,1}{2,3,4,2,[6,2,5],1}{2,3,4,2,6,[2,5,1]}

                                                                                                      解题思路

                                                                                                      用一个双端队列维护当前滑动窗口的状态,队首是当前窗口最大值的下标,当窗口滑动进入一个新值k时,k从队尾依次向前比较,比k小的全部出队,保障了k的权重应有的位置

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      vector<int> maxInWindows(const vector<int> &num, unsigned int size) {
                                                                                                      truevector<int> ans;
                                                                                                      truedeque<int> q;
                                                                                                      trueif (num.size() < size || size == 0)
                                                                                                      true return ans;
                                                                                                      truefor (int i = 0; i < size; i++) {
                                                                                                      true while(!q.empty() && num[i] > num[q.back()])
                                                                                                      true q.pop_back();
                                                                                                      true q.push_back(i);
                                                                                                      true}
                                                                                                      truefor (int i = size; i < num.size(); i++) {
                                                                                                      true ans.push_back(num[q.front()]);
                                                                                                      true while (!q.empty() && num[i] >= num[q.back()])
                                                                                                      true q.pop_back();
                                                                                                      true while (!q.empty() && q.front() <= i-size)
                                                                                                      true q.pop_front();
                                                                                                      true q.push_back(i);
                                                                                                      true}
                                                                                                      trueans.push_back(num[q.front()]);
                                                                                                      truereturn ans;
                                                                                                      }
                                                                                                      ]]>
                                                                                                      + + + + + + <blockquote> +<p>题目来源:<strong><a href="https://www.nowcoder.com/practice/1624bc35a45c42c0bc17d17fa0cba788?tpId=13&amp;tqId=11217&amp;tPage=4& + + + + + + + + + +
                                                                                                      + + + Search in Rotated Sorted Array + + http://codingdoge.cn/2017/07/23/title: Search in Rotated Sorted Array / + 2017-07-23T15:56:00.000Z + 2018-01-12T14:25:37.504Z + +

                                                                                                      题目来源LeetCode: LeetCode OJ


                                                                                                      题目描述: Suppose a sorted array is rotated at some pivot unknown to you beforehand.
                                                                                                      (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).
                                                                                                      You are given a target value to search. If found in the array return its index, otherwise return -1.
                                                                                                      You may assume no duplicate exists in the array.

                                                                                                      题目解释

                                                                                                      一个排好序的数组,不知道以哪个点为中心旋转了(部分有序),你的任务是查找给定的数是否存在数组中。在的话返回下标,不在的话返回-1.

                                                                                                      分析

                                                                                                      查找首先想到O(log(n))的二分查找,但是二分查找的前提是有序数组。题目里一个有序数组旋转后变成了部分有序。通过比较两端大小找到增序部分。

                                                                                                      eg: 4 5 6 0 1 2 3
                                                                                                      first = 4, mid = 0, last = 3,
                                                                                                      通过比较first,mid,last找到增序部分。
                                                                                                      在这个例子中为1 2 3,
                                                                                                      然后判断target是否在这个增序子序列中,
                                                                                                      如果在则直接用二分查找,
                                                                                                      不在则在另一部分(例子中为4 5 6 0)中继续分解。

                                                                                                      Code

                                                                                                      int search(const vector<int>& nums, int target){    int first = 0;    int last = nums.size();    while(first != last)    {        const int mid = (first+last)>>1;    // 使用位运算加速        if(nums[mid] == target)            return mid;        if(nums[first] <= nums[mid])    // 找到增序子序列            if(nums[first]<=target && target<nums[mid])    // 找到target在哪个部分                last = mid;            else                first = mid+1;        else            if(nums[mid]<target && target<=nums[last-1])                first = mid+1;            else                last = mid;    }    return -1;}

                                                                                                      拓展

                                                                                                      当数组为无序时的二分查找

                                                                                                      分析

                                                                                                      一种是先排序再二分,一种是结合快排思想,每次选择一个关键字,比他大的放右边,比他小的放左边,然后再比较他和需要查找的数的关系,再选择区间进行迭代。如果需要返回查找数的下标,则添加一个纪录下标的数组,这样排好序后也能知道当前数在原始数组中的位置。

                                                                                                      初始数组3 1 2 5 4 7 0 6
                                                                                                      mid = key = 3 进行一次快排填坑
                                                                                                      得到数组0 1 2 3 4 7 5 6
                                                                                                      比较mid与target
                                                                                                      如果target>mid则迭代mid后半部分
                                                                                                      如果target<mid则迭代mid前半部分
                                                                                                      直到找到target

                                                                                                      Code

                                                                                                      int BinarySearch(vector<int>& nums, int target){    int num = nums.size();    int index[num];        // index数组纪录下标 以便能找到在数组的初始位置    for(int i = 0; i < num; i++)    // 初始化index数组        index[i] = i;    int l, r, m, sl, sr, mIndex;    l = 0, r = num-1;    while(l<=r)        // 开始迭代    {        mIndex = index[l], m = nums[l];        sl = l, sr = r;        while(sl<sr)    // 快排思想,左右填坑,并用index记录位置        {            while(sl<sr && m<nums[sr])                sr--;            nums[sl] = nums[sr];            index[sl] = index[sr];            while(sl<sr && m>nums[sl])                sl++;            nums[sr] = nums[sl];            index[sr] = index[sl];        }        nums[sl] = m;        index[sl] = mIndex;        if(m == target)            return mIndex;        if(target > m)        // 判断target在哪个区间            l = sl+1;        else            r = sl-1;    }    return -1;}

                                                                                                      相关题目

                                                                                                      Search in Rotated Sorted Array II

                                                                                                      相关题目分析

                                                                                                      因为允许出现重复数字,但是数组还是部分有序的,所以跳过重复数字即可

                                                                                                      Code

                                                                                                      int search(const vector<int>& nums, int target){    int first = 0;    int last = nums.size();    while(first != last)    {            const int mid = (first+last)>>1;        if(nums[mid] == target)            return mid;        if(nums[first] < nums[mid])            if(nums[first]<=target && target<nums[mid])                last = mid;            else                first = mid+1;        else if(nums[first] > nums[mid])        {            if(nums[mid]<target && target<=nums[last-1])                first = mid+1;            else                last = mid;        }        else    // 特判相等时跳过            first++;    }    return -1;}
                                                                                                      ]]>
                                                                                                      + + + + + + <blockquote> +<p>题目来源LeetCode: <strong><a href="https://leetcode.com/problems/search-in-rotated-sorted-array/" target="_blank" rel="noopener" + + + + + + + + + +
                                                                                                      + + + Remove Duplicates from Sorted Array + + http://codingdoge.cn/2017/07/23/title: Remove Duplicates from Sorted Array / + 2017-07-23T15:56:00.000Z + 2018-01-14T16:41:30.178Z + +

                                                                                                      题目来源LeetCode: LeetCode OJ


                                                                                                      题目描述

                                                                                                      Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.
                                                                                                      Do not allocate extra space for another array, you must do this in place with constant memory.
                                                                                                      For example,
                                                                                                      Given input array nums = [1,1,2],
                                                                                                      Your function should return length = 2, with the first two elements of nums being 1 and 2 respectively. It doesn’t matter what you leave beyond the new length.

                                                                                                      题目解释

                                                                                                      给出一个sorted array(意思是指已经排好序了?),处理后数组里每一个元素只能出现一次,返回处理后的数组长度。
                                                                                                      不能使用额外的数组空间,只能用已经给出的确定的内存空间。

                                                                                                      分析

                                                                                                      因为不太懂sorted array具体指的什么,第一次做的时候以为数组是随机的,相同元素出现的位置是随机的,然后题目也没给出limit time,随手就写了一个O(n^3)

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      for(int i = 0; i < num; i++){
                                                                                                      truefor(int j = i+1; j < num; j++){
                                                                                                      truetrueif(array[i] == array[j]){
                                                                                                      for(int k = j; k < num-1; k++)
                                                                                                      array[k] = array[k+1];
                                                                                                      num--;
                                                                                                      j--;
                                                                                                      }
                                                                                                      }
                                                                                                      }

                                                                                                      自然是T了。然后就把sorted array当做已经排好序的数组,那就容易多了,算法也都是O(1),一看代码就明白,水题,直接上代码。

                                                                                                      way1

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      if (nums.empty()) return 0;
                                                                                                      int index = 0;
                                                                                                      for (int i = 1; i < nums.size(); i++) {
                                                                                                      if (nums[index] != nums[i])
                                                                                                      nums[++index] = nums[i];
                                                                                                      }
                                                                                                      return index + 1;

                                                                                                      way2 STL

                                                                                                      1
                                                                                                      return distance(nums.begin(), unique(nums.begin(), nums.end()));
                                                                                                      • std::distance
                                                                                                        template
                                                                                                        typename iterator_traits::difference_type
                                                                                                        distance (InputIterator first, InputIterator last);
                                                                                                        Return distance between iterators
                                                                                                        Calculates the number of elements between first and last.
                                                                                                        c++ reference

                                                                                                      • std::unique
                                                                                                        equality (1)
                                                                                                        template
                                                                                                        ForwardIterator unique (ForwardIterator first, ForwardIterator last);
                                                                                                        predicate (2)
                                                                                                        template
                                                                                                        ForwardIterator unique (ForwardIterator first, ForwardIterator last,

                                                                                                        BinaryPredicate pred);  

                                                                                                        Remove consecutive duplicates in range
                                                                                                        Removes all but the first element from every consecutive group of equivalent elements in the range [first,last).
                                                                                                        c++ reference

                                                                                                      相关题目

                                                                                                      RemoveDuplicatesfromSortedArrayII

                                                                                                      ]]>
                                                                                                      + + + + + + <blockquote> +<p>题目来源LeetCode: <strong><a href="https://leetcode.com/problems/remove-duplicates-from-sorted-array/" target="_blank" rel="noop + + + + + + + + + +
                                                                                                      + + + 常见排序算法总结 + + http://codingdoge.cn/2017/07/23/title: 常见排序算法总结 / + 2017-07-23T15:56:00.000Z + 2018-01-14T16:45:17.006Z + + 排序算法一般分为:

                                                                                                      1. 内部排序(In-place sort)
                                                                                                        不占用额外内存或者占用常数内存,如:插入排序、选择排序、冒泡排序、堆排序、快速排序。
                                                                                                      2. 外部排序(Out-place sort)
                                                                                                        因为排序数据大,可用内存一次不能容纳所有排序记录,排序过程中需要访问外存,如:归并排序、计数排序、基数排序、桶排序。

                                                                                                      也分为:

                                                                                                      1. 稳定的排序(stable sort)
                                                                                                        插入排序、冒泡排序、归并排序、计数排序、基数排序、桶排序。
                                                                                                      2. 不稳定的排序(unstable sort)
                                                                                                        选择排序、快速排序、堆排序。

                                                                                                        算法的稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。


                                                                                                        不稳定算法的改进:只需要在每个输入元素加一个index,表示初始时的数组索引,当不稳定的算法排好序后,对于相同的元素对index排序即可。

                                                                                                      插入排序

                                                                                                      最优复杂度:当输入数组就是排好序的时候,复杂度为O(n),而快速排序在这种情况下会产生O(n^2)的复杂度。
                                                                                                      最差复杂度:当输入数组为倒序时,复杂度为O(n^2)。

                                                                                                      插入排序比较适合用于“少量元素的数组”。插入排序比较适合用于“少量元素的数组”。

                                                                                                      1.直接插入排序(Straight Insertion Sort)


                                                                                                      工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。具体算法描述如下:

                                                                                                      1. 从第一个元素开始,该元素可以认为已经被排序
                                                                                                      2. 取出下一个元素,在已经排序的元素序列中从后向前扫描
                                                                                                      3. 如果该元素(已排序)大于新元素,将该元素移到下一位置
                                                                                                      4. 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
                                                                                                      5. 将新元素插入到该位置后
                                                                                                      6. 重复步骤2~5

                                                                                                      直接插入排序示例:

                                                                                                      如果排序时碰到相等的元素,比较后会把相等的元素放在后面,所以这两个相等的元素之间的前后顺序没有改变,排序是稳定的。

                                                                                                      算法的实现:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      void InsertSort(int a[], int n)
                                                                                                      {
                                                                                                      for(int i = 1; i < n; i++)
                                                                                                      {
                                                                                                      if(a[i] < a[i-1]) //若第i个元素大于i-1元素,直接插入。小于的话,移动有序表后插入
                                                                                                      {
                                                                                                      int j = i-1;
                                                                                                      int temp = a[i]; //存储待排序元素
                                                                                                      a[i] = a[i-1]; //先后移一个元素
                                                                                                      while(x < a[j] && j >= 0) //查找在有序表中的插入位置,并注意边界判断
                                                                                                      {
                                                                                                      a[j+1] = a[j];
                                                                                                      j--; //元素后移
                                                                                                      }
                                                                                                      a[j+1] = temp; //插入到正确位置
                                                                                                      }
                                                                                                      }
                                                                                                      }

                                                                                                      如果比较操作的代价比交换操作大的话,可以采用二分查找法来减少比较操作的数目。直接插入排序算法的优化算法有:二分插入排序,2-路插入排序。

                                                                                                      2.希尔排序(Shell’s Sort)


                                                                                                      希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。它是基于插入排序的以下两点性质而提出改进方法的:

                                                                                                      • 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率
                                                                                                      • 但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位

                                                                                                      基本原理是先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。算法具体描述如下:

                                                                                                      1. 选择一个步长,其设计者Donald Shell最初建议步长选择为n/2并且对步长取半直到步长达到1;
                                                                                                      2. 以步长为间隔对序列进行排序;
                                                                                                      3. 重复步骤2直到步长为1。

                                                                                                      希尔排序的示例:

                                                                                                      希尔排序是不稳定的。

                                                                                                      算法的实现:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      void ShellInsertSort(int a[], int n)
                                                                                                      {
                                                                                                      for (int gap=n>>1; gap>0; gap>>=1) // 确定步长,直到步长为1
                                                                                                      {
                                                                                                      for (int i=gap; i<n; i++) // 以步长为间隔进行排序
                                                                                                      {
                                                                                                      int temp = a[i];
                                                                                                      int j;
                                                                                                      for (j=i-gap; j>=0&&a[j]>temp; j-=gap) // 排序细节
                                                                                                      a[j+gap] = a[j];
                                                                                                      a[j+gap] = temp;
                                                                                                      }
                                                                                                      }
                                                                                                      }

                                                                                                      可能希尔排序最重要的地方在于当用较小步长排序后,以前用的较大步长仍然是有序的。已知的最好步长序列是由Sedgewick提出的(1, 5, 19, 41, 109,…),该序列的项来自两个算式[1]。这项研究也表明“比较在希尔排序中是最主要的操作,而不是交换。”用这样步长序列的希尔排序比插入排序要快,甚至在小数组中比快速排序和堆排序还快,但是在涉及大量数据时希尔排序还是比快速排序慢。

                                                                                                      选择排序

                                                                                                      简单选择排序(Simple Selection Sort)


                                                                                                      基本原理是在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。算法的具体描述如下:

                                                                                                      1. 第一趟,从n 个记录中找出关键码最小的记录与第一个记录交换;
                                                                                                      2. 第二趟,从第二个记录开始的n-1 个记录中再选出关键码最小的记录与第二个记录交换;

                                                                                                      3. 以此类推…..

                                                                                                      4. 第i趟,则从第i 个记录开始的n-i+1 个记录中选出关键码最小的记录与第i 个记录交换,

                                                                                                      直到整个序列按关键码有序。

                                                                                                      简单选择排序的示例:


                                                                                                      算法实现:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      void SelectSort(int a[], int n)
                                                                                                      {
                                                                                                      trueint min = a[0];
                                                                                                      truefor (int i = 0; i < n; i++)
                                                                                                      true{
                                                                                                      truetruefor (int j = i; j < n; j++)// 每次选出序列中最小的数
                                                                                                      truetruetrueif (a[j] < min)
                                                                                                      truetruetruetruemin = a[j];
                                                                                                      truetruea[i] = min;// 将每次选好的数放在正确的位置
                                                                                                      true}
                                                                                                      }

                                                                                                      选择排序是稳定的。

                                                                                                      选择排序的交换操作介于0(n-1)次之间。选择排序的比较操作为n(n-1)次之间。选择排序的赋值操作介于03(n-1)次之间。
                                                                                                      比较次数O(n^2 ),比较次数与关键字的初始状态无关,总的比较次数N=(n-1)+(n-2)+…+1=n(n-1)/2。交换次数O(n),最好情况是,已经有序,交换0次;最坏情况是,逆序,交换n-1次。交换次数比冒泡排序较少,由于交换所需CPU时间比比较所需的CPU时间多,n值较小时,选择排序比冒泡排序快。
                                                                                                      原地操作几乎是选择排序的唯一优点,当空间复杂度要求较高时,可以考虑选择排序;实际适用的场合非常罕见。

                                                                                                      简单排序的改进——二元选择排序

                                                                                                      简单选择排序,每趟循环只能确定一个元素排序后的定位。我们可以考虑改进为每趟循环确定两个元素(当前趟最大和最小记录)的位置,从而减少排序所需的循环次数。改进后对n个数据进行排序,最多只需进行[n/2]趟循环即可。具体实现如下:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      void SelectSort(int r[],int n) {
                                                                                                      int i ,j , min ,max, tmp;
                                                                                                      for (i=1 ;i <= n/2;i++) {
                                                                                                      // 做不超过n/2趟选择排序
                                                                                                      min = i; max = i ; //分别记录最大和最小关键字记录位置
                                                                                                      for (j= i+1; j<= n-i; j++) {
                                                                                                      if (r[j] > r[max]) {
                                                                                                      max = j ; continue ;
                                                                                                      }
                                                                                                      if (r[j]< r[min]) {
                                                                                                      min = j ;
                                                                                                      }
                                                                                                      }
                                                                                                      //该交换操作还可分情况讨论以提高效率
                                                                                                      tmp = r[i-1]; r[i-1] = r[min]; r[min] = tmp;
                                                                                                      tmp = r[n-i]; r[n-i] = r[max]; r[max] = tmp;
                                                                                                      }
                                                                                                      }

                                                                                                      堆排序(Heap Sort)


                                                                                                      堆排序是指利用堆这种数据结构所设计的一种排序算法。其基本原理如下:
                                                                                                      堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。
                                                                                                      若以一维数组存储一个堆,则堆对应一棵完全二叉树,且所有非叶结点的值均不大于(或不小于)其子女的值,根结点(堆顶元素)的值是最小(或最大)的。如:

                                                                                                      1. 大顶堆序列:(96, 83, 27, 38, 11, 09)
                                                                                                      2. 小顶堆序列:(12, 36, 24, 85, 47, 30, 53, 91)

                                                                                                      初始时把n个数的序列看作是一棵顺序存储的二叉树(一维数组存储二叉树),调整它们的存储序,使之成为一个堆,将堆顶元素输出,得到n个元素中最小(或最大)的元素,这时堆的根节点的数最小(或者最大)。然后对前面(n-1)个元素重新调整使之成为堆,输出堆顶元素,得到n个元素中次小(或次大)的元素。依此类推,直到只有两个节点的堆,并对它们作交换,最后得到有n个节点的有序序列。称这个过程为堆排序。
                                                                                                      因此,实现堆排序需解决两个问题:

                                                                                                      1. 如何将n 个待排序的数建成堆;
                                                                                                      2. 输出堆顶元素后,怎样调整剩余n-1 个元素,使其成为一个新堆。

                                                                                                      首先讨论第二个问题:输出堆顶元素后,对剩余n-1元素重新建成堆的调整过程。调整小顶堆的方法:

                                                                                                      1. 设有m 个元素的堆,输出堆顶元素后,剩下m-1 个元素。将堆底元素送入堆顶((最后一个元素与堆顶进行交换),堆被破坏,其原因仅是根结点不满足堆的性质。
                                                                                                      2. 将根结点与左、右子树中较小元素的进行交换。
                                                                                                      3. 若与左子树交换:如果左子树堆被破坏,即左子树的根结点不满足堆的性质,则重复方法 2.
                                                                                                      4. 若与右子树交换,如果右子树堆被破坏,即右子树的根结点不满足堆的性质。则重复方法 2.
                                                                                                      5. 继续对不满足堆性质的子树进行上述交换操作,直到叶子结点,堆被建成。

                                                                                                      称这个自根结点到叶子结点的调整过程为筛选。如图:

                                                                                                      再讨论对n 个元素初始建堆的过程。
                                                                                                      建堆方法:对初始序列建堆的过程,就是一个反复进行筛选的过程。

                                                                                                      1. n个结点的完全二叉树,则最后一个结点是第个结点的子树。
                                                                                                      2. 筛选从第个结点为根的子树开始,该子树成为堆。
                                                                                                      3. 之后向前依次对各结点为根的子树进行筛选,使之成为堆,直到根结点。

                                                                                                      如图建堆初始过程:无序序列:(49,38,65,97,76,13,27,49)

                                                                                                      算法的实现:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      24
                                                                                                      25
                                                                                                      26
                                                                                                      27
                                                                                                      28
                                                                                                      29
                                                                                                      30
                                                                                                      31
                                                                                                      32
                                                                                                      33
                                                                                                      34
                                                                                                      35
                                                                                                      36
                                                                                                      37
                                                                                                      38
                                                                                                      39
                                                                                                      40
                                                                                                      41
                                                                                                      42
                                                                                                      43
                                                                                                      44
                                                                                                      45
                                                                                                      46
                                                                                                      47
                                                                                                      48
                                                                                                      49
                                                                                                      50
                                                                                                      51
                                                                                                      52
                                                                                                      53
                                                                                                      54
                                                                                                      55
                                                                                                      56
                                                                                                      /**
                                                                                                      * 已知H[s…m]除了H[s] 外均满足堆的定义
                                                                                                      * 调整H[s],使其成为大顶堆.即将对第s个结点为根的子树筛选,
                                                                                                      *
                                                                                                      * @param H是待调整的堆数组
                                                                                                      * @param s是待调整的数组元素的位置
                                                                                                      * @param length是数组的长度
                                                                                                      *
                                                                                                      */
                                                                                                      void HeapAdjust(int H[],int s, int length)
                                                                                                      {
                                                                                                      int tmp = H[s];
                                                                                                      int child = 2*s+1; //左孩子结点的位置。(i+1 为当前调整结点的右孩子结点的位置)
                                                                                                      while (child < length)
                                                                                                      {
                                                                                                      if(child+1 <length && H[child]<H[child+1]) // 如果右孩子大于左孩子(找到比当前待调整结点大的孩子结点)
                                                                                                      ++child;
                                                                                                      if(H[s]<H[child])
                                                                                                      { // 如果较大的子结点大于父结点
                                                                                                      H[s] = H[child]; // 那么把较大的子结点往上移动,替换它的父结点
                                                                                                      s = child; // 重新设置s ,即待调整的下一个结点的位置
                                                                                                      child = 2*s+1;
                                                                                                      }
                                                                                                      else // 如果当前待调整结点大于它的左右孩子,则不需要调整,直接退出
                                                                                                      break;
                                                                                                      H[s] = tmp; // 当前待调整的结点放到比其大的孩子结点位置上
                                                                                                      }
                                                                                                      }
                                                                                                      /**
                                                                                                      * 初始堆进行调整
                                                                                                      * 将H[0..length-1]建成堆
                                                                                                      * 调整完之后第一个元素是序列的最小的元素
                                                                                                      */
                                                                                                      void BuildingHeap(int H[], int length)
                                                                                                      {
                                                                                                      //最后一个有孩子的节点的位置 i= (length -1) / 2
                                                                                                      for (int i = (length -1) / 2 ; i >= 0; i--)
                                                                                                      HeapAdjust(H,i,length);
                                                                                                      }
                                                                                                      /**
                                                                                                      * 堆排序算法
                                                                                                      */
                                                                                                      void HeapSort(int H[],int length)
                                                                                                      {
                                                                                                      //初始堆
                                                                                                      BuildingHeap(H, length);
                                                                                                      //从最后一个元素开始对序列进行调整
                                                                                                      for (int i = length - 1; i > 0; --i)
                                                                                                      {
                                                                                                      //交换堆顶元素H[0]和堆中最后一个元素
                                                                                                      int temp = H[i]; H[i] = H[0]; H[0] = temp;
                                                                                                      //每次交换堆顶元素和堆中最后一个元素之后,都要对堆进行调整
                                                                                                      HeapAdjust(H,0,i);
                                                                                                      }
                                                                                                      }

                                                                                                      堆排序是不稳定的。

                                                                                                      设树深度为k,

                                                                                                      次,交换记录至多k 次。所以,在建好堆后,排序过程中的筛选次数不超过下式:

                                                                                                      而建堆时的比较次数不超过4n 次,因此堆排序最坏情况下,时间复杂度也为:O(nlogn )。

                                                                                                      交换排序

                                                                                                      冒泡排序(Bubble Sort)


                                                                                                      冒泡排序重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。
                                                                                                      冒泡排序示例:


                                                                                                      算法的实现:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      void bubbleSort(int a[], int n)
                                                                                                      {
                                                                                                      for(int i =0 ; i< n-1; ++i)
                                                                                                      for(int j = 0; j < n-i-1; ++j)
                                                                                                      if(a[j] > a[j+1])
                                                                                                      {
                                                                                                      int tmp = a[j];
                                                                                                      a[j] = a[j+1];
                                                                                                      a[j+1] = tmp;
                                                                                                      }
                                                                                                      }

                                                                                                      冒泡排序是稳定的。

                                                                                                      冒泡算法的改进

                                                                                                      对冒泡排序常见的改进方法是加入一标志性变量exchange,用于标志某一趟排序过程中是否有数据交换,如果进行某一趟排序时并没有进行数据交换,则说明数据已经按要求排列好,可立即结束排序,避免不必要的比较过程。本文再提供以下两种改进算法:

                                                                                                      1. 设置一标志性变量pos,用于记录每趟排序中最后一次进行交换的位置。由于pos位置之后的记录均已交换到位,故在进行下一趟排序时只要扫描到pos位置即可。
                                                                                                        改进后算法如下:
                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      void Bubble_1 ( int r[], int n)
                                                                                                      {
                                                                                                      int i = n -1; //初始时,最后位置保持不变
                                                                                                      while (i > 0)
                                                                                                      {
                                                                                                      int pos= 0; //每趟开始时,无记录交换
                                                                                                      for (int j = 0; j < i; j++)
                                                                                                      if (r[j] > r[j+1])
                                                                                                      {
                                                                                                      pos = j; //记录交换的位置
                                                                                                      int tmp = r[j];
                                                                                                      r[j] = r[j+1];
                                                                                                      r[j+1] = tmp;
                                                                                                      }
                                                                                                      i = pos; //为下一趟排序作准备
                                                                                                      }
                                                                                                      }
                                                                                                      1. 传统冒泡排序中每一趟排序操作只能找到一个最大值或最小值,我们考虑利用在每趟排序中进行正向和反向两遍冒泡的方法一次可以得到两个最终值(最大者和最小者) , 从而使排序趟数几乎减少了一半。
                                                                                                        改进后的算法为:
                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      24
                                                                                                      25
                                                                                                      void Bubble_2 (int r[], int n)
                                                                                                      {
                                                                                                      int low = 0;
                                                                                                      int high = n-1; //设置变量的初始值
                                                                                                      int tmp, j;
                                                                                                      while (low < high)
                                                                                                      {
                                                                                                      for (j = low; j < high; ++j) //正向冒泡,找到最大者
                                                                                                      if (r[j] > r[j+1])
                                                                                                      {
                                                                                                      tmp = r[j];
                                                                                                      r[j]=r[j+1];
                                                                                                      r[j+1]=tmp;
                                                                                                      }
                                                                                                      --high; //修改high值, 前移一位
                                                                                                      for (j = high; j > low; --j) //反向冒泡,找到最小者
                                                                                                      if (r[j] < r[j-1])
                                                                                                      {
                                                                                                      tmp = r[j];
                                                                                                      r[j]=r[j-1];
                                                                                                      r[j-1]=tmp;
                                                                                                      }
                                                                                                      ++low; //修改low值,后移一位
                                                                                                      }
                                                                                                      }

                                                                                                      快速排序(Quick Sort)


                                                                                                      快速排序又称划分交换排序(partition-exchange sort),使用分治法(Divide and conquer)策略来把一个序列(list)分为两个子序列(sub-lists)。其算法描述为:

                                                                                                      1. 从数列中挑出一个元素,称为”基准”(pivot)。
                                                                                                      2. 重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(相同的数可以到任一边)。在这个分区结束之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。
                                                                                                      3. 递归地(recursively)把小于基准值元素的子数列和大于基准值元素的子数列排序。

                                                                                                      快速排序的示例:

                                                                                                      1. 一趟排序的过程

                                                                                                      2. 排序的全过程

                                                                                                      算法的实现(递归):

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      void quickSort_recursive(int a[], int low, int high)
                                                                                                      {
                                                                                                      int first = low;
                                                                                                      int last = high;
                                                                                                      int key = a[first];
                                                                                                      if(low >= high)
                                                                                                      return ;
                                                                                                      while(first < last)
                                                                                                      {
                                                                                                      while((first < last)&&(key <= a[last]))
                                                                                                      last--;
                                                                                                      a[first] = a[last];
                                                                                                      while((first < last)&&(key >= a[first]))
                                                                                                      first++;
                                                                                                      a[last] = a[first];
                                                                                                      }
                                                                                                      a[first] = key;
                                                                                                      quickSort_recursive(a, low, first-1);
                                                                                                      quickSort_recursive(a, first+1, high);
                                                                                                      }

                                                                                                      快速排序是不稳定的。
                                                                                                      快排迭代算法:维护一个栈,存放划分的起点终点

                                                                                                      在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下(正序或逆序)则需要Ο(n^2 )次比较,取决于其递归树的高度。事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序是一个不稳定的排序方法。

                                                                                                      归并排序(Merge Sort)


                                                                                                      归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。

                                                                                                      递归法

                                                                                                      1. 将序列每相邻两个数字进行归并操作,形成floor(n/2)个序列,排序后每个序列包含两个元素
                                                                                                      2. 将上述序列再次归并,形成floor(n/4)个序列,每个序列包含四个元素
                                                                                                      3. 重复步骤2,直到所有元素排序完毕

                                                                                                      算法实现:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      24
                                                                                                      25
                                                                                                      void merge_sort_recursive(int arr[], int reg[], int start, int end)
                                                                                                      {
                                                                                                      if (start >= end)
                                                                                                      return;
                                                                                                      int len = end - start, mid = (len >> 1) + start;
                                                                                                      int start1 = start, end1 = mid;
                                                                                                      int start2 = mid + 1, end2 = end;
                                                                                                      merge_sort_recursive(arr, reg, start1, end1);
                                                                                                      merge_sort_recursive(arr, reg, start2, end2);
                                                                                                      int k = start;
                                                                                                      while (start1 <= end1 && start2 <= end2)
                                                                                                      reg[k++] = arr[start1] < arr[start2] ? arr[start1++] : arr[start2++];
                                                                                                      while (start1 <= end1)
                                                                                                      reg[k++] = arr[start1++];
                                                                                                      while (start2 <= end2)
                                                                                                      reg[k++] = arr[start2++];
                                                                                                      for (k = start; k <= end; k++)
                                                                                                      arr[k] = reg[k];
                                                                                                      }
                                                                                                      void merge_sort(int arr[], const int len)
                                                                                                      {
                                                                                                      trueint reg[len];
                                                                                                      truemerge_sort_recursive(arr, reg, 0, len - 1);
                                                                                                      }

                                                                                                      两路归并的递归算法

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      void MSort(ElemType *r, ElemType *rf,int s, int t)
                                                                                                      {
                                                                                                      ElemType *rf2;
                                                                                                      if(s==t) r[s] = rf[s];
                                                                                                      else
                                                                                                      {
                                                                                                      int m=(s+t)/2; /*平分*p 表*/
                                                                                                      MSort(r, rf2, s, m); /*递归地将p[s…m]归并为有序的p2[s…m]*/
                                                                                                      MSort(r, rf2, m+1, t); /*递归地将p[m+1…t]归并为有序的p2[m+1…t]*/
                                                                                                      Merge(rf2, rf, s, m+1,t); /*将p2[s…m]和p2[m+1…t]归并到p1[s…t]*/
                                                                                                      }
                                                                                                      }
                                                                                                      void MergeSort_recursive(ElemType *r, ElemType *rf, int n)
                                                                                                      { /*对顺序表*p 作归并排序*/
                                                                                                      MSort(r, rf,0, n-1);
                                                                                                      }

                                                                                                      迭代法

                                                                                                      1. 申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列;
                                                                                                      2. 设定两个指针,最初位置分别为两个已经排序序列的起始位置;
                                                                                                      3. 比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置;
                                                                                                      4. 重复步骤3直到某一指针到达序列尾;
                                                                                                      5. 将另一序列剩下的所有元素直接复制到合并序列尾;

                                                                                                      算法实现:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      24
                                                                                                      25
                                                                                                      26
                                                                                                      27
                                                                                                      28
                                                                                                      29
                                                                                                      30
                                                                                                      31
                                                                                                      void merge_sort_iteration(int arr[], int len)
                                                                                                      {
                                                                                                      int* a = arr;
                                                                                                      int* b = new int[len];
                                                                                                      for (int seg = 1; seg < len; seg += seg)
                                                                                                      {
                                                                                                      for (int start = 0; start < len; start += seg + seg)
                                                                                                      {
                                                                                                      int low = start, mid = min(start + seg, len), high = min(start + seg + seg, len);
                                                                                                      int k = low;
                                                                                                      int start1 = low, end1 = mid;
                                                                                                      int start2 = mid, end2 = high;
                                                                                                      while (start1 < end1 && start2 < end2)
                                                                                                      b[k++] = a[start1] < a[start2] ? a[start1++] : a[start2++];
                                                                                                      while (start1 < end1)
                                                                                                      b[k++] = a[start1++];
                                                                                                      while (start2 < end2)
                                                                                                      b[k++] = a[start2++];
                                                                                                      }
                                                                                                      T* temp = a;
                                                                                                      a = b;
                                                                                                      b = temp;
                                                                                                      }
                                                                                                      if (a != arr)
                                                                                                      {
                                                                                                      for (int i = 0; i < len; i++)
                                                                                                      b[i] = a[i];
                                                                                                      b = a;
                                                                                                      }
                                                                                                      delete[] b;
                                                                                                      }

                                                                                                      归并排序是稳定的。

                                                                                                      总结

                                                                                                      各种排序的稳定性,时间复杂度和空间复杂度总结:

                                                                                                      参考资料有:
                                                                                                      真实的归宿——八大排序算法
                                                                                                      xiazdong——九大排序算法再总结
                                                                                                      wikipedia

                                                                                                      ]]>
                                                                                                      + + + + + + <p>排序算法一般分为:</p> +<ol> +<li>内部排序(In-place sort)<br> 不占用额外内存或者占用常数内存,如:插入排序、选择排序、冒泡排序、堆排序、快速排序。</li> +<li>外部排序(Out-place sort)<br> 因为排序数据大,可用内存一 + + + + + + + +
                                                                                                      + + + self与super的区别 + + http://codingdoge.cn/2017/07/23/title: self与super的区别 / + 2017-07-23T15:47:00.000Z + 2018-01-14T16:47:12.060Z + +

                                                                                                      原文CSDN evilotus
                                                                                                      有所整理


                                                                                                      ObjC中的类实现中经常看到这两个关键字”self”和”super”,以以前oop语言的经验,拿c++为例,self相当于thissuper相当于调用父类的方法,这么看起来是很容易理解的。但是它们真正是如何调用的呢? 你知道吗?

                                                                                                      • 以下面的代码为例:
                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      24
                                                                                                      25
                                                                                                      26
                                                                                                      27
                                                                                                      28
                                                                                                      @interface Person:NSObject
                                                                                                      {
                                                                                                      trueNSString* name;
                                                                                                      }
                                                                                                      (void) setName:(NSString) yourName;
                                                                                                      @end//Person
                                                                                                      @interface PersonMe:Person
                                                                                                      {
                                                                                                      trueNSUInteger age;
                                                                                                      }
                                                                                                      (void) setAge:(NSUInteger) age;
                                                                                                      (void) setName:(NSString*) yourName andAge:(NSUInteger) age;
                                                                                                      @end// PersonMe
                                                                                                      @implementation PersonMe
                                                                                                      (void) setName:(NSString*) yourName andAge:(NSUInteger) age
                                                                                                      {
                                                                                                      true[self setAge:age];
                                                                                                      true[super setName:yourName];
                                                                                                      }
                                                                                                      @end// PersonMe
                                                                                                      int main(int argc, char* argv[]) {
                                                                                                      NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]
                                                                                                      PersonMe* me = [[PersonMe alloc] init];
                                                                                                      [me setName: @"asdf" andAge: 18];
                                                                                                      [me release];
                                                                                                      [pool drain];
                                                                                                      return 0;
                                                                                                      }

                                                                                                      上面有简单的两个类,在子类PersonMe中调用了自己类中的setAge和父类中的setName,这些代码看起来很好理解,没什么问题。 然后我在setName:andAge的方法中加入两行:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      NSLog(@"self ' class is %@", [self class]);
                                                                                                      NSLog(@"super' class is %@", [super class]);
                                                                                                      ```
                                                                                                      这样在调用时,会打出来这两个的**class**,先猜下吧,会打印出什么? 按照以前*oop*语言的经验,这里应该会输出:***self ' s class is PersonMe super ' s class is Person***
                                                                                                      但是编译运行后,可以发现结果是:
                                                                                                      ``` //
                                                                                                      self 's class is PersonMe
                                                                                                      super ' s class is PersonMe

                                                                                                      selfclass和预想的一样,怎么superclass也是PersonMe?

                                                                                                      真相

                                                                                                      self是类的隐藏的参数,指向当前当前调用方法的类,另一个隐藏参数是_cmd,代表当前类方法的selector。这里只关注这个selfsuper是个啥?super并不是隐藏的参数,它只是一个“编译器指示符”,它和self指向的是相同的消息接收者,拿上面的代码为例,不论是用[self setName]还是[super setName],接收“setName”这个消息的接收者都是PersonMe* me这个对象。不同的是,super告诉编译器,当调用setName的方法时,要去调用父类的方法,而不是本类里的。

                                                                                                      当使用self调用方法时,会从当前类的方法列表中开始找,如果没有,就从父类中再找;而当使用superv时,则从父类**的方法列表中开始找。然后调用父类的这个方法。

                                                                                                      One more step

                                                                                                      这种机制到底底层是如何实现的?其实当调用类方法的时候,编译器会将方法调用转成一个C函数方法调用,apple的objcRuntimeRef上说:

                                                                                                      Sending Messages
                                                                                                      When it encounters a method invocation, the compiler might generate a call to any of several functions to perform the actual message dispatch, depending on the receiver, the return value, and the arguments. You can use these functions to dynamically invoke methods from your own plain C code, or to use argument forms not permitted by NSObject’s perform… methods. These functions are declared in /usr/include/objc/objc-runtime.h.

                                                                                                      • objc_msgSend sends a message with a simple return value to an instance of a class.
                                                                                                      • objc_msgSend_stret sends a message with a data-structure return value to an instance of
                                                                                                        a class.
                                                                                                      • objc_msgSendSuper sends a message with a simple return value to the superclass of an instance of a class.
                                                                                                      • objc_msgSendSuper_stret sends a message with a data-structure return value to the superclass of an instance of a class.

                                                                                                      可以看到会转成调用上面4个方法中的一个,由于_stret系列的和没有_stret的那两个类似,先只关注objc_msgSendobjc_msgSendSuper两个方法。

                                                                                                      当使用[self setName]调用时,会使用objc_msgSend的函数,先看下objc_msgSend的函数定义:

                                                                                                      1
                                                                                                      id objc_msgSend(id theReceiver, SEL theSelector, ...)

                                                                                                      第一个参数是消息接收者,第二个参数是调用的具体类方法的selector,后面是selector方法的可变参数。我们先不管这个可变参数,以[self setName:]为例,编译器会替换成调用objc_msgSend的函数调用,其中theReceiver是self,theSelector是 @selector(setName:),这个selector是从当前self的class的方法列表开始找的setName,当找到后把对应的 selector传递过去。

                                                                                                      而当使用[super setName]调用时,会使用objc_msgSendSuper函数,看下objc_msgSendSuper的函数定义:

                                                                                                      1
                                                                                                      id objc_msgSendSuper(struct objc_super *super, SEL op, ...)

                                                                                                      第一个参数是个objc_super的结构体,第二个参数还是类似上面的类方法的selector,先看下objc_super这个结构体是什么东西:

                                                                                                      struct objc_super  {      id receiver;      Class superClass;  };

                                                                                                      可以看到这个结构体包含了两个成员,一个是receiver,这个类似上面objc_msgSend的第一个参数receiver,第二个成员是记 录写super这个类的父类是什么,拿上面的代码为例,当编译器遇到PersonMesetName:andAge方法里的[super setName:]时,开始做这几个事:

                                                                                                      1. 构建objc_super的结构体,此时这个结构体的第一个成员变量receiver就是PersonMe* me,和self相同。而第二个成员变量superClass就是指类Person,因为PersonMe的超类就是这个Person

                                                                                                      2. 调用objc_msgSendSuper的方法,将这个结构体和setName的sel传递过去。函数里面在做的事情类似这样:从objc_super结构体指向的superClass的方法列表开始找setName的selector,找到后再以 objc_super->receiver去调用这个selector,可能也会使用objc_msgSend这个函数,不过此时的第一个参数 theReceiver就是objc_super->receiver,第二个参数是从objc_super->superClass中找到 的selector

                                                                                                      里面的调用机制大体就是这样了,以上面的分析,回过头来看开始的代码,当输出[self class]和[super class]时,是个怎样的过程。

                                                                                                      当使用[self class]时,这时的self是PersonMe,在使用objc_msgSend时,第一个参数是receiver也就是self,也是 PersonMe* me这个实例。第二个参数,要先找到class这个方法的selector,先从PersonMe这个类开始找,没有,然后到PersonMe的父类 Person中去找,也没有,再去Person的父类NSObject去找,一层一层向上找之后,在NSObject的类中发现这个class方法,而 NSObject的这个class方法,就是返回receiver的类别,所以这里输出PersonMe。

                                                                                                      当使用[super class]时,这时要转换成objc_msgSendSuper的方法。先构造objc_super的结构体吧,第一个成员变量就是self, 第二个成员变量是Person,然后要找class这个selector,先去superClass也就是Person中去找,没有,然后去Person 的父类中去找,结果还是在NSObject中找到了。然后内部使用函数objc_msgSend(objc_super->receiver, @selector(class)) 去调用,此时已经和我们用[self class]调用时相同了,此时的receiver还是PersonMe* me,所以这里返回的也是PersonMe。

                                                                                                      Furthor more 在类的方法列表寻找一个方法时,还牵涉到一个概念类对象的isa指针和objc的meta-class概念,这里就不再详细介绍。

                                                                                                      ]]>
                                                                                                      + + + + + + <blockquote> +<p>原文<a href="http://blog.csdn.net/evilotus/article/details/7284290" target="_blank" rel="noopener"><strong>CSDN evilotus</stro + + + + + + + + + + + +
                                                                                                      + + + Objective-C声明在头文件和实现文件中的区别 + + http://codingdoge.cn/2017/07/23/title: Objective-C声明在头文件和实现文件中的区别 / + 2017-07-23T15:47:00.000Z + 2018-01-14T16:53:10.421Z + +

                                                                                                      转自codecloud(有整理)

                                                                                                      调试程序的时候,突然想到这个问题,百度一下发现有不少这方面的问答,粗略总结一下:

                                                                                                      • 属性写在.h文件中和在.m文件中有什么区别?

                                                                                                      Objective-C中有分类和类扩展的概念,而实现文件中的类声明实际上就是类扩展.

                                                                                                      @interface部分为类扩展(extension)

                                                                                                      其被设计出来就是为了解决两个问题的

                                                                                                      1. 定义类私有方法的地方,也就是下面说到的区别一
                                                                                                      2. 实现public readonly,private readwrite的property(意思是在h头文件中定义一个属性对外是readonly的,但在类的内部希望是可读写的,所以可以在m源文件中的@interface部分重新定义此属性为readwrite,此时此属性对外是只读的,对内是读写的).

                                                                                                      此外,也可在此部分申明变量和属性,但申明的变量,属性和方法均为私有的,只能够被当前类访问,相当于private。

                                                                                                      区别一:

                                                                                                      属性在.h文件中和在.m中声明是有区别的。区别就是,在.h文件中声明的属性,外部类可以通过“类实例.属性”来调用,但在.m中声明的则不可以,获取和设置的方法,只能是通过setValue:forKey和valueForKey来实现。

                                                                                                      成员变量,有三种权限,就是大家都知道的@private、@protected、@public ,写在.m文件中时,相当于是@private权限,子类无法访问,验证了一下,做权限修改也无效。而写在.h文件中,默认是@protected权限,子类可以访问,可以做权限修改。因为访问权限指针对.h文件。.h文件中成员变量,外部类对其的调用,跟C++一样,用->来调用。

                                                                                                      区别二

                                                                                                      这样可以提高编译效率,避免重复编译。
                                                                                                      因为分开的话只需要编译一次生成对应的.obj文件后,再次应用该类的地方,这个类就不会被再次编译,从而大大提高了效率。这样可以提高编译效率,避免重复编译.

                                                                                                      怎么去解释呢…其实这是一个面向对象的思想,所谓”提高”的比较对象,应该是直接将方法写到具体函数里的实现方式.
                                                                                                      h为编译器提供一个索引、声明,连接obj对象和主程序.
                                                                                                      编译器在编译的时候,如果需要,则去查找h,找到了h,再找对应的obj,就可以找到类的方法了.
                                                                                                      但是如果直接写入到同一个文件(例如hpp),主程序没有索引,也不清楚具体的类实现了没有,只能一次次重复的编译相同的代码,这样实际上没有把这个类该有的东西抽象出来.
                                                                                                      对于函数声明在头文件中,在实现文件中实现,也是避免重复编译,函数可以多次声明,但只能实现一次.

                                                                                                      头文件相对于实现文件的作用在于:

                                                                                                      1. 头文件可以预先告诉编译器一些必要的声明,让编译器顺利进行下去,在连接实现以前.未必出现实际的定义.

                                                                                                        头文件的意义在:* 使得程序简明,清晰.* 避免了重复编写相同的声明代码.
                                                                                                      2. .c和.h文件没有必然的联系.

                                                                                                      关于头文件和实现文件的编译连接的过程

                                                                                                      其实要理解C文件与头文件有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:

                                                                                                      1. 预处理阶段
                                                                                                      2. 词法与语法分析阶段
                                                                                                      3. 编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件
                                                                                                      4. 连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,当然,最后还可以用objcopy生成纯二进制
                                                                                                        码,也就是去掉了文件格式信息.

                                                                                                      编译器在编译时是以C文件为单位进行的,也就是说如果你的项目中一个C文件都没有,那么你的项目将无法编译,连接器是以目标文件为单位,它将一个或多个目标文件进行函数与变量的重定位,生成最终的可执行文件,在PC上的程序开发,一般都有一个main函数,这是各个编译器的约定,当然,你如果自己写连接器脚本的话,可以不用main函数作为程序入口!!!

                                                                                                      有了这些基础知识,再言归正传,为了生成一个最终的可执行文件,就需要一些目标文件,也就是需要C文件,而这些C文件中又需要一个main函数作为可执行程序的入口,那么我们就从一个C文件入手,假定这个C文件内容如下:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      #include \<stdio.h>
                                                                                                      #include “mytest.h”
                                                                                                      int main(int argc,char **argv)
                                                                                                      {
                                                                                                      test = 25;
                                                                                                      printf(“test……………..%d\n”,test);
                                                                                                      }

                                                                                                      头文件内容如下:
                                                                                                      int test;

                                                                                                      现在以这个例子来讲解编译器的工作:

                                                                                                      1. 预处理阶段:
                                                                                                        编译器以C文件作为一个单元,首先读这个C文件,发现第一句与第二句是包含一个头文件,就会在所有搜索路径中寻找这两个文件,找到之后,就会将相应头文件中再去处理宏,变量,函数声明,嵌套的头文件包含等,检测依赖关系,进行宏替换,看是否有重复定义与声明的情况发生,最后将那些文件中所有的东东全部扫描进这个当前的C文件中,形成一个中间“C文件”

                                                                                                      2. 编译阶段:
                                                                                                        在上一步中相当于将那个头文件中的test变量扫描进了一个中间C文件,那么test变量就变成了这个文件中的一个全局变量,此时就将所有这个中间C文件的所有变量,函数分配空间,将各个函数编译成二进制码,按照特定目标文件格式生成目标文件,在这种格式的目标文件中进行各个全局变量,函数的符号描述,将这些二进制码按照一定的标准组织成一个目标文件

                                                                                                      3. 连接阶段:
                                                                                                        将上一步成生的各个目标文件,根据一些参数,连接生成最终的可执行文件,主要的工作就是重定位各个目标文件的函数,变量等,相当于将个目标文件中的二进制码按一定的规范合到一个文件中

                                                                                                      再回到C文件与头文件各写什么内容的话题上:

                                                                                                      理论上来说C文件与头文件里的内容,只要是C语言所支持的,无论写什么都可以的,比如你在头文件中写函数体,只要在任何一个C文件包含此头文件就可以将这个函数编译成目标文件的一部分(编译是以C文件为单位的,如果不在任何C文件中包含此头文件的话,这段代码就形同虚设),你可以在C文件中进行函数声明,变量声明,结构体声明,这也不成问题!!!
                                                                                                      那为何一定要分成头文件与C文件呢?又为何一般都在头件中进行函数,变量声明,宏声明,结构体声明呢?而在C文件中去进行变量定义,函数实现呢??
                                                                                                      原因如下:

                                                                                                      1. 如果在头文件中实现一个函数体,那么如果在多个C文件中引用它,而且又同时编译多个C文件,将其生成的目标文件连接成一个可执行文件,在每个引用此头文件的C文件所生成的目标文件中,都有一份这个函数的代码,如果这段函数又没有定义成局部函数,那么在连接时,就会发现多个相同的函数,就会报错

                                                                                                      2. 如果在头文件中定义全局变量,并且将此全局变量赋初值,那么在多个引用此头文件的C文件中同样存在相同变量名的拷贝,关键是此变量被赋了初值,所以编译器就会将此变量放入DATA段,最终在连接阶段,会在DATA段中存在多个相同的变量,它无法将这些变量统一成一个变量,也就是仅为此变量分配一个空间,而不是多份空间,假定这个变量在头文件没有赋初值,编译器就会将之放入BSS段,连接器会对BSS段的多个同名变量仅分配一个存储空间

                                                                                                      3. 如果在C文件中声明宏,结构体,函数等,那么我要在另一个C文件中引用相应的宏,结构体,就必须再做一次重复的工作,如果我改了一个C文件中的一个声明,那么又忘了改其它C文件中的声明,这不就出了大问题了,程序的逻辑就变成了你不可想象的了,如果把这些公共的东东放在一个头文件中,想用它的C文件就只需要引用一个就OK了!!!这样岂不方便,要改某个声明的时候,只需要动一下头文件就行了

                                                                                                      4. 在头文件中声明结构体,函数等,当你需要将你的代码封装成一个库,让别人来用你的代码,你又不想公布源码,那么人家如何利用你的库呢?也就是如何利用你的库中的各个函数呢??一种方法是公布源码,别人想怎么用就怎么用,另一种是提供头文件,别人从头文件中看你的函数原型,这样人家才知道如何调用你写的函数,就如同你调用printf函数一样,里面的参数是怎样的??你是怎么知道的??还不是看人家的头文件中的相关声明啊!!!当然这些东东都成了C标准,就算不看人家的头文件,你一样可以知道怎么使用.

                                                                                                      ]]>
                                                                                                      + + + + + + <blockquote> +<p>转自<a href="http://codecloud.net/objective-c-6782.html" target="_blank" rel="noopener">codecloud</a>(有整理)</p> +</blockquote> +< + + + + + + + + + + + +
                                                                                                      + + + CocoaPods 安装及一般使用 + + http://codingdoge.cn/2017/07/23/title: CocoaPods 安装及一般使用/ + 2017-07-23T15:47:00.000Z + 2018-01-13T05:06:34.464Z + + WHAT IS COCOAPODS

                                                                                                      CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects.CocoaPods can help you scale your projects elegantly.

                                                                                                      INSTALL

                                                                                                      CocoaPods是基于ruby建立的,要确保你的电脑里装有Ruby,不过Mac都是自带Ruby的,你可以用rvm来管理你的ruby.

                                                                                                      RVM 实用指南 · Ruby China
                                                                                                      然后我们使用Rubygem来安装cocoapods.
                                                                                                      由于GFW的原因我们不能访问cocoapods.org,使用淘宝的Ruby镜像来代替:

                                                                                                      1. 删除自带的Ruby镜像
                                                                                                        $ gem sources --remove https://rubygems.org/
                                                                                                      2. 添加淘宝的镜像
                                                                                                        $ gem sources -a https://gems.ruby-china.org/
                                                                                                        (如果这个镜像不能用,就用https://gems.ruby-china.org/
                                                                                                      3. 可以用$ gem sources -l来检验。成功即显示以下结果:
                                                                                                        FF76DDA8-EC18-438C-B921-8603D4688C1D
                                                                                                        FF76DDA8-EC18-438C-B921-8603D4688C1D
                                                                                                      1. 安装CocoaPods
                                                                                                        $ sudo gem install cocoapods
                                                                                                      2. 配置CocoaPods
                                                                                                        $ pod setup

                                                                                                      如果安装失败的话,根据报错去解决问题,比如gem没更新,ruby版本等。
                                                                                                      常见问题:

                                                                                                      While executing gem ... (Errno::EPERM)
                                                                                                      1
                                                                                                      Operation not permitted - /usr/bin/xcodeproj

                                                                                                      安装Cocoapods, 更新gem出现的问题。 - SegmentFault
                                                                                                      ios - Cannot install cocoa pods after uninstalling, results in error - Stack Overflow

                                                                                                      Using CocoaPods

                                                                                                      1. 使用之前你要确保你所想用的库存在CocoaPods中:(拿AFNetworking举例)
                                                                                                        $ pod search AFNetworking
                                                                                                        第一次搜索会需要建立索引,比较慢一些。
                                                                                                      2. 搜索完成后会列举出结果和版本:

                                                                                                        37122577-4CDC-48C9-9B25-4B943D983810
                                                                                                        37122577-4CDC-48C9-9B25-4B943D983810
                                                                                                      3. 然后通过创建Podfile文件来添加依赖关系

                                                                                                      4. cd进你项目所在的目录(简介里面可以直接复制路径)
                                                                                                      5. 利用vim创建Podfile文件
                                                                                                        $ vim Podfile
                                                                                                      6. 然后输入:
                                                                                                        1
                                                                                                        2
                                                                                                        3
                                                                                                        4
                                                                                                        5
                                                                                                        platform :ios, '10.0'
                                                                                                        target 'TargetName' do
                                                                                                        pod 'AFNetworking', '~> 3.0'
                                                                                                        end

                                                                                                      文字的意思是,当前AFNetworking支持的iOS最高版本是iOS 10.0,’TargetName’为你项目的名称,要下载的AFNetworking版本是3.0
                                                                                                      保存退出。

                                                                                                      1. 运行$ pod install
                                                                                                        完成后会出现
                                                                                                        提示使用’XXX.xcworkspace’文件来代替之前的’XXX.xcodeproj’文件打开项目。
                                                                                                        打开项目后会发现
                                                                                                        里面有了我们想要加进来的库,可以#import进来了。
                                                                                                      1. 增加新的库
                                                                                                        如果使用过程中我还想添加其他的库怎么办,只要在Podfile里面接着添加,然后终端再执行pod install就可以了。
                                                                                                      2. 更新CocoaPods中的库
                                                                                                        第三方库们都有人在维护升级,我们需要隔断时间就要更新下我们工程中第三方库的版本。只需要终端输入命令pod update就可以了。
                                                                                                      3. 删除CocoaPods中的某些库
                                                                                                        当我们需要去掉某个第三方库时,只需要在Podfile删除该引入该库的语句,然后执行pod update或者pod install就可以了。
                                                                                                      4. 升级CocoaPods
                                                                                                        sudo gem install cocoapods
                                                                                                      ]]>
                                                                                                      + + + + + + <h2 id="WHAT-IS-COCOAPODS"><a href="#WHAT-IS-COCOAPODS" class="headerlink" title="WHAT IS COCOAPODS"></a>WHAT IS <a href="https://cocoapods. + + + + + + + + + +
                                                                                                      + + + 有限状态机在iOS中的应用 + + http://codingdoge.cn/2017/07/23/title: 有限状态机在iOS中的应用/ + 2017-07-23T15:47:00.000Z + 2018-01-13T05:06:26.865Z + + 有限状态机(Finite-State Machine, FSM),是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。

                                                                                                      其实我们平常和很多状态机都打过交道,比如正则表达式、网络协议(如TCP协议状态机)、游戏设计、字符串匹配等等,可能大多数时候我们都没意识到,接下来我们简略了解下状态机。

                                                                                                      基本概念

                                                                                                      • 状态(state): 指的是对象在其生命周期中的一种状况,处于某个特定状态中的对象必然会满足某些条件、执行某些动作或者是等待某些事件,而且状态是相对稳定的,如果没有外部条件的触发,一个状态会一直持续下去。
                                                                                                      • 事件(event): 指的是对状态机来讲是有意义的那些事情。事件通常会引起状态的变迁,促使状态机从一种状态切换到另一种状态。
                                                                                                      • 转换(transition): 指的是两个状态之间的一种关系,表明对象将在第一个状态中执行一定的动作,并将在某个事件发生的同时某个特定条件满足时进入第二个状态。
                                                                                                      • 动作(action): 指的是状态机中可以执行的那些操作,当事件被满足或者状态变迁时执行动作,动作不是必需的。

                                                                                                      如下图状态表:

                                                                                                      关于状态机的详细知识可以参考:
                                                                                                      UML状态图的实用C/C++设计
                                                                                                      ERLANG

                                                                                                      在iOS中的使用

                                                                                                      背景

                                                                                                      假设我们要设计一款网络视频播放器,有基本的播放、暂停功能,当缓冲好时可以进行播放,当URL错误或者视频资源错误时播放失败,我们发现,当我们去描述一个事物以及它的功能时,总是离不开它的状态,如这个播放器,我们可以定义它有播放失败、缓冲中、将要播放…等等状态。

                                                                                                      设计

                                                                                                      我们可以用状态机去实现这样的功能。

                                                                                                      • 先设定播放器可能出现的状态:
                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      enum VideoPlayerState {
                                                                                                      case failed, // 播放失败
                                                                                                      buffering, // 缓冲中
                                                                                                      readyToPlay, // 将要播放
                                                                                                      playing, // 播放中
                                                                                                      paused, // 播放暂停
                                                                                                      finished // 播放完毕
                                                                                                      }
                                                                                                      • 然后定义当状态发生变换后,针对某个状态我希望它去执行一些逻辑里的动作
                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      var state: VideoPlayerState = .paused {
                                                                                                      didSet {
                                                                                                      switch state {
                                                                                                      case .failed:
                                                                                                      // 当视频加载失败时,我希望去执行的一些事件,比如弹出提示框
                                                                                                      popReminderView()
                                                                                                      case .buffering:
                                                                                                      case .readyToPlay:
                                                                                                      case .playing:
                                                                                                      case .paused:
                                                                                                      case .finished:
                                                                                                      }
                                                                                                      }
                                                                                                      }
                                                                                                      • 在写我们的业务逻辑时,相应的去更改播放器的状态
                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      // 比如我们重写网络层的一些方法,当缓冲好时准备播放
                                                                                                      networkRequestCompletion() {
                                                                                                      state = .readyToPlay
                                                                                                      }

                                                                                                      这样,通过state我们能很清晰的知道现在播放器是什么样应该做什么事,在我们的业务逻辑中,当状态变化时通过didSet我们能很方便的去响应对应状态下应该执行的行为。

                                                                                                      总结

                                                                                                      整篇文章质量或许不是很高,因为还没有大量的代码实践让我去有一个更深更全的体会,但是希望能带给我自己和读者们一点抛砖引玉的效果。我们在编码、设计过程中,多去思考一些,什么地方用什么样的模式更好,比如状态机,来使我们的代码更解耦,易维护,高扩展。

                                                                                                      这里有一篇关于Objective-c状态机的实现,更抽象,其中用到的枚举值自动转字符串通用方案很有意思,同时可以参考这篇《iOS开发高级:使用宏定义macros》关于宏定义的使用。
                                                                                                      这篇《iOS APP 架构漫谈二》列举了很具体的运用场景,可以参考。
                                                                                                      同时参考的文章有:

                                                                                                      关于状态记的开源库推荐:

                                                                                                      ]]>
                                                                                                      + + + + + + <p>有限状态机(Finite-State Machine, FSM),是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。</p> +<p>其实我们平常和很多状态机都打过交道,比如正则表达式、网络协议(如TCP协议状态机)、游戏设计、字符串匹配等等,可能大多数时候我们 + + + + + + + +
                                                                                                      + + + 视频开发 + + http://codingdoge.cn/2017/07/23/title: 视频开发/ + 2017-07-23T15:47:00.000Z + 2018-01-13T05:06:57.320Z + + 下面會介紹視頻的一些基本知識,和在iOS上實現視頻播放和緩存的幾種方案。

                                                                                                      • 软解码和硬解码
                                                                                                        GPU解码就是所谓的硬解码,CPU解码就是软解码。iOS提供的播放器类使用的是硬解码,所以视频播放对CPU不会有很大的压力,但是支持的播放格式比较单一,一般就是MP4、MOV、M4V这几个。
                                                                                                      • HTTP Live Streaming
                                                                                                        HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。支持的视频流编码为H.264。我们在视频网站上看到的M3U8后缀的播放链接就是使用HLS协议的视频。HLS优点,1、看完一段缓存一段,防止只看一段视频但是把整个视频文件都缓存下来的用户,减少服务器压力和节省流量。2、根据用户网速切换不同的码率,兼顾流程性和清晰度。

                                                                                                      播放

                                                                                                      实现视频播放的两个方案。


                                                                                                      一、自己实现对数据编码解码

                                                                                                      可以在一些开源播放器上进行二次开发,如Bilibili的ijkplayer,或者直接对FFmpeg开发,优点在整个播放过程可控,为后续进行缓存、流量控制、码率切换等开发提供了基础,缺点是复杂,要求高,工程量大。


                                                                                                      二、AVFoundation

                                                                                                      Media Assets, Playback and Editing. 使用Apple自有框架。

                                                                                                      AVAsset

                                                                                                      AVAsset is an abstract, immutable class used to model timed audiovisual media such as videos and sounds. An asset may contain one or more tracks that are intended to be presented or processed together, each of a uniform media type, including but not limited to audio, video, text, closed captions, and subtitles.

                                                                                                      Audiovisual media的资源类,通常通过AVURLAsset用URL来实例化,可以用Atom Inspector(一个Apple提供的用来查看视频信息的工具)来观察一个视频的属性,再去AVAsset中对应其属性。

                                                                                                      AVAsset属性视频文件属性
                                                                                                      duration: CMTimeduration, timescale时长和时间尺度
                                                                                                      preferredRate: Float默认速度
                                                                                                      preferredVolume: Float默认音量
                                                                                                      creationDate: AVMetadataItem?视频创建时间
                                                                                                      tracks: [AVAssetTrack]轨道
                                                                                                      trackGroups: [AVAssetTrackGroup]轨道组
                                                                                                      lyrics: String?当前语言环境合适的歌词
                                                                                                      metadata: [AVMetadataItem]元数据

                                                                                                      AVPlayer

                                                                                                      An AVPlayer is a controller object used to manage the playback and timing of a media asset. It provides the interface to control the player’s transport behavior such as its ability to play, pause, change the playback rate, and seek to various points in time within the media’s timeline. You can use an AVPlayer to play local and remote file-based media, such as QuickTime movies and MP3 audio files, as well as audiovisual media served using HTTP Live Streaming.

                                                                                                      AVPlayer是一个控制对象用于管理媒体asset的播放,它提供了相关的接口控制播放器的行为,比如:播放、暂停、改变播放的速率、跳转到媒体时间轴上的某一个点(简单理解就是实现拖动功能显示对应的视频位置内容)。我们能够使用AVPlayer播放本地和远程的媒体文件(使用 HTTP Live Streaming),比如: QuickTime movies 和 MP3 audio files,所以AVPlayer可以满足音视频播放的基本需求。

                                                                                                      AVFoundation的层次
                                                                                                      AVFoundation的层次

                                                                                                      AVPlayerItem

                                                                                                      AVPlayerItem models the timing and presentation state of an asset played by an AVPlayer object. It provides the interface to seek to various times in the media, determine its presentation size, identify its current time, and much more.

                                                                                                      AVPlayerItem是一个负责处理AVAsset的资源并通过AVPlayer来播放的载体,提供了seek、确定显示大小、ID、时间等的接口。

                                                                                                      AVPlayerLayer

                                                                                                      AVPlayerLayer is a subclass of CALayer to which an AVPlayer object can direct its visual output. It can be used as the backing layer for a UIView or NSView or can be manually added to the layer hierarchy to present your video content on screen.

                                                                                                      负责AVPlayer的视频输出展示。

                                                                                                      依赖关系图
                                                                                                      依赖关系图

                                                                                                      简单使用

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      class AVPlayerTestView: UIView {
                                                                                                      let view: UIView? = nil
                                                                                                      func initPlayerView() {
                                                                                                      guard let url = URL.init(string: "http://meipu1.video.meipai.com/5e81c08e-2850-4fbd-bfc4-4ded297f9f1c.mp") else { return }
                                                                                                      let asset = AVAsset.init(url: url)
                                                                                                      let item = AVPlayerItem.init(asset: asset)
                                                                                                      let player = AVPlayer.init(playerItem: item)
                                                                                                      let playerLayer = AVPlayerLayer.init(layer: player)
                                                                                                      view?.layer.addSublayer(playerLayer)
                                                                                                      }
                                                                                                      }

                                                                                                      设置好一个AVPlayer的依赖关系和输出图层后,AVPlayerItem会根据你的URL去请求数据,自己内部做缓冲然后播放。我们需要做的是用KVO监听AVPlayerItem内部几个关键属性的状态,然后做出我们的处理。

                                                                                                      AVPlayerItem属性状态
                                                                                                      status: AVPlayerItemStatus
                                                                                                      .unknown: AVPlayerItemStatus未知状态
                                                                                                      .readyToPlay: AVPlayerItemStatus准备好去播放
                                                                                                      .failed: AVPlayerItemStatus资源无法被播放
                                                                                                      loadedTimeRanges: [NSValue]加载了的资源的时间范围(一般用来更新缓冲UI)
                                                                                                      playbackBufferEmpty: Bool没有缓冲数据
                                                                                                      playbackLikelyToKeepUp: Bool有足够的缓冲大致能播放无卡顿

                                                                                                      General State Observations: You can use Key-value observing (KVO) to observe state changes to many of the player’s dynamic properties, such as its currentItem or its playback rate. You should register and unregister for KVO change notifications on the main thread. This avoids the possibility of receiving a partial notification if a change is being made on another thread. AVFoundation invokes observeValue(forKeyPath:of:change:context:) on the main thread, even if the change operation is made on another thread.


                                                                                                      基本状态观察者:你能够使用KVO来观察player动态属性的状态改变,比如像: currentItem 或者它的播放速度。我们应该在主线程注册和去除KVO,这能够避免如果在其它线程发送改变而导致接收局部通知,当发生通知,AVFoundation将在主线程调用observeValue(forKeyPath:of:change:context:) 方法,即使是在其他线程发生。

                                                                                                      KVO能够很好的观察生成的状态,但是并不能够观察播放时间的改变,所以AVPlayer提供了两个方法来观察时间的改变:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      /*
                                                                                                      @param interval
                                                                                                      调用block的时间间隔
                                                                                                      @param queue
                                                                                                      推荐使用串行队列,放在主线程就行了,并行队列会产生不明确的结果
                                                                                                      */
                                                                                                      func addPeriodicTimeObserver(forInterval interval: CMTime, queue: DispatchQueue?, using block: @escaping (CMTime) -> Void) -> Any {
                                                                                                      // 可以在里面去设置控制状态,刷新进度UI
                                                                                                      }
                                                                                                      func addBoundaryTimeObserver(forTimes times: [NSValue], queue: DispatchQueue?, using block: @escaping () -> Void) -> Any

                                                                                                      Tips:

                                                                                                      • 创建多个AVPlayerLayer只有最近的layer才会显示视频帧
                                                                                                      • 可以创建多个AVPlayerItem来替换AVPlayer的当前item,func replaceCurrentItem(with item: AVPlayerItem?)
                                                                                                      • 监听后要注意控制监听的生命周期

                                                                                                      缓存

                                                                                                      Apple自有的框架是没有提供缓存功能的,AVPlayer也没有提供直接获取其下载数据的接口,所以想做缓存只能自己来完整的实现。下面有几个方案。

                                                                                                      一、自己实现的播放器

                                                                                                      这种情况大多是根据下载来的数据解码播放,下载的时候做下缓存就好了

                                                                                                      二、自带播放器+LocalServer

                                                                                                      在iOS本地开启Local Server服务,然后MPMoviePlayerController请求本地Local Server服务。本地Local Server服务再不停的去对应的视频地址获取视频流。本地Local Server请求的时候,就可以把视频流缓存在本地。Demo来源:Code4App

                                                                                                      三、AVPlayer+AVMutableComposition+AVAssetExportSession

                                                                                                      原理是直接给AVPlayer传URL,让其内部自己去处理数据下载,然后通过AVMutableCompositionAVAssetExportSessionAVAsset提取视频的数据进行缓存。

                                                                                                      AVMutableComposition

                                                                                                      AVMutableComposition is a mutable subclass of AVComposition you use when you want to create a new composition from existing assets. You can add and remove tracks, and you can add, remove, and scale time ranges.

                                                                                                      作用是从现有的AVAsset中创建出一个新的AVComposition,使用者能够从别的asset中提取他们的音频轨道或视频轨道,并且把它们添加到新建的composition中。

                                                                                                      AVAssetExportSession

                                                                                                      An AVAssetExportSession object transcodes the contents of an AVAsset source object to create an output of the form described by a specified export preset.

                                                                                                      作用是把AVAsset解码输出到本地文件中。

                                                                                                      关键需要把原先的AVAsset(AVURLAsset)实现的数据提取出来后拼接成另一个AVAsset(AVComposition)的数据然后解码输出,由于通过网络url下载下来的视频没有保存视频的原始数据(苹果没有暴露接口给我们获取),下载后播放的avasset不能使用AVAssetExportSession输出到本地文件,要曲线地把下载下来的视频通过重构成另外一个AVAsset实例才能输出。

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      24
                                                                                                      25
                                                                                                      NSString *documentDirectory = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
                                                                                                      NSString *myPathDocument = [documentDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mp4",[_source.videoUrl MD5]]];
                                                                                                      NSURL *fileUrl = [NSURL fileURLWithPath:myPathDocument];
                                                                                                      if (asset != nil) {
                                                                                                      AVMutableComposition *mixComposition = [[AVMutableComposition alloc]init];
                                                                                                      AVMutableCompositionTrack *firstTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];
                                                                                                      [firstTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, asset.duration) ofTrack:[[asset tracksWithMediaType:AVMediaTypeVideo]objectAtIndex:0] atTime:kCMTimeZero error:nil];
                                                                                                      AVMutableCompositionTrack *audioTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];
                                                                                                      [audioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, asset.duration) ofTrack:[[asset tracksWithMediaType:AVMediaTypeAudio]objectAtIndex:0] atTime:kCMTimeZero error:nil];
                                                                                                      AVAssetExportSession *exporter = [[AVAssetExportSession alloc]initWithAsset:mixComposition presetName:AVAssetExportPresetHighestQuality];
                                                                                                      exporter.outputURL = fileUrl;
                                                                                                      if (exporter.supportedFileTypes) {
                                                                                                      exporter.outputFileType = [exporter.supportedFileTypes objectAtIndex:0] ;
                                                                                                      exporter.shouldOptimizeForNetworkUse = YES;
                                                                                                      [exporter exportAsynchronouslyWithCompletionHandler:^{
                                                                                                      }];
                                                                                                      }
                                                                                                      }

                                                                                                      四、AVPlayer+AVAssetResourceLoader

                                                                                                      AVAssetResourceLoadingRequest

                                                                                                      An AVAssetResourceLoader object mediates resource requests from an AVURLAsset object with a delegate object that you provide. When a request arrives, the resource loader asks your delegate if it is able to handle the request and reports the results back to the asset.
                                                                                                      AVAssetResourceLoader协调来自AVURLAsset的资源请求,你需要实现它的delegate。当收到一个请求时,ResourceLoader询问你的delegate是否能处理并将结果返回给asset

                                                                                                      AVPlayer和AVAssetResourceLoader的层次结构
                                                                                                      AVPlayer和AVAssetResourceLoader的层次结构

                                                                                                      AVAssetResourceLoader通过你提供的委托对象去调节AVURLAsset所需要的加载资源。而很重要的一点是,AVAssetResourceLoader仅在AVURLAsset不知道如何去加载这个URL资源时才会被调用,就是说你提供的委托对象在AVURLAsset不知道如何加载资源时才会得到调用。一般我们可以更改URL的scheme用来隐藏真实的URL。如:

                                                                                                      参考
                                                                                                      iOS开发系列–音频播放、录音、视频播放、拍照、视频录制
                                                                                                      AVplayer实现播放本地和网络视频(Swift3.0)
                                                                                                      iOS视频流开发(2)—视频播放
                                                                                                      iOS音频播放 (九):边播边缓存
                                                                                                      iOS音视频实现边下载边播放
                                                                                                      AVFoundation(二):核心AVAsset
                                                                                                      AVFoundation编程指南2-用AVPlayer播放视频
                                                                                                      AV Foundation系列(五)媒体组合

                                                                                                      ]]>
                                                                                                      + + + + + + <p>下面會介紹視頻的一些基本知識,和在iOS上實現視頻播放和緩存的幾種方案。</p> +<blockquote> +<ul> +<li><strong>软解码和硬解码</strong><br>GPU解码就是所谓的硬解码,CPU解码就是软解码。iOS提供的播放器类使用的是硬解码,所以视 + + + + + + + + + +
                                                                                                      + + + xcode常用快捷键及其他功能 + + http://codingdoge.cn/2017/07/23/title: xcode常用快捷键及其他功能/ + 2017-07-23T15:47:00.000Z + 2018-01-13T05:05:53.756Z + + 快捷键

                                                                                                      Command+R生成并运行程序
                                                                                                      Command+B只生成程序而不运行它
                                                                                                      Command+T新建选项卡

                                                                                                      标记


                                                                                                      // MARK: - \

                                                                                                      小功能


                                                                                                      Product>Clean删除生成的中间文件

                                                                                                      ]]>
                                                                                                      + + + + + + <h3 id="快捷键"><a href="#快捷键" class="headerlink" title="快捷键"></a>快捷键</h3><hr> +<p>Command+R生成并运行程序<br>Command+B只生成程序而不运行它<br>Command+T新建选项卡 </ + + + + + + + + + +
                                                                                                      + + + OC中ARC forbids explicit message send of '...'错误 + + http://codingdoge.cn/2017/07/23/title: OC中ARC forbids explicit message send of '...'错误 / + 2017-07-23T15:25:00.000Z + 2018-01-14T17:00:06.700Z + +

                                                                                                      转自CSDN hahahacff
                                                                                                      有所整理

                                                                                                      ARC forbids explicit message send of’retainCount’

                                                                                                      • 同’release’等等
                                                                                                        很显然,是ARC的问题。
                                                                                                        错误原因:在创建工程的时候点选了“Use Automatic Reference Counting”选项,但是又调用了对象的retainCount方法

                                                                                                      ARC是什么?

                                                                                                      ARC是iOS 5推出的新功能,全称叫ARC(AutomaticReferenceCounting)。
                                                                                                      简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机制在iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2可以使用该机制。简单地理解ARC,就是通过指定的语法,让编译器(LLVM3.0)在编译代码时,自动生成实例的引用计数管理部分代码。有一点,ARC并不是GC,它只是一种代码静态分析(StaticAnalyzer)工具。

                                                                                                      解决方法

                                                                                                      1. 选择要项目,双击中间的工程名称,进入build setting
                                                                                                      2. 将中间的Objective-C Automatic Reference Counting改为no
                                                                                                      ]]>
                                                                                                      + + + + + + <blockquote> +<p>转自<a href="http://blog.csdn.net/hahahacff/article/details/39859901" target="_blank" rel="noopener"><strong>CSDN hahahacff</s + + + + + + + + + + + + + +
                                                                                                      + + + 解决Arduino CH34x系列在macOS Sierra中找不到串口的问题 + + http://codingdoge.cn/2017/07/23/title: 解决Arduino CH34x系列在macOS Sierra中找不到串口的问题/ + 2017-07-23T15:06:00.000Z + 2018-01-12T14:23:28.810Z + +

                                                                                                      毕设做Arduino开发,一开始买了淘宝上慧净自己改的Arduino UNO国产板子,回来插在mac上读不出串口,安装了它附带的驱动还是读不出,同学买了原装板说一插上就能读出串口,都没自己装驱动,为了省麻烦,直接跟商家换了原装板,这时候麻烦来了,板子在我电脑上读不出串口,在别人电脑上能读出来,别人的在我电脑上也读不出来…很崩溃,然后从各个角度debug,下面一个个步骤来,基本能解决。

                                                                                                      1. 安装Arduino IDE
                                                                                                        上面是官网IDE下载的连接,大概是因为GFW的原因下载速度奇慢,大家也可以去搜Arduino中文社区,里面有好人做了*度网盘的下载种子,速度能快点。
                                                                                                        IDE一般自带驱动,如果在串口里没发现,可以试试在
                                                                                                        D7389412-ED23-427D-82E7-4E1C26114D67
                                                                                                        D7389412-ED23-427D-82E7-4E1C26114D67

                                                                                                      这个系统报告里看看USB下面能不能读出

                                                                                                      也可以在bash里输入

                                                                                                      1
                                                                                                      ls /dev/tty*

                                                                                                      如果有类似的即可

                                                                                                      2C66575E-D0DD-4DEA-9F34-8F2E1CF4DA90
                                                                                                      2C66575E-D0DD-4DEA-9F34-8F2E1CF4DA90

                                                                                                      1. 官方驱动下载
                                                                                                        如果都找不到的话可以去沁恒官方下载CH341SER驱动,安装后再查看一遍(安装驱动完会要求重启).

                                                                                                      2. 更改SIP设置

                                                                                                        Apple在10.11中全面启用了名为 System Integrity Protection (SIP) 的系统完整性保护技术. 受此影响, 未经签名的第三方kext及经过修改的原版kext将无法正常加载, 大部分系统文件即使在root用户下也无法直接进行修改.

                                                                                                      前面安装驱动不成功大部分是因为驱动文件冲突导致,所以在此之前先删除之前安装的驱动文件:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      sudo rm -rf /System/Library/Extensions/usb.kext
                                                                                                      sudo rm -rf /Library/Extensions/usbserial.kext
                                                                                                      sudo rm -rf _private_var_db_receipts/com.wch.*

                                                                                                      然后参考CH340 CH341 serial adapters fix for El Capitan OS X可以通过以下步骤修改SIP设置来安装第三方kext:

                                                                                                      1. 重启OS X 并且立即按住 Command+ R 来来进入恢复模式
                                                                                                      2. 在恢复模式中, 菜单栏上面找到终端(Terminal)并打开
                                                                                                      3. 在终端中键入命令csrutil enable —without kext
                                                                                                      4. 看到成功的提示信息之后, 输入reboot重启系统

                                                                                                        注: —without kext 中的 - 有两条
                                                                                                        Command 就是 ⌘ 图标

                                                                                                      通过以上的操作之后, 采用CH340/1 系列芯片的Arduino开发板又可以被识别出来了. 如果还是无法识别, 请重新安装一次CH341SER驱动.

                                                                                                      • 最后如果还不行(我的就是到这里还不行),请看看你的板子是否接触不良,反复摩擦尝试看能不能读出串口,我之前也试过这个办法,但是没有用,后面偶然也是必然下反应过来,反反复复插USB拔出查看串口状态,终于解决了(无良商家害人)

                                                                                                      参考:
                                                                                                      如何重置 Mac 上的 NVRAM

                                                                                                      ]]>
                                                                                                      + + + + + + <blockquote> +<p>毕设做Arduino开发,一开始买了淘宝上慧净自己改的Arduino UNO国产板子,回来插在mac上读不出串口,安装了它附带的驱动还是读不出,同学买了原装板说一插上就能读出串口,都没自己装驱动,为了省麻烦,直接跟商家换了原装板,这时候麻烦来了,板 + + + + + + + + + +
                                                                                                      + + + 《TCP/IP详解》笔记—第1章 概述 + + http://codingdoge.cn/2017/07/23/title: 《TCP-IP详解》笔记—第1章 概述/ + 2017-07-23T15:04:00.000Z + 2018-01-12T14:22:22.232Z + + 《TCP/IP详解》笔记—第1章 概述

                                                                                                      一个互连网就是一组通过相同协议族互连在一起的网络。

                                                                                                      分层

                                                                                                      TCP/IP通常被认为是一个四层协议系统:

                                                                                                      WX20170320-171317@2x
                                                                                                      WX20170320-171317@2x

                                                                                                      网络层和运输层之间的区别是最为关键的:网络层(IP)提供点到点的服务,而运输层(TCP和UDP)提供端到端的服务。

                                                                                                      在TCP/IP协议族中,网络层IP提供的是一种不可靠的服务。也就是说,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。而另一方面,TCP在不可靠的IP层上提供了一个可靠的运输层。为了提供这种可靠的服务,TCP采用了超时重传、发送和接收端到端的确认分组等机制。

                                                                                                      路由器为不同类型的物理网络提供连接。

                                                                                                      一个主机也可以有多个接口,但一般不称作路由器,除非它的功能只是单纯地把分组从一个接口传送到另一个接口。

                                                                                                      互联网的目的之一是在应用程序中隐藏所有的物理细节。

                                                                                                      连接网络的另一个途径是使用网桥。网桥是在链路层上对网络进行互连,而路由器则是在网络层上对网络进行互连。

                                                                                                      互联网的地址

                                                                                                      47F26D90-176D-4C0A-A315-6A9E199E79F6
                                                                                                      47F26D90-176D-4C0A-A315-6A9E199E79F6

                                                                                                      这些 32 位的地址通常写成四个十进制的数,其中每个整数对应一个字节。这种表示方法称作“点分十进制表示法(Dotted decimal notation)”。

                                                                                                      70807FBE-712D-4A5C-97F2-BBCA12C1F11D
                                                                                                      70807FBE-712D-4A5C-97F2-BBCA12C1F11D

                                                                                                      封装

                                                                                                      TCP传给IP的数据单元称作TCP报文段或简称为TCP段(TCP segment)。IP传给网络接口层的数据单元称作IP数据报(IP datagram)。通过以太网传输的比特流称作帧(Frame)。

                                                                                                      分用

                                                                                                      当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用(Demultiplexing)。

                                                                                                      客户-服务器模型

                                                                                                      大部分网络应用程序在编写时都假设一端是客户,另一端是服务器,其目的是为了让服务器为客户提供一些特定的服务。
                                                                                                      一般来说,TCP服务器是并发的,而UDP服务器是重复的。

                                                                                                      习题

                                                                                                      1. 请计算最多有多少个A类、B类和C类网络号。
                                                                                                      2. 用匿名FTP(见27.3节)从主机nic.merit.edu上获取文件nsfnet_statistics_history.netcount。该文件包含在NSFNET网络上登记的国内和国外的网络数。画一坐标系,横坐标代表年,纵坐标代表网络总数的对数值。纵坐标的最大值是习题1.1的结果。如果数据显示一个明显的趋势,请估计按照当前的编址体制推算,何时会用完所有的网络地址(3.10节讨论解决该难题的建议)。
                                                                                                      3. 获取一份主机需求RFC拷贝[Braden 1989a],阅读有关应用于TCP/IP协议族每一层的稳健性原则。这个原则的参考对象是什么?
                                                                                                      4. 获取一份最新的赋值RFC拷贝。“quote of the day”协议的有名端口号是什么?哪个RFC对该协议进行了定义?
                                                                                                      5. 如果你有一个接入TCP/IP互联网的主机帐号,它的主IP地址是多少?这台主机是否接入了Internet?它是多接口主机吗?
                                                                                                      6. 获取一份RFC 1000的拷贝,了解RFC这个术语从何而来。
                                                                                                      7. Internet协会联系,isoc@isoc.org或者+170 3648 9888,了解有关加入的情况。
                                                                                                      8. 用匿名FTP从主机is.internic.net处获取文件about-internic/information-about-the-internic。

                                                                                                      部分习题答案

                                                                                                      1. 答案是:27-2(126)+214-2(16 382)+221-2(2 097 150)=2 113 658。每一部分都减去2是因为全0或全1网络ID是非法的。
                                                                                                      2. 图D-1显示了直到1993年8月的有关数据。如果网络数继续呈指数增长的话,虚线估计了2000年可能达到的最大的网络数。
                                                                                                      3. “自由地接收,保守地发送。”

                                                                                                      资料来源于 即时通讯网,仅做学习参考

                                                                                                      ]]>
                                                                                                      + + + + + + <h1 id="《TCP-IP详解》笔记—第1章-概述"><a href="#《TCP-IP详解》笔记—第1章-概述" class="headerlink" title="《TCP/IP详解》笔记—第1章 概述"></a><a href="http://docs.52im.net + + + + + + + + + +
                                                                                                      + + + STL常见用法 — map + + http://codingdoge.cn/2017/07/21/title: STL常见用法 — map/ + 2017-07-21T05:10:00.000Z + 2018-01-14T17:04:04.187Z + + STL常见用法 —

                                                                                                      代码敲得少,STL总是用的不熟,便自己整理一些用法,有眼缘的顺手用着吧。


                                                                                                      简介

                                                                                                      maps是一个关联容器,用来存储key-value式的元素,提供一对一hash。内部的实现,自建一颗红黑树,这棵树具有对数据自动排序的功能。比如一个班级中,每个学生的学号和他的姓名就存在一对一映射的关系。

                                                                                                      • 第一个值是关键字(key),每个关键字只能在map中出现一次
                                                                                                      • 第二个值为关键字的值(value)

                                                                                                      用法

                                                                                                      头文件

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      #include <map>
                                                                                                      template<
                                                                                                      class Key,
                                                                                                      class T,
                                                                                                      class Compare = std::less<Key>,
                                                                                                      class Allocator = std::allocator<std::pair<const Key, T> >
                                                                                                      > class map;

                                                                                                      构造函数

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      namespace pmr {
                                                                                                      template <class Key, class T, class Compare = std::less<Key>>
                                                                                                      using map = std::map<Key, T, Compare,
                                                                                                      std::pmr::polymorphic_allocator<std::pair<const Key,T>>>
                                                                                                      }

                                                                                                      成员函数

                                                                                                      成员函数实现操作
                                                                                                      begin返回一个起始的迭代器
                                                                                                      end返回一个末尾的迭代器
                                                                                                      empty检查容器是否为空
                                                                                                      size返回容器内元素个数
                                                                                                      clear清除容器内容
                                                                                                      insert插入元素或节点
                                                                                                      erase删除元素
                                                                                                      swap交换内容
                                                                                                      count返回指定key的元素个数
                                                                                                      find通过key查找元素

                                                                                                      用法演示

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      #include <map>
                                                                                                      void mapTest()
                                                                                                      {
                                                                                                      std::map<int, int> m; // 构造函数
                                                                                                      m.insert(pair<int, int>(1, 10)); // 插入元素
                                                                                                      m.insert(pair<int, int>(2, 30));
                                                                                                      m.insert(pair<int, int>(4, 50));
                                                                                                      map<int, int>::iterator it; // 迭代器
                                                                                                      it = m.find(3); // 通过key查找元素
                                                                                                      if (it == m.end()) // 如果返回值为尾部迭代器则无此元素
                                                                                                      {
                                                                                                      cout << "Not find" << endl;
                                                                                                      m.insert(pair<int, int>(3, 20));
                                                                                                      }
                                                                                                      for (it = m.begin(); it != m.end(); it++) // 通过迭代器遍历map容器
                                                                                                      {
                                                                                                      cout << it->first << " " << it->second << endl; // 通过迭代器访问元素的key-value
                                                                                                      }
                                                                                                      }

                                                                                                      参考:
                                                                                                      C/C++ - Map (STL) 用法與心得完全攻略

                                                                                                      ]]>
                                                                                                      + + + + + + <h1 id="STL常见用法-—"><a href="#STL常见用法-—" class="headerlink" title="STL常见用法 —"></a>STL常见用法 —</h1><blockquote> +<p>代码敲得少,STL总是用的不熟,便自己整理一些用法,有眼缘 + + + + + + + + + +
                                                                                                      + + + STL常见用法 — vector + + http://codingdoge.cn/2017/07/21/title: STL常见用法 — vector/ + 2017-07-21T05:06:00.000Z + 2018-01-14T17:04:41.751Z + +

                                                                                                      代码敲得少,STL总是用的不熟,便自己整理一些用法,有眼缘的顺手用着吧。


                                                                                                      简介

                                                                                                      vector是线性容器,它的元素严格的按照线性序列排序,和动态数组很相似,和数组一样,它的元素存储在一块连续的存储空间中,这也意味着我们不仅可以使用迭代器(iterator)访问元素,还可以使用指针的偏移方式访问,和常规数组不一样的是,vector能够自动存储元素,可以自动增长或缩小存储空间。

                                                                                                      用法

                                                                                                      头文件

                                                                                                      1
                                                                                                      #include <vector>

                                                                                                      构造函数

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      // 1
                                                                                                      template<class T, class Allocator = std::allocator<T> > class vector;
                                                                                                      // 2
                                                                                                      namespace pmr {
                                                                                                      template <class T>
                                                                                                      using vector = std::vector<T, std::pmr::polymorphic_allocator<T>>;
                                                                                                      }
                                                                                                      1. std::vector is a sequence container that encapsulates dynamic size arrays.
                                                                                                      2. std::pmr::vector is an alias template that uses a polymorphic allocator

                                                                                                      成员函数

                                                                                                      成员函数实现操作
                                                                                                      c.assign(beg,end)将[beg; end)区间中的数据赋值给c
                                                                                                      c.assign(n,elem)将n个elem的拷贝赋值给c
                                                                                                      c.at(idx)传回索引idx所指的数据,如果idx越界,抛出out_of_range
                                                                                                      c.back()传回最后一个数据,不检查这个数据是否存在
                                                                                                      c.begin()传回迭代器重的可一个数据
                                                                                                      c.capacity()返回容器中数据个数
                                                                                                      c.clear()移除容器中所有数据
                                                                                                      c.empty()判断容器是否为空
                                                                                                      c.end()指向迭代器中的最后一个数据地址
                                                                                                      c.erase(pos)删除pos位置的数据,传回下一个数据的位置
                                                                                                      c.erase(beg,end)删除[beg,end)区间的数据,传回下一个数据的位置
                                                                                                      c.front()传回第一个数据
                                                                                                      get_allocator使用构造函数返回一个拷贝
                                                                                                      c.insert(pos,elem)在pos位置插入一个elem拷贝,传回新数据位置
                                                                                                      c.insert(pos,n,elem)在pos位置插入n个elem数据。无返回值
                                                                                                      c.insert(pos,beg,end)在pos位置插入在[beg,end)区间的数据。无返回值
                                                                                                      c.max_size()返回容器中最大数据的数量
                                                                                                      c.pop_back()删除最后一个数据
                                                                                                      c.push_back(elem)在尾部加入一个数据
                                                                                                      c.rbegin()传回一个逆向队列的第一个数据
                                                                                                      c.rend()传回一个逆向队列的最后一个数据的下一个位置
                                                                                                      c.resize(num)重新指定队列的长度
                                                                                                      c.reserve()保留适当的容量
                                                                                                      c.size()返回容器中实际数据的个数
                                                                                                      c1.swap(c2)将c1和c2元素互换
                                                                                                      swap(c1,c2)同上操作
                                                                                                      vector c创建一个空的vector
                                                                                                      vector c1(c2)复制一个vector
                                                                                                      vector c(n)创建一个vector,含有n个数据,数据均已缺省构造产生
                                                                                                      vector c(n, elem)创建一个含有n个elem拷贝的vector。
                                                                                                      vector c(beg,end)创建一个以[beg;end)区间的vector
                                                                                                      c.~ vector ()销毁所有数据,释放内存

                                                                                                      用法演示

                                                                                                      • 使用reverse将元素翻转:
                                                                                                        需要头文件#include<algorithm>
                                                                                                      1
                                                                                                      reverse(vec.begin(),vec.end());

                                                                                                      将元素翻转(在vector中,如果一个函数中需要两个迭代器,一般后一个都不包含)

                                                                                                      • 使用sort排序:
                                                                                                        需要头文件#include
                                                                                                        sort(vec.begin(),vec.end());(默认是按升序排列,即从小到大).
                                                                                                        可以通过重写排序比较函数按照降序比较,如下:

                                                                                                      定义排序比较函数:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      bool Comp(const int &a,const int &b)
                                                                                                      {
                                                                                                      return a>b;
                                                                                                      }

                                                                                                      调用时:sort(vec.begin(),vec.end(),Comp),这样就降序排序。

                                                                                                      ]]>
                                                                                                      + + + + + + <blockquote> +<p>代码敲得少,STL总是用的不熟,便自己整理一些用法,有眼缘的顺手用着吧。 </p> +</blockquote> +<hr> +<h2 id="简介"><a href="#简介" class="headerlink" title="简介"></a>简介< + + + + + + + + + +
                                                                                                      + + + 常用宏定义 + + http://codingdoge.cn/2017/07/17/title: 常用宏定义/ + 2017-07-17T06:08:00.000Z + 2018-01-13T05:07:28.710Z + + iOS开发高级:使用宏定义macros

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      24
                                                                                                      25
                                                                                                      26
                                                                                                      27
                                                                                                      28
                                                                                                      29
                                                                                                      30
                                                                                                      31
                                                                                                      32
                                                                                                      33
                                                                                                      34
                                                                                                      35
                                                                                                      36
                                                                                                      37
                                                                                                      38
                                                                                                      39
                                                                                                      40
                                                                                                      41
                                                                                                      42
                                                                                                      43
                                                                                                      44
                                                                                                      45
                                                                                                      //1. 打印日志
                                                                                                      #ifdef DEBUG
                                                                                                      # define DLog(...) NSLog(__VA_ARGS__)
                                                                                                      #else
                                                                                                      # define DLog(...)
                                                                                                      #endif
                                                                                                      //2. 获取屏幕 宽度、高度
                                                                                                      #define kScreenWidth ([UIScreen mainScreen].bounds.size.width)
                                                                                                      #define kScreenHeight ([UIScreen mainScreen].bounds.size.height)
                                                                                                      //3. 颜色
                                                                                                      #define RGB(r, g, b, a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]
                                                                                                      #define HEXCOLOR(c) [UIColor colorWithRed:((c>>16)&0xFF)/255.0f green:((c>>8)&0xFF)/255.0f blue:(c&0xFF)/255.0f alpha:1.0f]
                                                                                                      //背景色
                                                                                                      #define BACKGROUND_COLOR [UIColor colorWithRed:242.0/255.0 green:236.0/255.0 blue:231.0/255.0 alpha:1.0]
                                                                                                      //清除背景色
                                                                                                      #define CLEARCOLOR [UIColor clearColor]
                                                                                                      //4.加载图片宏:
                                                                                                      #define LOADIMAGE(file,type) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle]pathForResource:file ofType:type]]
                                                                                                      //5. NavBar高度
                                                                                                      #define NavigationBar_HEIGHT 44
                                                                                                      //6. 获取系统版本
                                                                                                      #define IOS_VERSION [[[UIDevice currentDevice] systemVersion] floatValue]
                                                                                                      #define CurrentSystemVersion [[UIDevice currentDevice] systemVersion]
                                                                                                      //7. 判断是真机还是模拟器
                                                                                                      #if TARGET_OS_IPHONE
                                                                                                      //iPhone Device
                                                                                                      #endif
                                                                                                      #if TARGET_IPHONE_SIMULATOR
                                                                                                      //iPhone Simulator
                                                                                                      #endif
                                                                                                      //8. 设置View的tag属性
                                                                                                      #define VIEWWITHTAG(_OBJECT, _TAG) [_OBJECT viewWithTag : _TAG]
                                                                                                      //9. GCD
                                                                                                      #define BACK(block) dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), block)
                                                                                                      #define MAIN(block) dispatch_async(dispatch_get_main_queue(),block)
                                                                                                      //10. NSUserDefaults 实例化
                                                                                                      #define USER_DEFAULT [NSUserDefaults standardUserDefaults]
                                                                                                      ]]>
                                                                                                      + + + + + + <p><a href="http://blog.csdn.net/songrotek/article/details/8929963" target="_blank" rel="noopener">iOS开发高级:使用宏定义macros</a></p> +<figure class + + + + + + + + + +
                                                                                                      + + + STL常见用法 — queue + + http://codingdoge.cn/2017/07/17/title: STL常见用法 — queue/ + 2017-07-17T03:19:00.000Z + 2018-01-14T17:04:46.168Z + +

                                                                                                      代码敲得少,STL总是用的不熟,便自己整理一些用法,有眼缘的顺手用着吧。


                                                                                                      简介

                                                                                                      队列(queue)是一种特殊的线性表,是一种先进先出(First In First Out)的数据结构,允许在队列末尾插入元素,队列头取出元素,在STL中是用list或者deque实现,封闭头部即可。

                                                                                                      用法

                                                                                                      头文件

                                                                                                      1
                                                                                                      #include <queue>

                                                                                                      构造函数

                                                                                                      1
                                                                                                      template <class T, class Container = deque<T> > class queue;

                                                                                                      队列适配器默认用deque容器实现,也可以指定使用list容器来实现

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      queue <Elem> q;// 创建一个空的queue,默认使用deque容器
                                                                                                      queue <Elem, list<Elem> > q;// 使用list容器
                                                                                                      queue <Elem> q1(q2);// 复制q2

                                                                                                      成员函数

                                                                                                      成员函数实现操作
                                                                                                      Elem& back()返回队列最后一个元素
                                                                                                      bool empty()const如果队列为空,返回true,否则返回false
                                                                                                      Elem& front()返回队列第一个元素
                                                                                                      void pop()移除队列中的第一个元素
                                                                                                      void push(const Elem& e)在队列末尾插入元素e
                                                                                                      size_type size()const返回队列中的元素数目

                                                                                                      用法演示

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      #include <stdio.h>
                                                                                                      #include <queue>
                                                                                                      using namespace std;
                                                                                                      int main()
                                                                                                      {
                                                                                                      int n, m, size;
                                                                                                      queue <int> q;//定义队列q
                                                                                                      q.push(1);
                                                                                                      q.push(2);//将1 、2压入队列
                                                                                                      while (!q.empty())//判断队列是否为空
                                                                                                      {
                                                                                                      n = q.front();//返回队列头部数据
                                                                                                      m = q.back();//返回队列尾部数据
                                                                                                      size = q.size();//返回队列里的数据个数
                                                                                                      q.pop();//队列头部数据出队
                                                                                                      printf("%d %d %d\n", n, m, size);
                                                                                                      }
                                                                                                      return 0;
                                                                                                      }
                                                                                                      ]]>
                                                                                                      + + + + + + <blockquote> +<p>代码敲得少,STL总是用的不熟,便自己整理一些用法,有眼缘的顺手用着吧。 </p> +</blockquote> +<hr> +<h2 id="简介"><a href="#简介" class="headerlink" title="简介"></a>简介< + + + + + + + + + +
                                                                                                      + + + 插件管理——Vundle + + http://codingdoge.cn/2017/07/17/title: 插件管理——Vundle/ + 2017-07-17T03:18:00.000Z + 2018-01-14T17:19:40.848Z + +

                                                                                                      都说Vim是程序员写给自己的编辑器,其中的情结可想而知。

                                                                                                      vim因为其庞大而强劲的插件受到无比的推崇,而插件的查找和管理便成了一个问题。

                                                                                                      Vundle便是一个Github上为了解决这个问题的项目(致敬贡献者们),使用步骤如下:

                                                                                                      安装Vundle,在终端输入以下代码即可

                                                                                                      git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

                                                                                                      • ~/.vim 来自哪?
                                                                                                        macVim配置文件.vimrc/usr/share/vim/下,一般是没有权限更改的,但是这个.vimrc是全局配置文件,我们只要更改用户配置文件即可
                                                                                                      • 怎么查看/usr/?
                                                                                                        1. 显示隐藏文件,自行百度,终端中敲入代码即可。
                                                                                                        2. Finder下或者桌面上的Go,文件夹输入/usr/
                                                                                                          mac下的Vim用户配置文件默认是没有的,需要我们自行创建
                                                                                                          终端下输入
                                                                                                          1
                                                                                                          2
                                                                                                          3
                                                                                                          > mkdir ~/.vim
                                                                                                          > touch ~/.vimrc
                                                                                                          >

                                                                                                      ~/即为用户根目录。

                                                                                                      Vim Script选好插件

                                                                                                      .vimrc文件中加一句Bundle plugin_name
                                                                                                      .vimrc示例:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      set nocompatible " be iMproved
                                                                                                      filetype off " required!
                                                                                                      set rtp+=~/.vim/bundle/vundle/
                                                                                                      call vundle#rc()
                                                                                                      " let Vundle manage Vundle
                                                                                                      " required!
                                                                                                      Bundle 'gmarik/vundle'
                                                                                                      " vim-scripts repos
                                                                                                      Bundle 'vim-plugin-foo'
                                                                                                      Bundle 'vim-plugin-bar'
                                                                                                      filetype plugin indent on " required!

                                                                                                      执行Vundle安装命令

                                                                                                      1
                                                                                                      :BundleInstall

                                                                                                      Vundle的其它命令

                                                                                                      :BundleList列举出列表中(.vimrc中)配置的所有插件
                                                                                                      :BundleInstall安装列表中全部插件
                                                                                                      :BundleInstall!更新列表中全部插件
                                                                                                      :BundleSearch foo查找foo插件
                                                                                                      :BundleSearch! foo刷新foo插件缓存
                                                                                                      :BundleClean清除列表中没有的插件
                                                                                                      :BundleClean!清除列表中没有的插件

                                                                                                      参考
                                                                                                      Git时代的VIM不完全使用教程
                                                                                                      使用Vundle来管理vim的插件
                                                                                                      zhongcq 的VIM配置

                                                                                                      ]]>
                                                                                                      + + + + + + <blockquote> +<p>都说Vim是程序员写给自己的编辑器,其中的情结可想而知。</p> +</blockquote> +<p>vim因为其庞大而强劲的插件受到无比的推崇,而插件的查找和管理便成了一个问题。</p> +<p><a href="https://github.com + + + + + + + + + +
                                                                                                      + + + 漫谈iOS系列之:内存管理 + + http://codingdoge.cn/2017/07/17/title: 漫谈iOS系列之:内存管理/ + 2017-07-17T03:18:00.000Z + 2018-01-14T14:05:07.599Z + + 引用计数

                                                                                                      推荐一篇来自@杨萧玉的引用计数原理Blog


                                                                                                      • 简介
                                                                                                        iOS中对内存管理的机制(堆内存),每一个对象都有一个与之关联的引用计数(Reference Counting)。当一个对象“被拥有”的时候引用计数+1,当一个对象引用计数为零时该对象被释放。
                                                                                                      • 比拟
                                                                                                        比如上班,最早进入办公室的人需要开灯,之后进入办公室的人需要照明, 下班离开办公室的人不需要照明,最后离开办公室的人需要关灯。
                                                                                                        这样对应的引用计数就是:第一个人进入办公室开灯,引用计数是1。之后进入办公室需要照明引用计数是2。下班一个人离开办公室引用计数变成了1,最后一个离开了办公室,引用计数变成了0 。
                                                                                                      • 引用计数如何储存
                                                                                                        1. TaggedPointer
                                                                                                          一篇极好的文章
                                                                                                          总体来说,我的理解是如果一个对象使用了Tagged Pointer技术(比如NSStringNSNumber等),指针里面会直接存数据内容,不会再作为“指针”指向其它地址,从Runtime来理解就是不会使用isa指针,也就不会继承苹果的内存管理方式(Reference Counting)。
                                                                                                          判断当前对象是否在使用 TaggedPointer 是看标志位是否为1:
                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      #if SUPPORT_MSB_TAGGED_POINTERS
                                                                                                      # define TAG_MASK (1ULL<<63)
                                                                                                      #else
                                                                                                      # define TAG_MASK 1
                                                                                                      inline bool
                                                                                                      objc_object::isTaggedPointer()
                                                                                                      {
                                                                                                      #if SUPPORT_TAGGED_POINTERS
                                                                                                      return ((uintptr_t)this & TAG_MASK);
                                                                                                      #else
                                                                                                      return false;
                                                                                                      #endif
                                                                                                      }
                                                                                                      1. isa 指针
                                                                                                        指针的内存空间很大,有时候可以优化指针,在指针中存储一部分内容。下面列出不同架构下的64位环境中isa指针结构:
                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      24
                                                                                                      25
                                                                                                      26
                                                                                                      27
                                                                                                      28
                                                                                                      29
                                                                                                      30
                                                                                                      31
                                                                                                      32
                                                                                                      33
                                                                                                      34
                                                                                                      35
                                                                                                      36
                                                                                                      37
                                                                                                      38
                                                                                                      39
                                                                                                      40
                                                                                                      41
                                                                                                      42
                                                                                                      43
                                                                                                      44
                                                                                                      45
                                                                                                      46
                                                                                                      47
                                                                                                      48
                                                                                                      49
                                                                                                      50
                                                                                                      51
                                                                                                      52
                                                                                                      53
                                                                                                      union isa_t
                                                                                                      {
                                                                                                      isa_t() { }
                                                                                                      isa_t(uintptr_t value) : bits(value) { }
                                                                                                      Class cls;
                                                                                                      uintptr_t bits;
                                                                                                      #if SUPPORT_NONPOINTER_ISA
                                                                                                      # if __arm64__
                                                                                                      # define ISA_MASK 0x00000001fffffff8ULL
                                                                                                      # define ISA_MAGIC_MASK 0x000003fe00000001ULL
                                                                                                      # define ISA_MAGIC_VALUE 0x000001a400000001ULL
                                                                                                      struct {
                                                                                                      uintptr_t indexed : 1;
                                                                                                      uintptr_t has_assoc : 1;
                                                                                                      uintptr_t has_cxx_dtor : 1;
                                                                                                      uintptr_t shiftcls : 30; // MACH_VM_MAX_ADDRESS 0x1a0000000
                                                                                                      uintptr_t magic : 9;
                                                                                                      uintptr_t weakly_referenced : 1;
                                                                                                      uintptr_t deallocating : 1;
                                                                                                      uintptr_t has_sidetable_rc : 1;
                                                                                                      uintptr_t extra_rc : 19;
                                                                                                      # define RC_ONE (1ULL<<45)
                                                                                                      # define RC_HALF (1ULL<<18)
                                                                                                      };
                                                                                                      # elif __x86_64__
                                                                                                      # define ISA_MASK 0x00007ffffffffff8ULL
                                                                                                      # define ISA_MAGIC_MASK 0x0000000000000001ULL
                                                                                                      # define ISA_MAGIC_VALUE 0x0000000000000001ULL
                                                                                                      struct {
                                                                                                      uintptr_t indexed : 1;
                                                                                                      uintptr_t has_assoc : 1;
                                                                                                      uintptr_t has_cxx_dtor : 1;
                                                                                                      uintptr_t shiftcls : 44; // MACH_VM_MAX_ADDRESS 0x7fffffe00000
                                                                                                      uintptr_t weakly_referenced : 1;
                                                                                                      uintptr_t deallocating : 1;
                                                                                                      uintptr_t has_sidetable_rc : 1;
                                                                                                      uintptr_t extra_rc : 14;
                                                                                                      # define RC_ONE (1ULL<<50)
                                                                                                      # define RC_HALF (1ULL<<13)
                                                                                                      };
                                                                                                      # else
                                                                                                      // Available bits in isa field are architecture-specific.
                                                                                                      # error unknown architecture
                                                                                                      # endif
                                                                                                      // SUPPORT_NONPOINTER_ISA
                                                                                                      #endif
                                                                                                      };

                                                                                                      只有arm64架构的设备支持优化,下面列出了isa指针中变量对应的含义:

                                                                                                      变量名含义
                                                                                                      indexed0 表示普通的isa指针,1 表示使用优化,存储引用计数
                                                                                                      has_assoc表示该对象是否包含 associated object,如果没有,则析构时会更快
                                                                                                      has_cxx_dtor表示该对象是否有 C++ 或 ARC 的析构函数,如果没有,则析构时更快
                                                                                                      shiftcls类的指针
                                                                                                      magic固定值为 0xd2,用于在调试时分辨对象是否未完成初始化
                                                                                                      weakly_referenced表示该对象是否有过weak对象,如果没有,则析构时更快
                                                                                                      deallocating表示该对象是否正在析构
                                                                                                      has_sidetable_rc表示该对象的引用计数值是否过大无法存储在isa指针
                                                                                                      extra_rc存储引用计数值减一后的结果
                                                                                                      1. 散列表
                                                                                                        散列表来存储引用计数具体是用DenseMap类来实现,实现中有锁保证其安全性。
                                                                                                      • 获取引用计数
                                                                                                        在MRC环境下可以使用retainCount方法获取某个对象的引用计数。
                                                                                                        在ARC环境下可以使用Core Foundation 库的CFGetRetainCount((__bridge CFTypeRef)(obj))方法和Runtime的_objc_rootRetainCount()方法来获取引用计数,也可以使用KVC技术来获取valueForKey:@"retainCount"。注意以上方法不是线程安全的。
                                                                                                      • 注意
                                                                                                        NSString 定义的对象是保存在字符串常量区,没有用引用计数管理内存,如果输出其retainCount,为-1。

                                                                                                        retainCount
                                                                                                        retainCount
                                                                                                        注意其中的Do not use this method

                                                                                                      MRC(Manual Reference Counting)


                                                                                                      MRC从字面上理解就是手动管理引用计数,也就是手动管理内存。相关的内存管理方法有retainreleaseautorelease,其中retain方法是对引用计数+1,相应的release是对引用计数-1,autorelease是将对象加入自动释放池,下文会讲到。

                                                                                                      • 示例代码

                                                                                                        1
                                                                                                        2
                                                                                                        3
                                                                                                        4
                                                                                                        5
                                                                                                        6
                                                                                                        7
                                                                                                        // 以预定Person类为例
                                                                                                        Person* person = [[Person alloc] init]; // 申请对象,此时引用计数=1
                                                                                                        [person retain]; //此时引用记数+1,现为2
                                                                                                        [person release]; //引用计数-1,此时引用计数=1
                                                                                                        [person release]; //引用计数-1,此时引用计数=0,内存被释放
                                                                                                        [person autorelease]; // 将对象加入自动释放池
                                                                                                        Person *person = [[[Person alloc] init] autorelease]; // 也可以在创建对象时将其加入自动释放池

                                                                                                      按道理来说创建一个对象,然后release后该对象引用计数为零,但是实际情况中并不会出现这种现象,release后再输出其引用计数还是为1,在我的理解中有两种可能:

                                                                                                      1. 该对象在引用计数为1的时候进行release后,对象已经被释放,此时再调用retainCount毫无意义,因为该对象已经不存在了,为了防止某些错误保护这个retainCount方法所以编译器不会报错,但是输出值为释放前的值;
                                                                                                      2. 编译器为我们做了各种优化,也许是记录retainCount为零消耗过大或者没有意义。
                                                                                                        重写了`dealloc`方便查看对象是否被释放
                                                                                                        重写了`dealloc`方便查看对象是否被释放
                                                                                                        输出其`retainCount`然后释放
                                                                                                        输出其`retainCount`然后释放
                                                                                                        可以看到并不会出现引用计数为零的情况,但是该对象确实被释放了
                                                                                                        可以看到并不会出现引用计数为零的情况,但是该对象确实被释放了

                                                                                                      小知识:
                                                                                                      指针错误:访问了一块坏的内存(已经被回收的,不可用的内存)。
                                                                                                      僵尸对象:所占内存已经被回收的对象,僵尸对象不能再被使用。(打开僵尸对象检测)
                                                                                                      空指针:没有指向任何东西的指针(存储的东西是0, null, nil),给空指针发送消息不会报错。
                                                                                                      注意:不能使用[p retaion]让僵尸对象起死复生。

                                                                                                      在MRC管理时代有一个黄金法则:

                                                                                                      1. 谁创建谁负责。如果你通过alloc,new,copy来创建了一个对象,那么你就必须调用release或者autorelease方法;
                                                                                                      2. 谁retain,谁release。只要你调用了retain,无论这个对象时如何生成的,你都要调用release;

                                                                                                      ARC


                                                                                                      原理

                                                                                                      前段编译器会为“拥有的”每一个对象加入相应的release语句,如果对象的所有权修饰符是__strong,那么它就是被拥有的。如果再某个方法内创建了一个对象,前端编译器会在方法末尾自动插入release语句已销毁它。而类拥有的对象(实例变量/属性)会在dealloc方法内被释放。

                                                                                                      编译器所为
                                                                                                      编译器所为

                                                                                                      编译器为我们做的,我们可以手动完成达到优化

                                                                                                      比如:
                                                                                                      __autoreleasing在ARC中主要用在参数传递返回值(out-parameters)和引用传递参数(pass-by-reference)的情况下,有这种指针(NSError **)的函数参数如果不加修饰符,编译器会默认将他们认定为__autoreleasing类型。
                                                                                                      比如常用的NSError的使用:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      NSError *__autoreleasing error;
                                                                                                      if (![data writeToFile:filename options:NSDataWritingAtomic error:&error])
                                                                                                      {
                                                                                                      NSLog(@"Error: %@", error);
                                                                                                      }

                                                                                                      如果你把error定义为了strong型,编译器会隐式地做如下事情,保证最终传入函数的参数依然是个__autoreleasing类型的引用。

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      NSError *error;
                                                                                                      NSError *__autoreleasing tempError = error; // 编译器添加
                                                                                                      if (![data writeToFile:filename options:NSDataWritingAtomic error:&tempError])
                                                                                                      {
                                                                                                      error = tempError; // 编译器添加
                                                                                                      NSLog(@"Error :%@", error);
                                                                                                      }

                                                                                                      所以为了提高效率,避免这种情况,我们一般在定义error的时候将其老老实实地声明为__autoreleasing类型。

                                                                                                      循环引用


                                                                                                      平常我们容易造成循环引用的三种情况:

                                                                                                      1. NSTimer
                                                                                                        先看NSTimer使用的代码:
                                                                                                      1
                                                                                                      _timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(runTimer) userInfo:nil repeats:YES];

                                                                                                      其中_timer是实例变量被self保留,_timer的target是selfself_timer保留,引发循环引用。

                                                                                                      循环引用
                                                                                                      循环引用

                                                                                                      解除方法就是使target中的对象不是viewController从而断开引用,iOS10之前我们可以写个类别重新封装target来实现,iOS10之后系统给了新方法:

                                                                                                      1
                                                                                                      + (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)interval repeats:(BOOL)repeats block:(void (^)(NSTimer *timer))block;
                                                                                                      • 不再需要target,而是传入一个block,在block里面进行循环调用方法
                                                                                                      • 关于block怎么解决循环引用请看下面
                                                                                                      1. block

                                                                                                        简介
                                                                                                        block和其他语言的闭包或lambda表达式是一回事,block的使用很像函数指针,不过与函数最大的不同是:block可以访问函数以外、词法作用域以内的外部变量的值。换句话说,block不仅实现函数的功能,还能携带函数的执行环境。

                                                                                                      block基本语法

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      // 声明一个block变量
                                                                                                      long (^sum) (int, int) = nil;
                                                                                                      // sum是个block变量,该block类型有两个int型参数,返回类型是long。
                                                                                                      // 定义block并赋给变量sum
                                                                                                      sum = ^ long (int a, int b) {
                                                                                                      return a + b;
                                                                                                      };
                                                                                                      // 调用block:
                                                                                                      long s = sum(1, 2);

                                                                                                      定义一个实例函数,该函数返回block:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      - (long (^)(int, int)) sumBlock {
                                                                                                      int base = 100;
                                                                                                      return [[ ^ long (int a, int b) {
                                                                                                      return base + a + b;
                                                                                                      } copy] autorelease];
                                                                                                      }
                                                                                                      // 调用block
                                                                                                      [self sumBlock](1,2);

                                                                                                      根据在内存中的位置将block分为三种类型:

                                                                                                      * `NSGlobalBlock`: 类似函数,位于text段;* `NSStackBlock`: 位于栈内存,函数返回后block将无效;* `NSMallocBlock`: 位于堆内存。

                                                                                                      block其实包含两个部分内容:

                                                                                                      1. block执行的代码,这是在编译的时候已经生成好的;
                                                                                                      2. 一个包含block执行时需要的所有外部变量值的数据结构。 block将使用到的、作用域附近到的变量的值建立一份快照拷贝到栈上。
                                                                                                        block的数据结构
                                                                                                        block的数据结构

                                                                                                      对于 block 外的变量引用,block 默认是将其复制到其数据结构中来实现访问的:

                                                                                                      传入外部变量
                                                                                                      传入外部变量

                                                                                                      对于用 __block 修饰的外部变量引用,block 是复制其引用地址来实现访问的:
                                                                                                      用__block修饰
                                                                                                      用__block修饰

                                                                                                      初步了解了block后看看它怎么构成循环引用并怎么解决的吧

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      typedef void(^block)();
                                                                                                      @property (copy, nonatomic) block myBlock;
                                                                                                      @property (copy, nonatomic) NSString *blockString;
                                                                                                      - (void)testBlock {
                                                                                                      self.myBlock = ^() {
                                                                                                      //其实注释中的代码,同样会造成循环引用
                                                                                                      NSString *localString = self.blockString;
                                                                                                      //NSString *localString = _blockString;
                                                                                                      //[self doSomething];
                                                                                                      };
                                                                                                      }

                                                                                                      看了前面关于block的一些介绍应该容易看出来,当我们往block中传入数据时是保存在了block的堆中,如上述代码中引用了self相当于对self进行了一次retain,而self本身持有block于是造成了循环引用,同时在block中release``self没有用,因为在block中操作作用范围仅仅来block的函数栈,影响不到堆中的self,解决方法如下:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      __weak typeof(self) weakSelf = self;
                                                                                                      self.myBlock = ^(){
                                                                                                      __strong typeof(weakSelf) = strongSelf;
                                                                                                      NSString *localString = strongSelf;
                                                                                                      }

                                                                                                      其中传入一个若引用就不会造成循环引用,然后在block的函数栈中用一个强指针来接受传进来的弱指针,防止弱指针被提前释放产生野指针。

                                                                                                      参考文章:
                                                                                                      Cooper – 正确使用Block避免Cycle Retain和Crash
                                                                                                      唐巧 – 谈Objective-C block的实现
                                                                                                      Dev Talking – Objective-C中的Block

                                                                                                      1. delegate
                                                                                                        我们对代理的写法一般都是:
                                                                                                        1
                                                                                                        @property (nonatomic, weak) id<TestDelegate> delegate;

                                                                                                      如果使用strong的话很明显会造成循环引用(delegate调用self的一些东西),今天被面试官问道如果使用delegate出现了循环引用怎么解决,我说用weak,他说换一个,然后就懵住了,只回答了思路,找到互相引用的对象(可以用Instruments)然后断开引用。

                                                                                                      Autorelease

                                                                                                      • 简介
                                                                                                        很好理解,字面意思上看就是自动释放,我们可以通过使用autorelease让编译器帮我们在某个时刻自动释放内存。在MRC时我们使用NSAutorelease类来使用自动释放机制,代码如下:
                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      NSAutoreleasePool pool = [[NSAutoreleasePool alloc] init];
                                                                                                      // Code benefitting from a local autorelease pool.
                                                                                                      [pool release];

                                                                                                      也可以直接使用[obj autorelease]
                                                                                                      现在基本上都是ARC环境,这个时候我们使用的是autoreleasepool(自动释放池),比如常见的:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      //iOS program
                                                                                                      int main(int argc, char * argv[]) {
                                                                                                      @autoreleasepool {
                                                                                                      return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
                                                                                                      }
                                                                                                      }
                                                                                                      //Command line program
                                                                                                      int main(int argc, const char *argv[]) {
                                                                                                      @autoreleasepool {
                                                                                                      //...
                                                                                                      }
                                                                                                      return 0;
                                                                                                      }

                                                                                                      它的作用是把我们在{}中申请的对象在事件处理完时自动释放掉,其中的原理推荐阅读Qi TangiOS 中的 Autorelease Pool
                                                                                                      前面说到的事件处理完时其实就是一次runloop结束时。

                                                                                                      runloop和autorelease
                                                                                                      runloop和autorelease

                                                                                                      程序运行 -> 开启事件循环 -> 发生触摸事件 -> 创建自动释放池 -> 处理触摸事件 -> 事件对象加入自动释放池 -> 一次事件循环结束, 销毁自动释放池

                                                                                                      • 什么时候用@autoreleasepool

                                                                                                        1. 写基于命令行的的程序时,就是没有UI框架,如AppKit等Cocoa框架时。
                                                                                                        • 写循环,循环里面包含了大量临时创建的对象。(本文的例子)
                                                                                                        • 创建了新的线程。(非Cocoa程序创建线程时才需要)
                                                                                                        • 长时间在后台运行的任务。
                                                                                                      • 利用@autoreleasepool优化循环
                                                                                                        当我们一个循环内创建了很多临时对象时,可以通过使用@autoreleasepool在每次循环结束时释放内存:

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      //来自Apple文档,见参考
                                                                                                      NSArray *urls = <# An array of file URLs #>;
                                                                                                      for (NSURL *url in urls) {
                                                                                                      @autoreleasepool {
                                                                                                      NSError *error;
                                                                                                      NSString *fileContents = [NSString stringWithContentsOfURL:url
                                                                                                      encoding:NSUTF8StringEncoding error:&error];
                                                                                                      /* Process the string, creating and autoreleasing more objects. */
                                                                                                      }
                                                                                                      }

                                                                                                      参考文章:
                                                                                                      sunnyxx —— 黑幕背后的Autorelease
                                                                                                      Jerry4me —— iOS中autorelease的那些事儿
                                                                                                      tutuge —— @autoreleasepool-内存的分配与释放

                                                                                                      修饰词

                                                                                                      ]]>
                                                                                                      + + + + + + <h2 id="引用计数"><a href="#引用计数" class="headerlink" title="引用计数"></a>引用计数</h2><p><a href="http://yulingtianxia.com/blog/2015/12/06/The-Principl + + + + + + + + + + + +
                                                                                                      + + + 漫谈iOS系列之:多线程 + + http://codingdoge.cn/2017/07/17/title: 漫谈iOS系列之:多线程/ + 2017-07-17T03:17:00.000Z + 2018-01-13T05:08:06.362Z + +

                                                                                                      线程基本概念

                                                                                                      线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
                                                                                                      同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器环境(register context),自己的线程本地存储(thread-local storage)。
                                                                                                      线程的状态

                                                                                                      • 新生态(New Thread)
                                                                                                      • 可运行态(Runnable)
                                                                                                      • 阻塞/非运行态(Not Runnable)
                                                                                                      • 死亡态(Dead)

                                                                                                      死锁
                                                                                                      是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。

                                                                                                      死锁条件

                                                                                                      1. 互斥条件:所谓互斥就是进程在某一时间内独占资源。
                                                                                                      2. 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
                                                                                                      3. 不剥夺条件:进程已获得资源,在末使用完之前,不能强行剥夺。
                                                                                                      4. 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。

                                                                                                      创建线程的开销

                                                                                                      多线程的代价及上下文切换

                                                                                                      pThread

                                                                                                      POSIX线程(POSIX Threads,常被缩写为Pthreads)是POSIX的线程标准,跨平台,适用于多种操作系统(类Unix操作系统中,都使用Pthreads作为操作系统的线程,Windows操作系统也有其移植版pthreads-win32),可移植性强,是一套纯C语言的通用API,且线程的生命周期需要程序员自己管理,使用难度较大,所以在实际开发中通常不使用。
                                                                                                      Pthreads API中大致共有100个函数调用,全都以”pthread_”开头,并可以分为四类:

                                                                                                      • 线程管理,例如创建线程,等待(join)线程,查询线程状态等。
                                                                                                      • 互斥锁(Mutex):创建、摧毁、锁定、解锁、设置属性等操作。
                                                                                                      • 条件变量(Condition Variable):创建、摧毁、等待、通知、设置与查询属性等操作。
                                                                                                      • 使用了互斥锁的线程间的同步管理。

                                                                                                      pThread在实际开发中基本不使用,所以大概了解下就好了。

                                                                                                      NSThread

                                                                                                      GCD

                                                                                                      dispatch_barrier_async&dispatch_barrier_sync

                                                                                                      在队列中,barrier块必须单独执行,不能与其他block并行。这只对并发队列有意义,并发队列如果发现接下来要执行的block是个barrier block,那么就一直要等到当前所有并发的block都执行完毕,才会单独执行这个barrier block代码块,等到这个barrier block执行完毕,再继续正常处理其他并发block

                                                                                                      async, sync两者区别在于async将自己的任务插入队列后, 不用等待自己的任务结束, 继续把后面的任务插入队列, 然后等待自己的任务运行结束才执行后面的任务, sync将自己的任务插入队列后,需要等待自己的任务运行结束才能将后面的任务插入队列。

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      24
                                                                                                      25
                                                                                                      26
                                                                                                      27
                                                                                                      28
                                                                                                      29
                                                                                                      30
                                                                                                      31
                                                                                                      32
                                                                                                      33
                                                                                                      34
                                                                                                      35
                                                                                                      36
                                                                                                      37
                                                                                                      #import <Foundation/Foundation.h>
                                                                                                      @interface Person : NSObject
                                                                                                      @property (nonatomic, copy) NSString *name;
                                                                                                      @end
                                                                                                      #import "Person.h"
                                                                                                      @interface Person ()
                                                                                                      @end
                                                                                                      static NSString *_name;
                                                                                                      static dispatch_queue_t _concurrentQueue;
                                                                                                      @implementation Person
                                                                                                      - (instancetype)init
                                                                                                      {
                                                                                                      if (self = [super init]) {
                                                                                                      _concurrentQueue = dispatch_queue_create("com.person.syncQueue", DISPATCH_QUEUE_CONCURRENT);
                                                                                                      }
                                                                                                      return self;
                                                                                                      }
                                                                                                      - (void)setName:(NSString *)name
                                                                                                      {
                                                                                                      dispatch_barrier_async(_concurrentQueue, ^{
                                                                                                      _name = [name copy];
                                                                                                      });
                                                                                                      }
                                                                                                      - (NSString *)name
                                                                                                      {
                                                                                                      __block NSString *tempName;
                                                                                                      dispatch_sync(_concurrentQueue, ^{
                                                                                                      tempName = _name;
                                                                                                      });
                                                                                                      return tempName;
                                                                                                      }
                                                                                                      @end

                                                                                                      NSOperation

                                                                                                      NSOperation默认是非并发的,当你调用-[NSOperation start]方法时,该方法会等任务结束才会返回;
                                                                                                      并发的NSOperation是指,当你调用-[NSOperation start]后,NSOperation会在非当前线程(建立一个NSThread,或是dispatch async等)执行任务,并在任务结束之前就返回;

                                                                                                      需要注意的是,并发行为都需要你自己实现,若要实现并发,你需要做很多额外的工作:

                                                                                                      1. 你需要创建一个subclass
                                                                                                      2. 除了重载main方法,实现并发你还需要至少重载;start,isConcurrent,isExecuting,isFinished四个方法;
                                                                                                      3. start里,创建Thread或者调用一个异步函数;
                                                                                                      4. 更新isExecuting,并且发送相应KVO消息;
                                                                                                      5. 任务结束后,你还得更新isExecutingisFinished,发送相应KVO消息。
                                                                                                        实现一个并发的NSOperation比较少见,具体如何实现,可以读读文档: NSOperation Class Reference

                                                                                                      大多数情况下NSOperation都设计成非并发,这样实现起来会简单很多;
                                                                                                      并且,一般会配合NSOperationQueue使用,由NSOperationQueue来负责执行NSOperation,而非直接调用-[NSOperation start]

                                                                                                      若有复杂任务需要并发执行,一般也是拆成多个NSOperation,由NSOperationQueue来并发的执行多个NSOperation

                                                                                                      参考:
                                                                                                      关于iOS多线程,你看我就够了
                                                                                                      dispatch_barrier_sync和dispatch_barrier_async
                                                                                                      iOS开发:深入理解GCD 第二篇(dispatch_group、dispatch_barrier、基于线程安全的多读单写)
                                                                                                      NSOperation的并发和非并发有什么区别呀?

                                                                                                      ]]>
                                                                                                      + + + + + + <hr> +<h1 id="线程基本概念"><a href="#线程基本概念" class="headerlink" title="线程基本概念"></a>线程基本概念</h1><p>线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单 + + + + + + + + + +
                                                                                                      + + + 剑指Offer —— 复杂链表的复制 + + http://codingdoge.cn/2017/07/06/title: 剑指Offer —— 复杂链表的复制/ + 2017-07-06T02:44:00.000Z + 2018-01-14T17:25:14.000Z + +

                                                                                                      题目来源牛客网:复杂链表的复制

                                                                                                      题目描述

                                                                                                      输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)

                                                                                                      数据结构

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      /*
                                                                                                      struct RandomListNode {
                                                                                                      int label;
                                                                                                      struct RandomListNode *next, *random;
                                                                                                      RandomListNode(int x) :
                                                                                                      label(x), next(NULL), random(NULL) {
                                                                                                      }
                                                                                                      };
                                                                                                      */
                                                                                                      class Solution {
                                                                                                      public:
                                                                                                      RandomListNode* Clone(RandomListNode* pHead) {
                                                                                                      }
                                                                                                      };

                                                                                                      解题思路

                                                                                                      一、递归思想:把大问题转化若干子问题

                                                                                                      此题转化为一个头结点和除去头结点剩余部分,剩余部分操作和原问题一致

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      RandomListNode* Clone(RandomListNode* pHead)
                                                                                                          {
                                                                                                              if(pHead==NULL)
                                                                                                                  return NULL;
                                                                                                               
                                                                                                              //开辟一个新节点
                                                                                                              RandomListNode* pClonedHead=new RandomListNode(pHead->label);
                                                                                                              pClonedHead->next = pHead->next;
                                                                                                              pClonedHead->random = pHead->random;
                                                                                                               
                                                                                                              //递归其他节点
                                                                                                              pClonedHead->next=Clone(pHead->next);
                                                                                                               
                                                                                                              return pClonedHead;
                                                                                                          }

                                                                                                      二、

                                                                                                      • 复制每个节点,如:复制节点A得到A1,将A1插入节点A后面
                                                                                                      • 遍历链表,A1->random = A->random->next;
                                                                                                      • 将链表拆分成原链表和复制后的链表
                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      24
                                                                                                      25
                                                                                                      26
                                                                                                      27
                                                                                                      28
                                                                                                      29
                                                                                                      RandomListNode* Clone(RandomListNode* pHead)
                                                                                                      {
                                                                                                          if(!pHead) return NULL;
                                                                                                          RandomListNode *currNode = pHead;
                                                                                                          while(currNode){
                                                                                                              RandomListNode *node = new RandomListNode(currNode->label);
                                                                                                              node->next = currNode->next;
                                                                                                              currNode->next = node;
                                                                                                              currNode = node->next;
                                                                                                          }
                                                                                                          currNode = pHead;
                                                                                                          while(currNode){
                                                                                                              RandomListNode *node = currNode->next;
                                                                                                              if(currNode->random){               
                                                                                                                  node->random = currNode->random->next;
                                                                                                              }
                                                                                                              currNode = node->next;
                                                                                                          }
                                                                                                          //拆分
                                                                                                          RandomListNode *pCloneHead = pHead->next;
                                                                                                          RandomListNode *tmp;
                                                                                                          currNode = pHead;
                                                                                                          while(currNode->next){
                                                                                                              tmp = currNode->next;
                                                                                                              currNode->next =tmp->next;
                                                                                                               currNode = tmp;
                                                                                                          }
                                                                                                          return pCloneHead;
                                                                                                       }

                                                                                                      三、哈希表法

                                                                                                      时间空间复杂度都是O(n)

                                                                                                      1
                                                                                                      2
                                                                                                      3
                                                                                                      4
                                                                                                      5
                                                                                                      6
                                                                                                      7
                                                                                                      8
                                                                                                      9
                                                                                                      10
                                                                                                      11
                                                                                                      12
                                                                                                      13
                                                                                                      14
                                                                                                      15
                                                                                                      16
                                                                                                      17
                                                                                                      18
                                                                                                      19
                                                                                                      20
                                                                                                      21
                                                                                                      22
                                                                                                      23
                                                                                                      24
                                                                                                      25
                                                                                                      26
                                                                                                      27
                                                                                                      28
                                                                                                      29
                                                                                                      30
                                                                                                      31
                                                                                                      32
                                                                                                      33
                                                                                                      34
                                                                                                      35
                                                                                                      36
                                                                                                      37
                                                                                                      38
                                                                                                      39
                                                                                                      40
                                                                                                      41
                                                                                                      42
                                                                                                      43
                                                                                                      44
                                                                                                      45
                                                                                                      46
                                                                                                      47
                                                                                                      48
                                                                                                      49
                                                                                                      50
                                                                                                      51
                                                                                                      52
                                                                                                      53
                                                                                                      54
                                                                                                      55
                                                                                                      56
                                                                                                      57
                                                                                                      58
                                                                                                      59
                                                                                                      60
                                                                                                      61
                                                                                                      RandomListNode* Clone(RandomListNode* pHead)
                                                                                                      {
                                                                                                          if(pHead==NULL)
                                                                                                              return NULL;
                                                                                                               
                                                                                                          //定义一个哈希表
                                                                                                          unordered_multimap<RandomListNode*,RandomListNode*> table;
                                                                                                               
                                                                                                          // 开辟一个头结点
                                                                                                          RandomListNode* pClonedHead=new RandomListNode(pHead->label);
                                                                                                          pClonedHead->next=NULL;
                                                                                                          pClonedHead->random=NULL;
                                                                                                               
                                                                                                          // 将头结点放入map中
                                                                                                          table.insert(make_pair(pHead,pClonedHead));
                                                                                                               
                                                                                                          //设置操作指针
                                                                                                          RandomListNode* pNode=pHead->next;
                                                                                                          RandomListNode* pClonedNode=pClonedHead;
                                                                                                               
                                                                                                          // 第一遍先将简单链表复制一下
                                                                                                          while(pNode!=NULL)
                                                                                                          {
                                                                                                              // 不断开辟pNode的拷贝结点
                                                                                                              RandomListNode* pClonedTail=new RandomListNode(pNode->label);
                                                                                                              pClonedTail->next=NULL;
                                                                                                              pClonedTail->random=NULL;
                                                                                                                   
                                                                                                              //连接新节点,更新当前节点
                                                                                                              pClonedNode->next=pClonedTail;
                                                                                                              pClonedNode=pClonedTail;
                                                                                                                   
                                                                                                              //将对应关系  插入到哈希表中
                                                                                                              table.insert(make_pair(pNode,pClonedTail));
                                                                                                                   
                                                                                                              //向后移动操作节点
                                                                                                              pNode=pNode->next;
                                                                                                          }
                                                                                                               
                                                                                                          //需从头开始设置random节点,设置操作指针
                                                                                                          pNode=pHead;
                                                                                                          pClonedNode=pClonedHead;
                                                                                                               
                                                                                                          // 根据map中保存的数据,找到对应的节点
                                                                                                          while(pNode!=NULL)
                                                                                                          {
                                                                                                                   
                                                                                                              if(pNode->random!=NULL)
                                                                                                              {
                                                                                                                  //找到对应节点,更新复制链表
                                                                                                                  pClonedNode->random=table.find(pNode->random)->second;
                                                                                                              }
                                                                                                                   
                                                                                                              //向后移动操作节点
                                                                                                              pNode=pNode->next;
                                                                                                              pClonedNode=pClonedNode->next;
                                                                                                          }
                                                                                                               
                                                                                                          return pClonedHead;
                                                                                                               
                                                                                                      }
                                                                                                      ]]>
                                                                                                      + + + + + + <blockquote> +<p>题目来源牛客网:<strong><a href="https://www.nowcoder.com/practice/f836b2c43afc4b35ad6adc41ec941dba?tpId=13&amp;tqId=11178&amp;tPage + + + + + + + + + +
                                                                                                      + + + 动态规划(Dynamic Programming) + + http://codingdoge.cn/2017/05/13/title: 动态规划(Dynamic Programming)/ + 2017-05-13T11:39:00.000Z + 2018-01-12T14:27:10.181Z + + (以下简称DP)


                                                                                                      基本思想

                                                                                                      将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。适合用DP求解的问题,经分解得到的子问题一般不是相互独立的,如果使用分治法求解,有些子问题会被重复计算多次,可以用一个表来记录所有已解决的子问题的答案,不管该子问题以后是否被用到,只要它被计算过,就将其结果填入表中。

                                                                                                      DP算法适用于解最优化问题。通常可以按以下步骤设计:

                                                                                                      1. 找出最优解的性质,并刻画其结构特征;
                                                                                                      2. 递归地定义最优值;
                                                                                                      3. 以自底向上的方式计算出最优值;
                                                                                                      4. 根据计算最优值时得到的信息,构造最优解

                                                                                                      基本要素

                                                                                                      1. 最优子结构
                                                                                                        问题的最优解包含了其子问题的最优解。

                                                                                                      2. 重叠子问题
                                                                                                        在用递归算法自顶向下求解问题时,每次产生的子问题并不总是新问题,有些子问题被计算多次。DP算法正式利用了这种子问题的重叠性质,对每一个子问题只解一次,而后将其解保存在一个表格中,当再次需要解此问题时,只是简单地用常数时间查看一下结果。通常不同的子问题个数随问题的大小呈多项式增长,因此用DP算法通常只需要多项式时间,从而获得较高的解题效率。

                                                                                                      最长公共子序列

                                                                                                      问题描述

                                                                                                      一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切的说,若给定序列X = {x1, x2, ..., xm},则另一序列Z = {z1, z2, ..., zk},X的子序列是指存在一个严格递增下标序列{i1, i2, ..., ik}使得对于所有j = 1, 2, ..., kzj = xij。例如,序列Z = {B, C, D, B}是序列X = {A, B, C, B, D, A, B}的子序列,相应的递增下标序列为{2, 3, 5, 7}
                                                                                                      给定两个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。
                                                                                                      例如,若X = {A, B, C, B, D, A, B}Y = {B, D, C, A, B, A},序列{B, C, A}是X和Y的一个公共子序列,但它不是X和Y的最长公共子序列。序列{B, C, B, A}也是X和Y的一个公共子序列,它的长度为4,而且它是X和Y的最长公共子序列,因为X和Y没有长度大于4的公共子序列。

                                                                                                      最长公共子序列问题

                                                                                                      给定两个序列X = {x1, x2, ..., xm}Y = {y1, y2, ..., ym},找出X和Y的最长公共子序列。

                                                                                                      按照DP算法设计的各个步骤求解

                                                                                                      1. 最长公共子序列结构
                                                                                                        设序列X = {x1, x2, ..., xm}Y = {y1, y2, ..., yn}的最长公共子序列为Z = {z1, z2, ..., zk},则

                                                                                                        1. xm = yn,则zk = xm = yn,且Z
                                                                                                      2. 子问题的递归结构

                                                                                                      3. 计算最优值
                                                                                                      4. 构造最长公共子序列
                                                                                                      5. 算法的改进
                                                                                                      ]]>
                                                                                                      + + + + + + <p>(以下简称DP)</p> +<hr> +<h2 id="基本思想"><a href="#基本思想" class="headerlink" title="基本思想"></a>基本思想</h2><p>将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。 + + + + + + + +
                                                                                                      + +
                                                                                                      diff --git a/baidu_verify_pl2cC4IAHr.html b/baidu_verify_pl2cC4IAHr.html new file mode 100644 index 0000000..4f75cfb --- /dev/null +++ b/baidu_verify_pl2cC4IAHr.html @@ -0,0 +1,425 @@ + + + + + + + + + + + + + + + + + + + + + CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                      + + + +
                                                                                                      + + + + +
                                                                                                      +
                                                                                                      +
                                                                                                      + pl2cC4IAHr +
                                                                                                      + + +
                                                                                                      + +
                                                                                                      +

                                                                                                      CodingDoge

                                                                                                      +

                                                                                                      关于开发、设计,关于生活。

                                                                                                      +

                                                                                                      目前博客多作为知识点整理,所以有些文章奇奇怪怪(因为还没写完)...各位有缘的看官见笑了😝 恩 就酱...

                                                                                                      +
                                                                                                      + + +
                                                                                                      + + +
                                                                                                      + +
                                                                                                      + + + + + + +
                                                                                                      + + + +
                                                                                                      + + + +
                                                                                                      + +
                                                                                                      + + + + + + + + + + + + + + + + + + +
                                                                                                      + +
                                                                                                      + +

                                                                                                      + + 谢谢大爷~ + +

                                                                                                      +
                                                                                                      + +
                                                                                                      + 打赏二维码 +
                                                                                                      + + + +
                                                                                                      +
                                                                                                      + + +
                                                                                                      + + + +
                                                                                                      +
                                                                                                      + + + + + + + +
                                                                                                      + +

                                                                                                      扫一扫,分享到微信

                                                                                                      + 微信分享二维码 +
                                                                                                      + + + + + + + + + + +
                                                                                                      +
                                                                                                        +
                                                                                                        + + + + + + + + + + + + + + + + + + + diff --git a/categories/Algorithm/index.html b/categories/Algorithm/index.html new file mode 100644 index 0000000..44baf4a --- /dev/null +++ b/categories/Algorithm/index.html @@ -0,0 +1,588 @@ + + + + + + + + + + + + + + + + + + + + + Categories: Algorithm | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                        + + + +
                                                                                                        + +
                                                                                                        + +
                                                                                                        +

                                                                                                        Categories: Algorithm

                                                                                                        +
                                                                                                        + +
                                                                                                        +
                                                                                                        + + +
                                                                                                        + + +
                                                                                                        + +
                                                                                                        +
                                                                                                        + + + +
                                                                                                        + +
                                                                                                        + +
                                                                                                        + + +
                                                                                                        + +
                                                                                                        + + + +
                                                                                                        + +
                                                                                                        + + + +
                                                                                                        + +
                                                                                                        + + + +
                                                                                                        + +
                                                                                                        + + + +
                                                                                                        + +
                                                                                                        + + + +
                                                                                                        + +
                                                                                                        + + + +
                                                                                                        + +
                                                                                                        + + +
                                                                                                        + + + + +
                                                                                                        + + + + +
                                                                                                        +
                                                                                                        + + + + + + + +
                                                                                                        + +

                                                                                                        扫一扫,分享到微信

                                                                                                        + 微信分享二维码 +
                                                                                                        + + + + + + + + + + +
                                                                                                        +
                                                                                                          +
                                                                                                          + + + + + + + + + + + + + + + + + + + diff --git a/categories/Algorithm/page/2/index.html b/categories/Algorithm/page/2/index.html new file mode 100644 index 0000000..d1d118e --- /dev/null +++ b/categories/Algorithm/page/2/index.html @@ -0,0 +1,384 @@ + + + + + + + + + + + + + + + + + + + + + Categories: Algorithm | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                          + + + +
                                                                                                          + +
                                                                                                          + +
                                                                                                          +

                                                                                                          Categories: Algorithm

                                                                                                          +
                                                                                                          + +
                                                                                                          +
                                                                                                          + + +
                                                                                                          + + +
                                                                                                          + +
                                                                                                          +
                                                                                                          + + + +
                                                                                                          + +
                                                                                                          + +
                                                                                                          + + +
                                                                                                          + +
                                                                                                          + + +
                                                                                                          + + + + +
                                                                                                          + + + + +
                                                                                                          +
                                                                                                          + + + + + + + +
                                                                                                          + +

                                                                                                          扫一扫,分享到微信

                                                                                                          + 微信分享二维码 +
                                                                                                          + + + + + + + + + + +
                                                                                                          +
                                                                                                            +
                                                                                                            + + + + + + + + + + + + + + + + + + + diff --git a/categories/CPP/index.html b/categories/CPP/index.html new file mode 100644 index 0000000..e731ef4 --- /dev/null +++ b/categories/CPP/index.html @@ -0,0 +1,452 @@ + + + + + + + + + + + + + + + + + + + + + Categories: CPP | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                            + + + +
                                                                                                            + +
                                                                                                            + +
                                                                                                            +

                                                                                                            Categories: CPP

                                                                                                            +
                                                                                                            + +
                                                                                                            +
                                                                                                            + + +
                                                                                                            + + +
                                                                                                            + +
                                                                                                            +
                                                                                                            + + + +
                                                                                                            + +
                                                                                                            + +
                                                                                                            + + +
                                                                                                            + +
                                                                                                            + + + +
                                                                                                            + +
                                                                                                            + + + +
                                                                                                            + +
                                                                                                            + + +
                                                                                                            + + +
                                                                                                            + + + + +
                                                                                                            +
                                                                                                            + + + + + + + +
                                                                                                            + +

                                                                                                            扫一扫,分享到微信

                                                                                                            + 微信分享二维码 +
                                                                                                            + + + + + + + + + + +
                                                                                                            +
                                                                                                              +
                                                                                                              + + + + + + + + + + + + + + + + + + + diff --git a/categories/Network/index.html b/categories/Network/index.html new file mode 100644 index 0000000..753bc4c --- /dev/null +++ b/categories/Network/index.html @@ -0,0 +1,384 @@ + + + + + + + + + + + + + + + + + + + + + Categories: Network | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                              + + + +
                                                                                                              + +
                                                                                                              + +
                                                                                                              +

                                                                                                              Categories: Network

                                                                                                              +
                                                                                                              + +
                                                                                                              +
                                                                                                              + + +
                                                                                                              + + +
                                                                                                              + +
                                                                                                              +
                                                                                                              + + + +
                                                                                                              + +
                                                                                                              + +
                                                                                                              + + +
                                                                                                              + +
                                                                                                              + + +
                                                                                                              + + +
                                                                                                              + + + + +
                                                                                                              +
                                                                                                              + + + + + + + +
                                                                                                              + +

                                                                                                              扫一扫,分享到微信

                                                                                                              + 微信分享二维码 +
                                                                                                              + + + + + + + + + + +
                                                                                                              +
                                                                                                                +
                                                                                                                + + + + + + + + + + + + + + + + + + + diff --git a/categories/OS/index.html b/categories/OS/index.html new file mode 100644 index 0000000..dd91cad --- /dev/null +++ b/categories/OS/index.html @@ -0,0 +1,412 @@ + + + + + + + + + + + + + + + + + + + + + Categories: OS | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                + + + +
                                                                                                                + +
                                                                                                                + +
                                                                                                                +

                                                                                                                Categories: OS

                                                                                                                +
                                                                                                                + +
                                                                                                                +
                                                                                                                + + +
                                                                                                                + + +
                                                                                                                + +
                                                                                                                +
                                                                                                                + + + +
                                                                                                                + +
                                                                                                                + +
                                                                                                                + + +
                                                                                                                + +
                                                                                                                + + + +
                                                                                                                + +
                                                                                                                + + +
                                                                                                                + + +
                                                                                                                + + + + +
                                                                                                                +
                                                                                                                + + + + + + + +
                                                                                                                + +

                                                                                                                扫一扫,分享到微信

                                                                                                                + 微信分享二维码 +
                                                                                                                + + + + + + + + + + +
                                                                                                                +
                                                                                                                  +
                                                                                                                  + + + + + + + + + + + + + + + + + + + diff --git a/categories/Shell/index.html b/categories/Shell/index.html new file mode 100644 index 0000000..0d9f300 --- /dev/null +++ b/categories/Shell/index.html @@ -0,0 +1,418 @@ + + + + + + + + + + + + + + + + + + + + + Categories: Shell | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                  + + + +
                                                                                                                  + +
                                                                                                                  + +
                                                                                                                  +

                                                                                                                  Categories: Shell

                                                                                                                  +
                                                                                                                  + +
                                                                                                                  +
                                                                                                                  + + +
                                                                                                                  + + +
                                                                                                                  + +
                                                                                                                  +
                                                                                                                  + + + +
                                                                                                                  + +
                                                                                                                  + +
                                                                                                                  + + +
                                                                                                                  + +
                                                                                                                  + + + +
                                                                                                                  + +
                                                                                                                  + + +
                                                                                                                  + + +
                                                                                                                  + + + + +
                                                                                                                  +
                                                                                                                  + + + + + + + +
                                                                                                                  + +

                                                                                                                  扫一扫,分享到微信

                                                                                                                  + 微信分享二维码 +
                                                                                                                  + + + + + + + + + + +
                                                                                                                  +
                                                                                                                    +
                                                                                                                    + + + + + + + + + + + + + + + + + + + diff --git a/categories/iOS/index.html b/categories/iOS/index.html new file mode 100644 index 0000000..fe464be --- /dev/null +++ b/categories/iOS/index.html @@ -0,0 +1,594 @@ + + + + + + + + + + + + + + + + + + + + + Categories: iOS | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                    + + + +
                                                                                                                    + +
                                                                                                                    + +
                                                                                                                    +

                                                                                                                    Categories: iOS

                                                                                                                    +
                                                                                                                    + +
                                                                                                                    +
                                                                                                                    + + +
                                                                                                                    + + +
                                                                                                                    + +
                                                                                                                    +
                                                                                                                    + + + +
                                                                                                                    + +
                                                                                                                    + +
                                                                                                                    + + +
                                                                                                                    + +
                                                                                                                    + + + +
                                                                                                                    + +
                                                                                                                    + + + +
                                                                                                                    + +
                                                                                                                    + + + +
                                                                                                                    + +
                                                                                                                    + + + +
                                                                                                                    + +
                                                                                                                    + + + +
                                                                                                                    + +
                                                                                                                    + + + +
                                                                                                                    + +
                                                                                                                    + + +
                                                                                                                    + + + + +
                                                                                                                    + + + + +
                                                                                                                    +
                                                                                                                    + + + + + + + +
                                                                                                                    + +

                                                                                                                    扫一扫,分享到微信

                                                                                                                    + 微信分享二维码 +
                                                                                                                    + + + + + + + + + + +
                                                                                                                    +
                                                                                                                      +
                                                                                                                      + + + + + + + + + + + + + + + + + + + diff --git a/categories/iOS/page/2/index.html b/categories/iOS/page/2/index.html new file mode 100644 index 0000000..8174718 --- /dev/null +++ b/categories/iOS/page/2/index.html @@ -0,0 +1,588 @@ + + + + + + + + + + + + + + + + + + + + + Categories: iOS | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                      + + + +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      +

                                                                                                                      Categories: iOS

                                                                                                                      +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + +
                                                                                                                      + + +
                                                                                                                      + +
                                                                                                                      +
                                                                                                                      + + + +
                                                                                                                      + +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      + +
                                                                                                                      + + + +
                                                                                                                      + +
                                                                                                                      + + + +
                                                                                                                      + +
                                                                                                                      + + + +
                                                                                                                      + +
                                                                                                                      + + + +
                                                                                                                      + +
                                                                                                                      + + + +
                                                                                                                      + +
                                                                                                                      + + + +
                                                                                                                      + +
                                                                                                                      + + +
                                                                                                                      + + + + +
                                                                                                                      + + + + +
                                                                                                                      +
                                                                                                                      + + + + + + + +
                                                                                                                      + +

                                                                                                                      扫一扫,分享到微信

                                                                                                                      + 微信分享二维码 +
                                                                                                                      + + + + + + + + + + +
                                                                                                                      +
                                                                                                                        +
                                                                                                                        + + + + + + + + + + + + + + + + + + + diff --git a/categories/iOS/page/3/index.html b/categories/iOS/page/3/index.html new file mode 100644 index 0000000..19020dd --- /dev/null +++ b/categories/iOS/page/3/index.html @@ -0,0 +1,424 @@ + + + + + + + + + + + + + + + + + + + + + Categories: iOS | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                        + + + +
                                                                                                                        + +
                                                                                                                        + +
                                                                                                                        +

                                                                                                                        Categories: iOS

                                                                                                                        +
                                                                                                                        + +
                                                                                                                        +
                                                                                                                        + + +
                                                                                                                        + + +
                                                                                                                        + +
                                                                                                                        +
                                                                                                                        + + + +
                                                                                                                        + +
                                                                                                                        + +
                                                                                                                        + + +
                                                                                                                        + +
                                                                                                                        + + + +
                                                                                                                        + +
                                                                                                                        + + +
                                                                                                                        + + + + +
                                                                                                                        + + + + +
                                                                                                                        +
                                                                                                                        + + + + + + + +
                                                                                                                        + +

                                                                                                                        扫一扫,分享到微信

                                                                                                                        + 微信分享二维码 +
                                                                                                                        + + + + + + + + + + +
                                                                                                                        +
                                                                                                                          +
                                                                                                                          + + + + + + + + + + + + + + + + + + + diff --git a/categories/index.html b/categories/index.html new file mode 100644 index 0000000..d40892d --- /dev/null +++ b/categories/index.html @@ -0,0 +1,1426 @@ + + + + + + + + + + + + + + + + + + + + + CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                          + + + +
                                                                                                                          + +
                                                                                                                          + +
                                                                                                                          +

                                                                                                                          Categories

                                                                                                                          +
                                                                                                                          + +
                                                                                                                          +
                                                                                                                          + + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          +
                                                                                                                          + + + +
                                                                                                                          + +
                                                                                                                          + + +

                                                                                                                          iOS

                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + +
                                                                                                                          + + + +

                                                                                                                          Shell

                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + +
                                                                                                                          + + + +

                                                                                                                          Algorithm

                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + +
                                                                                                                          + + + +

                                                                                                                          CPP

                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + +
                                                                                                                          + + + +

                                                                                                                          Network

                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + +
                                                                                                                          + + + +

                                                                                                                          OS

                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + + +
                                                                                                                          + +
                                                                                                                          + +
                                                                                                                          + + + +
                                                                                                                          + + + +
                                                                                                                          +
                                                                                                                          + + + + + + + +
                                                                                                                          + +

                                                                                                                          扫一扫,分享到微信

                                                                                                                          + 微信分享二维码 +
                                                                                                                          + + + + + + + + + + +
                                                                                                                          +
                                                                                                                            +
                                                                                                                            + + + + + + + + + + + + + + + + + + + diff --git a/content.json b/content.json new file mode 100644 index 0000000..0fd4240 --- /dev/null +++ b/content.json @@ -0,0 +1 @@ +{"meta":{"title":"CodingDoge","subtitle":"关于开发、设计,关于生活。","description":"Keep it simple, stuip.","author":"CodingDoge","url":"http://codingdoge.cn"},"pages":[{"title":"","date":"2017-12-07T23:57:56.000Z","updated":"2017-12-07T23:03:58.000Z","comments":true,"path":"404.html","permalink":"http://codingdoge.cn/404.html","excerpt":"","text":"CodingDoge's blog | 404"},{"title":"","date":"2017-12-07T23:03:58.000Z","updated":"2017-12-07T23:03:58.000Z","comments":true,"path":"baidu_verify_pl2cC4IAHr.html","permalink":"http://codingdoge.cn/baidu_verify_pl2cC4IAHr.html","excerpt":"","text":"pl2cC4IAHr"},{"title":"About","date":"2017-07-20T04:10:23.000Z","updated":"2018-01-14T17:34:54.960Z","comments":true,"path":"about/index.html","permalink":"http://codingdoge.cn/about/index.html","excerpt":"","text":""},{"title":"","date":"2017-12-20T17:58:19.000Z","updated":"2017-12-20T17:58:19.000Z","comments":false,"path":"categories/index.html","permalink":"http://codingdoge.cn/categories/index.html","excerpt":"","text":""},{"title":"","date":"2017-12-07T23:03:58.000Z","updated":"2017-12-07T23:03:58.000Z","comments":true,"path":"search/index.html","permalink":"http://codingdoge.cn/search/index.html","excerpt":"","text":"layout: search title: search"},{"title":"","date":"2018-01-14T17:27:15.013Z","updated":"2017-12-20T17:56:35.000Z","comments":false,"path":"tags/index.html","permalink":"http://codingdoge.cn/tags/index.html","excerpt":"","text":""}],"posts":[{"title":"Advanced Swift 笔记 —— 內建集合類型","slug":"title: Advanced Swift 笔记 —— 內建集合類型","date":"2017-08-30T07:47:00.000Z","updated":"2018-01-13T12:22:39.908Z","comments":true,"path":"2017/08/30/title: Advanced Swift 笔记 —— 內建集合類型/","link":"","permalink":"http://codingdoge.cn/2017/08/30/title: Advanced Swift 笔记 —— 內建集合類型/","excerpt":"","text":"數組(Array)盡量不要使用下標索引,如果下標越界會直接導致crash(在並發情況下尤其需要考慮)。 迭代全部 1for x in array 迭代除了第一個元素以外的其餘部分 1for x in array.dropFirst() 迭代除了最後5個元素以外的數組 1for x in array.dropLast(5) 列舉數組中的元素和對應下標 1for (index, value) in array.enumerated() 尋找一個指定元素的位置 123_ = array.index { someMatchingLogic($0)} 對數組所有元素變形 123_ = array.map { someTransformation($0)} 篩選符合某個標準的元素 123_ = array.filter { someCriteria($0)}","categories":[{"name":"iOS","slug":"iOS","permalink":"http://codingdoge.cn/categories/iOS/"}],"tags":[{"name":"Reading Notes","slug":"Reading-Notes","permalink":"http://codingdoge.cn/tags/Reading-Notes/"}]},{"title":"Brew Instruction","slug":"title: Brew Instruction","date":"2017-08-30T06:26:00.000Z","updated":"2018-01-13T12:36:00.696Z","comments":true,"path":"2017/08/30/title: Brew Instruction/","link":"","permalink":"http://codingdoge.cn/2017/08/30/title: Brew Instruction/","excerpt":"","text":"Brew brew help 查看有什麼可用的指令 brew search [someSuit] 查詢有無someSuit brew install [someSuit] 安裝someSuit brew info [someSuit] 查看someSuit的訊息 brew uninstall [someSuit] 移除someSuit brew list 列出已安裝套件 brew outdated 查詢那些套件已過期 brew cleanup -n 刪除舊的套件版本(-n 是顯示刪除的過程,可以了解有哪些套件被刪除了) brew upgrade [someSuit] 更新someSuit brew update && brew upgrade && brew doctor 更新Homebrew上面所有套件 brew dips [someSuit] 列出安裝someSuit需要的依賴套件 brew —prefix 查詢brew安裝的路徑 參考:chiehwen/Homebrew 指令詳解.mdHomebrew 指令","categories":[{"name":"Shell","slug":"Shell","permalink":"http://codingdoge.cn/categories/Shell/"}],"tags":[{"name":"Tool","slug":"Tool","permalink":"http://codingdoge.cn/tags/Tool/"}]},{"title":"Advanced Swift 笔记 —— Tips","slug":"title: Advanced Swift 笔记 —— Tips","date":"2017-08-20T09:35:00.000Z","updated":"2018-01-13T12:23:01.178Z","comments":true,"path":"2017/08/20/title: Advanced Swift 笔记 —— Tips/","link":"","permalink":"http://codingdoge.cn/2017/08/20/title: Advanced Swift 笔记 —— Tips/","excerpt":"","text":"Curried Function 柯里化函數一个函数不是接受多个参数,而是只接受部分参数,然后返回一个接受其余参数的函数。 Statically Dispatched 靜態派發定義在類或者協議中的函數就是方法(Method),他們有一個隱式的self。不是方法的函數叫做自由函數(Free Function)。自由函数和那些在结构体上调用的方法是静态派发 (statically dispatched)的。对于这些函数的调用,在编译的时候就已经确定了。对于静态派发的调用,编译器可能能够内联 (inline)这些函数,也就是说,完全不去做函数调用,而是将这部分代码替换为需要执行的函数。静态派发还能够帮助编译器丢弃或者简化那些在编译时就能确定不会被实际执行的代码。","categories":[{"name":"iOS","slug":"iOS","permalink":"http://codingdoge.cn/categories/iOS/"}],"tags":[{"name":"Reading Notes","slug":"Reading-Notes","permalink":"http://codingdoge.cn/tags/Reading-Notes/"}]},{"title":"剑指Offer —— 二叉搜索树的第k个结点","slug":"title: 剑指Offer —— 二叉搜索树的第k个结点","date":"2017-08-04T01:56:00.000Z","updated":"2018-01-14T16:29:06.979Z","comments":true,"path":"2017/08/04/title: 剑指Offer —— 二叉搜索树的第k个结点/","link":"","permalink":"http://codingdoge.cn/2017/08/04/title: 剑指Offer —— 二叉搜索树的第k个结点/","excerpt":"","text":"题目来源:牛客网 题目描述给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \\ 3 7 /\\ /\\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。 解题思路 递归 迭代way1中序遍历,找到第k个结点。完全性的模拟左根右,注意返回结果的处理。 TreeNode* KthNode(TreeNode* pRoot, int k) { if (pRoot) { TreeNode *node = KthNode(pRoot->left, k); if (node) return node; index++; if (index == k) return pRoot; node = KthNode(pRoot->right, k); if (node) return node; } return NULL; }","categories":[{"name":"Algorithm","slug":"Algorithm","permalink":"http://codingdoge.cn/categories/Algorithm/"}],"tags":[{"name":"剑指Offer","slug":"剑指Offer","permalink":"http://codingdoge.cn/tags/剑指Offer/"}]},{"title":"错误处理","slug":"title: 错误处理","date":"2017-08-03T02:47:00.000Z","updated":"2018-01-13T12:26:37.175Z","comments":true,"path":"2017/08/03/title: 错误处理/","link":"","permalink":"http://codingdoge.cn/2017/08/03/title: 错误处理/","excerpt":"","text":"错误处理(Error handling)是响应错误以及从错误中恢复的过程。Swift 提供了在运行时对可恢复错误的抛出、捕获、传递和操作的一等公民支持。 Swift 中有4种处理错误的方式 把函数抛出的错误传递给调用此函数的代码 用do-catch语句处理错误 将错误作为可选类型处理 或者断言此错误根本不会发生 Swift 中的错误处理并不涉及解除调用栈,这是一个计算代价高昂的过程。就此而言,throw语句的性能特性是可以和return语句相媲美的。 一个 throwing 函数可以在其内部抛出错误,并将错误传递到函数被调用时的作用域。 参考: The Swift Programming Language 中文版SWIFT 的必备 TIP","categories":[{"name":"iOS","slug":"iOS","permalink":"http://codingdoge.cn/categories/iOS/"}],"tags":[{"name":"Swift","slug":"Swift","permalink":"http://codingdoge.cn/tags/Swift/"}]},{"title":"Dispatch 在swift中的使用","slug":"title: Dispatch 在swift中的使用","date":"2017-08-03T01:49:00.000Z","updated":"2018-01-13T12:28:30.884Z","comments":true,"path":"2017/08/03/title: Dispatch 在swift中的使用/","link":"","permalink":"http://codingdoge.cn/2017/08/03/title: Dispatch 在swift中的使用/","excerpt":"","text":"创建队列当group里所有事件都完成GCD API有两种方式发送通知,第一种是dispatch_group_wait,会阻塞当前进程,等所有任务都完成或等待超时。第二种方法是使用dispatch_group_notify,异步执行闭包,不会阻塞。 1234567891011121314151617181920212223242526272829func downloadPhotosWithCompletion(completion: BatchPhotoDownloadingCompletionClosure?) { dispatch_async(GlobalUserInitiatedQueue) { // 因为dispatch_group_wait会租塞当前进程,所以要使用dispatch_async将整个方法要放到后台队列才能够保证主线程不被阻塞 var storedError: NSError! var downloadGroup = dispatch_group_create() // 创建一个dispatch group for address in [OverlyAttachedGirlfriendURLString, SuccessKidURLString, LotsOfFacesURLString] { let url = NSURL(string: address) dispatch_group_enter(downloadGroup) // dispatch_group_enter是通知dispatch group任务开始了,dispatch_group_enter和dispatch_group_leave是成对调用,不然程序就崩溃了。 let photo = DownloadPhoto(url: url!) { image, error in if let error = error { storedError = error } dispatch_group_leave(downloadGroup) // 保持和dispatch_group_enter配对。通知任务已经完成 } PhotoManager.sharedManager.addPhoto(photo) } dispatch_group_wait(downloadGroup, DISPATCH_TIME_FOREVER) // dispatch_group_wait等待所有任务都完成直到超时。如果任务完成前就超时了,函数会返回一个非零值,可以通过返回值判断是否超时。也可以用DISPATCH_TIME_FOREVER表示一直等。 dispatch_async(GlobalMainQueue) { // 这里可以保证所有图片任务都完成,然后在main queue里加入完成后要处理的闭包,会在main queue里执行。 if let completion = completion { // 执行闭包内容 completion(error: storedError) } } }} Serial Queues12345678910111213141516171819private let serialQueue = DispatchQueue(label: “serialQueue”)private var dictionary: [String: Any] = [:]public func set(_ value: Any, forKey key: String) { serialQueue.sync { dictionary[key] = value }}public func object(forKey key: String) -> Any? { var result: Any? serialQueue.sync { result = storage[key] } // returns after serialQueue is finished operation // beacuse serialQueue is run synchronously return result} Concurrent Queues1234567891011121314151617181920private let concurrentQueue = DispatchQueue(label: "concurrentQueue", attributes: .concurrent)private var dictionary: [String: Any] = [:] public func set(_ value: Any?, forKey key: String) { concurrentQueue.async { self.storage[key] = value }}public func object(forKey key: String) -> Any? { var result: Any? concurrentQueue.sync { result = storage[key] } // returns after concurrentQueue is finished operation // beacuse concurrentQueue is run synchronously return result} Concurrent Queue with Barrier1234567891011121314151617181920212223private let concurrentQueue = DispatchQueue(label: "concurrentQueue", attributes: .concurrent)private var dictionary: [String: Any] = [:] public func set(_ value: Any?, forKey key: String) { // .barrier flag ensures that within the queue all reading is done // before the below writing is performed and // pending readings start after below writing is performed concurrentQueue.async(flags: .barrier) { self.storage[key] = value }}public func object(forKey key: String) -> Any? { var result: Any? concurrentQueue.sync { result = storage[key] } // returns after concurrentQueue is finished operation // beacuse concurrentQueue is run synchronously return result} 延时1234567891011121314151617181920212223242526272829303132333435typealias Task = (_ cancel: Bool) -> Void func delay(time: TimeInterval, task: @escaping ()->()) -> Task? { func dispatch_later(block: @escaping ()->()) { DispatchQueue.main.asyncAfter(deadline: DispatchTime.now()+time, execute: block) } var closure: (()->())? = task var result: Task? let delayedClosure: Task = { cancel in if let internalClosure = closure { if cancel == false { DispatchQueue.main.async { internalClosure() } } } closure = nil result = nil } result = delayedClosure dispatch_later { if let delayedClosure = result { delayedClosure(false) } } return result } func cancel(task: Task?) { task?(true) } 网络场景异步开启下载、取消下载,开始下载前保证没有遗留下载任务12345678910111213fileprivate let barrierQueue = DispatchQueue(label: \"com.meitu.meipu.videoCache.barrierQueue\")func downloader(url: URL) { barrierQueue.sync { [weak self] in // add downloader task }}func cancel() { barrierQueue.async(group: nil, qos: .default, flags: .barrier) { // cacle task }} 参考:GCD 在 Swift 3 中的玩儿法GCD 使用指南Swift 3 中的 GCD 与 Dispatch QueueSwift 3學習指南:重新認識GCD應用GCD精讲(Swift 3)","categories":[{"name":"iOS","slug":"iOS","permalink":"http://codingdoge.cn/categories/iOS/"}],"tags":[{"name":"Swift","slug":"Swift","permalink":"http://codingdoge.cn/tags/Swift/"}]},{"title":"Dispatch","slug":"title: Dispatch","date":"2017-08-02T12:01:00.000Z","updated":"2018-01-13T04:59:21.648Z","comments":true,"path":"2017/08/02/title: Dispatch/","link":"","permalink":"http://codingdoge.cn/2017/08/02/title: Dispatch/","excerpt":"","text":"Execute code concurrently on multicore hardware by submitting work to dispatch queues managed by the system. 在多核硬件上,通过提交任务到由这个系统管理的派遣队列上,并发的执行代码。 一种把保证回调会在主线程执行的方法: 12345678#ifndef dispatch_main_async_safe#define dispatch_main_async_safe(block)\\ if (strcmp(dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL), dispatch_queue_get_label(dispatch_get_main_queue())) == 0) {\\ block();\\ } else {\\ dispatch_async(dispatch_get_main_queue(), block);\\ }#endif 12345678910dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);dispatch_group_t group = dispatch_group_create();for(id obj in array) dispatch_group_async(group, queue, ^{ [self doSomethingIntensiveWith:obj]; });dispatch_group_wait(group, DISPATCH_TIME_FOREVER);dispatch_release(group); [self doSomethingWith:array]; 12345678910dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);dispatch_group_t group = dispatch_group_create();for(id obj in array) dispatch_group_async(group, queue, ^{ [self doSomethingIntensiveWith:obj]; });dispatch_group_notify(group, queue, ^{ [self doSomethingWith:array];});dispatch_release(group); dispatch_barrier_sync和dispatch_barrier_async common different 等待在它前面插入队列的任务先执行完 dispatch_barrier_sync将自己的任务插入到队列的时候,需要等待自己的任务结束之后才会继续插入被写在它后面的任务,然后执行它们 等待他们自己的任务执行完再执行后面的任务 dispatch_barrier_async将自己的任务插入到队列之后,不会等待自己的任务结束,它会继续把后面的任务插入到队列,然后等待自己的任务结束后才执行后面任务 参考:GCD入门(一): 基本概念和Dispatch Queue深入理解GCD底层并发 APIGCD 中 dispatch_once 的性能与实现读 Concurrency Programming Guide 笔记(一)iOS并发编程","categories":[{"name":"iOS","slug":"iOS","permalink":"http://codingdoge.cn/categories/iOS/"}],"tags":[{"name":"多线程","slug":"多线程","permalink":"http://codingdoge.cn/tags/多线程/"}]},{"title":"剑指Offer —— 最小的k个数","slug":"title: 剑指Offer —— 最小的k个数","date":"2017-08-01T02:20:00.000Z","updated":"2018-01-14T16:32:50.507Z","comments":true,"path":"2017/08/01/title: 剑指Offer —— 最小的k个数/","link":"","permalink":"http://codingdoge.cn/2017/08/01/title: 剑指Offer —— 最小的k个数/","excerpt":"","text":"题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。(很典型的题目了) 解题思路 插入或者冒泡排序,优化点在记录已排好的个数(O(n*k)) 最小堆(O(nlogk)) 快排思想(O(n)) way1不上代码了。 way2上个建堆的算法,通用、解耦、易测试😂 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950void HeapAdjust(int H[],int s, int length) { int tmp = H[s]; int child = 2*s+1; //左孩子结点的位置。(i+1 为当前调整结点的右孩子结点的位置) while (child < length) { if(child+1 <length && H[child]<H[child+1]) { // 如果右孩子大于左孩子(找到比当前待调整结点大的孩子结点) ++child ; } if(H[s]<H[child]) { // 如果较大的子结点大于父结点 H[s] = H[child]; // 那么把较大的子结点往上移动,替换它的父结点 s = child; // 重新设置s ,即待调整的下一个结点的位置 child = 2*s+1; } else { // 如果当前待调整结点大于它的左右孩子,则不需要调整,直接退出 break; } H[s] = tmp; // 当前待调整的结点放到比其大的孩子结点位置上 } print(H,length); } /** * 初始堆进行调整 * 将H[0..length-1]建成堆 * 调整完之后第一个元素是序列的最小的元素 */ void BuildingHeap(int H[], int length) { //最后一个有孩子的节点的位置 i= (length -1) / 2 for (int i = (length -1) / 2 ; i >= 0; i--) { cout << "i: " << i << endl; HeapAdjust(H,i,length); }} /** * 堆排序算法 */ void HeapSort(int H[],int length) { //初始堆 BuildingHeap(H, length); //从最后一个元素开始对序列进行调整 for (int i = length - 1; i > 0; --i) { //交换堆顶元素H[0]和堆中最后一个元素 int temp = H[i]; H[i] = H[0]; H[0] = temp; //每次交换堆顶元素和堆中最后一个元素之后,都要对堆进行调整 HeapAdjust(H,0,i); } } way31234567891011121314151617181920212223242526272829303132333435363738394041int Partition(vector<int> &input, int begin, int end){trueint first = begin;trueint last = end;trueint pivot = input[first];truewhile (first < last)true{truetruewhile (first < last && input[last] >= pivot) last--;truetrueinput[first] = input[last];truetruewhile (first < last && input[first] <= pivot) first++;truetrueinput[last] = input[first];true}trueinput[first] = pivot;truereturn first;}vector<int> GetLeastNumbers_Solution(vector<int> &input, int k){trueint len=input.size();truevector<int> res;trueif(len==0||k>len||k<=0) return res;trueif(len==k) return input;trueint start=0;trueint end=len-1;trueint index=Partition(input,start,end);truewhile(index!=(k-1))true{truetrueif(index>k-1)truetrue{truetruetrueend=index-1;truetruetrueindex=Partition(input,start,end);truetrue}truetrueelsetruetrue{truetruetruestart=index+1;truetruetrueindex=Partition(input,start,end);truetrue}true}truefor (int i = 0; i < k; i++)truetrueres.push_back(input[i]);truereturn res;}","categories":[{"name":"Algorithm","slug":"Algorithm","permalink":"http://codingdoge.cn/categories/Algorithm/"}],"tags":[{"name":"剑指Offer","slug":"剑指Offer","permalink":"http://codingdoge.cn/tags/剑指Offer/"}]},{"title":"并发(concurrency)和并行(parallelism)","slug":"title: 并发(concurrency)和并行(parallelism)","date":"2017-07-27T04:29:00.000Z","updated":"2018-01-13T14:00:58.116Z","comments":true,"path":"2017/07/27/title: 并发(concurrency)和并行(parallelism)/","link":"","permalink":"http://codingdoge.cn/2017/07/27/title: 并发(concurrency)和并行(parallelism)/","excerpt":"","text":"“并发”指的是程序的结构,“并行”指的是程序运行时的状态 并行(parallelism)这个概念很好理解。所谓并行,就是同时执行的意思,无需过度解读。判断程序是否处于并行的状态,就看同一时刻是否有超过一个“工作单位”在运行就好了。所以,单线程永远无法达到并行状态。 要达到并行状态,最简单的就是利用多线程和多进程。 并发(concurrency)要理解“并发”这个概念,必须得清楚,并发指的是程序的“结构”。当我们说这个程序是并发的,实际上,这句话应当表述成“这个程序采用了支持并发的设计”。好,既然并发指的是人为设计的结构,那么怎样的程序结构才叫做支持并发的设计? 正确的并发设计的标准是:使多个操作可以在重叠的时间段内进行(two tasks can start, run, and complete in overlapping time periods)。 这句话的重点有两个。我们先看“(操作)在重叠的时间段内进行”这个概念。它是否就是我们前面说到的并行呢?是,也不是。并行,当然是在重叠的时间段内执行,但是另外一种执行模式,也属于在重叠时间段内进行。这就是协程。 使用协程时,程序的执行看起来往往是这个样子: task1, task2 是两段不同的代码,比如两个函数,其中黑色块代表某段代码正在执行。注意,这里从始至终,在任何一个时间点上都只有一段代码在执行,但是,由于 task1 和 task2 在重叠的时间段内执行,所以这是一个支持并发的设计。与并行不同,单核单线程能支持并发。 Different concurrent designs enable different ways to parallelize","categories":[{"name":"OS","slug":"OS","permalink":"http://codingdoge.cn/categories/OS/"}],"tags":[]},{"title":"iOS 保持界面流畅的技巧","slug":"title: iOS 保持界面流畅的技巧","date":"2017-07-25T06:21:00.000Z","updated":"2018-01-14T16:35:13.663Z","comments":true,"path":"2017/07/25/title: iOS 保持界面流畅的技巧/","link":"","permalink":"http://codingdoge.cn/2017/07/25/title: iOS 保持界面流畅的技巧/","excerpt":"","text":"iOS 保持界面流畅的技巧 CPU 资源消耗原因和解决方案对象创建对象的创建会分配内存、调整属性、甚至还有读取文件等操作,比较消耗 CPU 资源。尽量用轻量的对象代替重量的对象,可以对性能有所优化。比如 CALayer 比 UIView 要轻量许多,那么不需要响应触摸事件的控件,用 CALayer 显示会更加合适。如果对象不涉及 UI 操作,则尽量放到后台线程去创建,但可惜的是包含有 CALayer 的控件,都只能在主线程创建和操作。通过 Storyboard 创建视图对象时,其资源消耗会比直接通过代码创建对象要大非常多,在性能敏感的界面里,Storyboard 并不是一个好的技术选择。 尽量推迟对象创建的时间,并把对象的创建分散到多个任务中去。尽管这实现起来比较麻烦,并且带来的优势并不多,但如果有能力做,还是要尽量尝试一下。如果对象可以复用,并且复用的代价比释放、创建新对象要小,那么这类对象应当尽量放到一个缓存池里复用。 对象调整对象的调整也经常是消耗 CPU 资源的地方。这里特别说一下 CALayer:CALayer 内部并没有属性,当调用属性方法时,它内部是通过运行时 resolveInstanceMethod 为对象临时添加一个方法,并把对应属性值保存到内部的一个 Dictionary 里,同时还会通知 delegate、创建动画等等,非常消耗资源。UIView 的关于显示相关的属性(比如 frame/bounds/transform)等实际上都是 CALayer 属性映射来的,所以对 UIView 的这些属性进行调整时,消耗的资源要远大于一般的属性。对此你在应用中,应该尽量减少不必要的属性修改。 当视图层次调整时,UIView、CALayer 之间会出现很多方法调用与通知,所以在优化性能时,应该尽量避免调整视图层次、添加和移除视图。 对象销毁对象的销毁虽然消耗资源不多,但累积起来也是不容忽视的。通常当容器类持有大量对象时,其销毁时的资源消耗就非常明显。同样的,如果对象可以放到后台线程去释放,那就挪到后台线程去。这里有个小 Tip:把对象捕获到 block 中,然后扔到后台队列去随便发送个消息以避免编译器警告,就可以让对象在后台线程销毁了。 12345NSArray *tmp = self.array;self.array = nil;dispatch_async(queue, ^{ [tmp class];}); 布局计算视图布局的计算是 App 中最为常见的消耗 CPU 资源的地方。如果能在后台线程提前计算好视图布局、并且对视图布局进行缓存,那么这个地方基本就不会产生性能问题了。 不论通过何种技术对视图进行布局,其最终都会落到对 UIView.frame/bounds/center 等属性的调整上。上面也说过,对这些属性的调整非常消耗资源,所以尽量提前计算好布局,在需要时一次性调整好对应属性,而不要多次、频繁的计算和调整这些属性。 AutolayoutAutolayout 是苹果本身提倡的技术,在大部分情况下也能很好的提升开发效率,但是 Autolayout 对于复杂视图来说常常会产生严重的性能问题。随着视图数量的增长,Autolayout 带来的 CPU 消耗会呈指数级上升。具体数据可以看这个文章:http://pilky.me/36/。 如果你不想手动调整 frame 等属性,你可以用一些工具方法替代(比如常见的 left/right/top/bottom/width/height 快捷属性),或者使用 ComponentKit、AsyncDisplayKit 等框架。 文本计算如果一个界面中包含大量文本(比如微博微信朋友圈等),文本的宽高计算会占用很大一部分资源,并且不可避免。如果你对文本显示没有特殊要求,可以参考下 UILabel 内部的实现方式:用 [NSAttributedString boundingRectWithSize:options:context:] 来计算文本宽高,用 -[NSAttributedString drawWithRect:options:context:] 来绘制文本。尽管这两个方法性能不错,但仍旧需要放到后台线程进行以避免阻塞主线程。 如果你用 CoreText 绘制文本,那就可以先生成 CoreText 排版对象,然后自己计算了,并且 CoreText 对象还能保留以供稍后绘制使用。 文本渲染屏幕上能看到的所有文本内容控件,包括 UIWebView,在底层都是通过 CoreText 排版、绘制为 Bitmap 显示的。常见的文本控件 (UILabel、UITextView 等),其排版和绘制都是在主线程进行的,当显示大量文本时,CPU 的压力会非常大。对此解决方案只有一个,那就是自定义文本控件,用 TextKit 或最底层的 CoreText 对文本异步绘制。尽管这实现起来非常麻烦,但其带来的优势也非常大,CoreText 对象创建好后,能直接获取文本的宽高等信息,避免了多次计算(调整 UILabel 大小时算一遍、UILabel 绘制时内部再算一遍);CoreText 对象占用内存较少,可以缓存下来以备稍后多次渲染。 图片的解码当你用 UIImage 或 CGImageSource 的那几个方法创建图片时,图片数据并不会立刻解码。图片设置到 UIImageView 或者 CALayer.contents 中去,并且 CALayer 被提交到 GPU 前,CGImage 中的数据才会得到解码。这一步是发生在主线程的,并且不可避免。如果想要绕开这个机制,常见的做法是在后台线程先把图片绘制到 CGBitmapContext 中,然后从 Bitmap 直接创建图片。目前常见的网络图片库都自带这个功能。 图像的绘制图像的绘制通常是指用那些以 CG 开头的方法把图像绘制到画布中,然后从画布创建图片并显示这样一个过程。这个最常见的地方就是 [UIView drawRect:] 里面了。由于 CoreGraphic 方法通常都是线程安全的,所以图像的绘制可以很容易的放到后台线程进行。一个简单异步绘制的过程大致如下(实际情况会比这个复杂得多,但原理基本一致): 1234567891011- (void)display { dispatch_async(backgroundQueue, ^{ CGContextRef ctx = CGBitmapContextCreate(...); // draw in context... CGImageRef img = CGBitmapContextCreateImage(ctx); CFRelease(ctx); dispatch_async(mainQueue, ^{ layer.contents = img; }); });} GPU 资源消耗原因和解决方案相对于 CPU 来说,GPU 能干的事情比较单一:接收提交的纹理(Texture)和顶点描述(三角形),应用变换(transform)、混合并渲染,然后输出到屏幕上。通常你所能看到的内容,主要也就是纹理(图片)和形状(三角模拟的矢量图形)两类。 纹理的渲染所有的 Bitmap,包括图片、文本、栅格化的内容,最终都要由内存提交到显存,绑定为 GPU Texture。不论是提交到显存的过程,还是 GPU 调整和渲染 Texture 的过程,都要消耗不少 GPU 资源。当在较短时间显示大量图片时(比如 TableView 存在非常多的图片并且快速滑动时),CPU 占用率很低,GPU 占用非常高,界面仍然会掉帧。避免这种情况的方法只能是尽量减少在短时间内大量图片的显示,尽可能将多张图片合成为一张进行显示。 当图片过大,超过 GPU 的最大纹理尺寸时,图片需要先由 CPU 进行预处理,这对 CPU 和 GPU 都会带来额外的资源消耗。目前来说,iPhone 4S 以上机型,纹理尺寸上限都是 4096x4096,更详细的资料可以看这里:iosres.com。所以,尽量不要让图片和视图的大小超过这个值。 视图的混合 (Composing)当多个视图(或者说 CALayer)重叠在一起显示时,GPU 会首先把他们混合到一起。如果视图结构过于复杂,混合的过程也会消耗很多 GPU 资源。为了减轻这种情况的 GPU 消耗,应用应当尽量减少视图数量和层次,并在不透明的视图里标明 opaque 属性以避免无用的 Alpha 通道合成。当然,这也可以用上面的方法,把多个视图预先渲染为一张图片来显示。 图形的生成CALayer 的 border、圆角、阴影、遮罩(mask),CASharpLayer 的矢量图形显示,通常会触发离屏渲染(offscreen rendering),而离屏渲染通常发生在 GPU 中。当一个列表视图中出现大量圆角的 CALayer,并且快速滑动时,可以观察到 GPU 资源已经占满,而 CPU 资源消耗很少。这时界面仍然能正常滑动,但平均帧数会降到很低。为了避免这种情况,可以尝试开启 CALayer.shouldRasterize 属性,但这会把原本离屏渲染的操作转嫁到 CPU 上去。对于只需要圆角的某些场合,也可以用一张已经绘制好的圆角图片覆盖到原本视图上面来模拟相同的视觉效果。最彻底的解决办法,就是把需要显示的图形在后台线程绘制为图片,避免使用圆角、阴影、遮罩等属性。 参考:iOS 保持界面流畅的技巧","categories":[{"name":"iOS","slug":"iOS","permalink":"http://codingdoge.cn/categories/iOS/"}],"tags":[{"name":"UI","slug":"UI","permalink":"http://codingdoge.cn/tags/UI/"}]},{"title":"剑指Offer —— 滑动窗口的最大值","slug":"title: 剑指Offer —— 滑动窗口的最大值","date":"2017-07-25T02:43:00.000Z","updated":"2018-01-14T16:38:57.866Z","comments":true,"path":"2017/07/25/title: 剑指Offer —— 滑动窗口的最大值/","link":"","permalink":"http://codingdoge.cn/2017/07/25/title: 剑指Offer —— 滑动窗口的最大值/","excerpt":"","text":"题目来源:滑动窗口的最大值 题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5],1}, {2,3,4,2,6,[2,5,1]}。 解题思路用一个双端队列维护当前滑动窗口的状态,队首是当前窗口最大值的下标,当窗口滑动进入一个新值k时,k从队尾依次向前比较,比k小的全部出队,保障了k的权重应有的位置 123456789101112131415161718192021vector<int> maxInWindows(const vector<int> &num, unsigned int size) {truevector<int> ans;truedeque<int> q;trueif (num.size() < size || size == 0) true return ans;truefor (int i = 0; i < size; i++) {true while(!q.empty() && num[i] > num[q.back()])true q.pop_back();true q.push_back(i);true}truefor (int i = size; i < num.size(); i++) {true ans.push_back(num[q.front()]);true while (!q.empty() && num[i] >= num[q.back()])true q.pop_back();true while (!q.empty() && q.front() <= i-size)true q.pop_front();true q.push_back(i);true}trueans.push_back(num[q.front()]);truereturn ans;}","categories":[{"name":"Algorithm","slug":"Algorithm","permalink":"http://codingdoge.cn/categories/Algorithm/"}],"tags":[{"name":"剑指Offer","slug":"剑指Offer","permalink":"http://codingdoge.cn/tags/剑指Offer/"}]},{"title":"Search in Rotated Sorted Array","slug":"title: Search in Rotated Sorted Array ","date":"2017-07-23T15:56:00.000Z","updated":"2018-01-12T14:25:37.504Z","comments":true,"path":"2017/07/23/title: Search in Rotated Sorted Array /","link":"","permalink":"http://codingdoge.cn/2017/07/23/title: Search in Rotated Sorted Array /","excerpt":"","text":"题目来源LeetCode: LeetCode OJ 题目描述: Suppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).You are given a target value to search. If found in the array return its index, otherwise return -1.You may assume no duplicate exists in the array. 题目解释一个排好序的数组,不知道以哪个点为中心旋转了(部分有序),你的任务是查找给定的数是否存在数组中。在的话返回下标,不在的话返回-1. 分析查找首先想到O(log(n))的二分查找,但是二分查找的前提是有序数组。题目里一个有序数组旋转后变成了部分有序。通过比较两端大小找到增序部分。 eg: 4 5 6 0 1 2 3first = 4, mid = 0, last = 3,通过比较first,mid,last找到增序部分。在这个例子中为1 2 3,然后判断target是否在这个增序子序列中,如果在则直接用二分查找,不在则在另一部分(例子中为4 5 6 0)中继续分解。 Codeint search(const vector<int>& nums, int target) { int first = 0; int last = nums.size(); while(first != last) { const int mid = (first+last)>>1; // 使用位运算加速 if(nums[mid] == target) return mid; if(nums[first] <= nums[mid]) // 找到增序子序列 if(nums[first]<=target && target<nums[mid]) // 找到target在哪个部分 last = mid; else first = mid+1; else if(nums[mid]<target && target<=nums[last-1]) first = mid+1; else last = mid; } return -1; } 拓展当数组为无序时的二分查找 分析一种是先排序再二分,一种是结合快排思想,每次选择一个关键字,比他大的放右边,比他小的放左边,然后再比较他和需要查找的数的关系,再选择区间进行迭代。如果需要返回查找数的下标,则添加一个纪录下标的数组,这样排好序后也能知道当前数在原始数组中的位置。 初始数组3 1 2 5 4 7 0 6mid = key = 3 进行一次快排填坑得到数组0 1 2 3 4 7 5 6比较mid与target如果target>mid则迭代mid后半部分如果target<mid则迭代mid前半部分直到找到target Codeint BinarySearch(vector<int>& nums, int target) { int num = nums.size(); int index[num]; // index数组纪录下标 以便能找到在数组的初始位置 for(int i = 0; i < num; i++) // 初始化index数组 index[i] = i; int l, r, m, sl, sr, mIndex; l = 0, r = num-1; while(l<=r) // 开始迭代 { mIndex = index[l], m = nums[l]; sl = l, sr = r; while(sl<sr) // 快排思想,左右填坑,并用index记录位置 { while(sl<sr && m<nums[sr]) sr--; nums[sl] = nums[sr]; index[sl] = index[sr]; while(sl<sr && m>nums[sl]) sl++; nums[sr] = nums[sl]; index[sr] = index[sl]; } nums[sl] = m; index[sl] = mIndex; if(m == target) return mIndex; if(target > m) // 判断target在哪个区间 l = sl+1; else r = sl-1; } return -1; } 相关题目Search in Rotated Sorted Array II 相关题目分析因为允许出现重复数字,但是数组还是部分有序的,所以跳过重复数字即可 Codeint search(const vector<int>& nums, int target) { int first = 0; int last = nums.size(); while(first != last) { const int mid = (first+last)>>1; if(nums[mid] == target) return mid; if(nums[first] < nums[mid]) if(nums[first]<=target && target<nums[mid]) last = mid; else first = mid+1; else if(nums[first] > nums[mid]) { if(nums[mid]<target && target<=nums[last-1]) first = mid+1; else last = mid; } else // 特判相等时跳过 first++; } return -1; }","categories":[{"name":"Algorithm","slug":"Algorithm","permalink":"http://codingdoge.cn/categories/Algorithm/"}],"tags":[{"name":"LeetCode","slug":"LeetCode","permalink":"http://codingdoge.cn/tags/LeetCode/"}]},{"title":"Remove Duplicates from Sorted Array","slug":"title: Remove Duplicates from Sorted Array ","date":"2017-07-23T15:56:00.000Z","updated":"2018-01-14T16:41:30.178Z","comments":true,"path":"2017/07/23/title: Remove Duplicates from Sorted Array /","link":"","permalink":"http://codingdoge.cn/2017/07/23/title: Remove Duplicates from Sorted Array /","excerpt":"","text":"题目来源LeetCode: LeetCode OJ 题目描述Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.Do not allocate extra space for another array, you must do this in place with constant memory.For example,Given input array nums = [1,1,2],Your function should return length = 2, with the first two elements of nums being 1 and 2 respectively. It doesn’t matter what you leave beyond the new length. 题目解释给出一个sorted array(意思是指已经排好序了?),处理后数组里每一个元素只能出现一次,返回处理后的数组长度。不能使用额外的数组空间,只能用已经给出的确定的内存空间。 分析因为不太懂sorted array具体指的什么,第一次做的时候以为数组是随机的,相同元素出现的位置是随机的,然后题目也没给出limit time,随手就写了一个O(n^3) 12345678910for(int i = 0; i < num; i++){ truefor(int j = i+1; j < num; j++){ truetrueif(array[i] == array[j]){ for(int k = j; k < num-1; k++) array[k] = array[k+1]; num--; j--; } } } 自然是T了。然后就把sorted array当做已经排好序的数组,那就容易多了,算法也都是O(1),一看代码就明白,水题,直接上代码。 way11234567if (nums.empty()) return 0; int index = 0; for (int i = 1; i < nums.size(); i++) { if (nums[index] != nums[i]) nums[++index] = nums[i]; } return index + 1; way2 STL1return distance(nums.begin(), unique(nums.begin(), nums.end())); std::distancetemplatetypename iterator_traits::difference_type distance (InputIterator first, InputIterator last);Return distance between iteratorsCalculates the number of elements between first and last.c++ reference std::uniqueequality (1)template ForwardIterator unique (ForwardIterator first, ForwardIterator last);predicate (2)template ForwardIterator unique (ForwardIterator first, ForwardIterator last, BinaryPredicate pred); Remove consecutive duplicates in rangeRemoves all but the first element from every consecutive group of equivalent elements in the range [first,last).c++ reference 相关题目RemoveDuplicatesfromSortedArrayII","categories":[{"name":"Algorithm","slug":"Algorithm","permalink":"http://codingdoge.cn/categories/Algorithm/"}],"tags":[{"name":"LeetCode","slug":"LeetCode","permalink":"http://codingdoge.cn/tags/LeetCode/"}]},{"title":"常见排序算法总结","slug":"title: 常见排序算法总结 ","date":"2017-07-23T15:56:00.000Z","updated":"2018-01-14T16:45:17.006Z","comments":true,"path":"2017/07/23/title: 常见排序算法总结 /","link":"","permalink":"http://codingdoge.cn/2017/07/23/title: 常见排序算法总结 /","excerpt":"","text":"排序算法一般分为: 内部排序(In-place sort) 不占用额外内存或者占用常数内存,如:插入排序、选择排序、冒泡排序、堆排序、快速排序。 外部排序(Out-place sort) 因为排序数据大,可用内存一次不能容纳所有排序记录,排序过程中需要访问外存,如:归并排序、计数排序、基数排序、桶排序。 也分为: 稳定的排序(stable sort) 插入排序、冒泡排序、归并排序、计数排序、基数排序、桶排序。 不稳定的排序(unstable sort) 选择排序、快速排序、堆排序。 算法的稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,ri=rj,且ri在rj之前,而在排序后的序列中,ri仍在rj之前,则称这种排序算法是稳定的;否则称为不稳定的。 不稳定算法的改进:只需要在每个输入元素加一个index,表示初始时的数组索引,当不稳定的算法排好序后,对于相同的元素对index排序即可。 插入排序 最优复杂度:当输入数组就是排好序的时候,复杂度为O(n),而快速排序在这种情况下会产生O(n^2)的复杂度。最差复杂度:当输入数组为倒序时,复杂度为O(n^2)。 插入排序比较适合用于“少量元素的数组”。插入排序比较适合用于“少量元素的数组”。 1.直接插入排序(Straight Insertion Sort) 工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。具体算法描述如下: 从第一个元素开始,该元素可以认为已经被排序 取出下一个元素,在已经排序的元素序列中从后向前扫描 如果该元素(已排序)大于新元素,将该元素移到下一位置 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置 将新元素插入到该位置后 重复步骤2~5 直接插入排序示例: 如果排序时碰到相等的元素,比较后会把相等的元素放在后面,所以这两个相等的元素之间的前后顺序没有改变,排序是稳定的。 算法的实现: 123456789101112131415161718void InsertSort(int a[], int n){ for(int i = 1; i < n; i++) { if(a[i] < a[i-1]) //若第i个元素大于i-1元素,直接插入。小于的话,移动有序表后插入 { int j = i-1; int temp = a[i]; //存储待排序元素 a[i] = a[i-1]; //先后移一个元素 while(x < a[j] && j >= 0) //查找在有序表中的插入位置,并注意边界判断 { a[j+1] = a[j]; j--; //元素后移 } a[j+1] = temp; //插入到正确位置 } }} 如果比较操作的代价比交换操作大的话,可以采用二分查找法来减少比较操作的数目。直接插入排序算法的优化算法有:二分插入排序,2-路插入排序。 2.希尔排序(Shell’s Sort) 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。它是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率 但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位 基本原理是先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。算法具体描述如下: 选择一个步长,其设计者Donald Shell最初建议步长选择为n/2并且对步长取半直到步长达到1; 以步长为间隔对序列进行排序; 重复步骤2直到步长为1。 希尔排序的示例: 希尔排序是不稳定的。 算法的实现: 1234567891011121314void ShellInsertSort(int a[], int n){ for (int gap=n>>1; gap>0; gap>>=1) // 确定步长,直到步长为1 { for (int i=gap; i<n; i++) // 以步长为间隔进行排序 { int temp = a[i]; int j; for (j=i-gap; j>=0&&a[j]>temp; j-=gap) // 排序细节 a[j+gap] = a[j]; a[j+gap] = temp; } }} 可能希尔排序最重要的地方在于当用较小步长排序后,以前用的较大步长仍然是有序的。已知的最好步长序列是由Sedgewick提出的(1, 5, 19, 41, 109,…),该序列的项来自两个算式[1]。这项研究也表明“比较在希尔排序中是最主要的操作,而不是交换。”用这样步长序列的希尔排序比插入排序要快,甚至在小数组中比快速排序和堆排序还快,但是在涉及大量数据时希尔排序还是比快速排序慢。 选择排序 简单选择排序(Simple Selection Sort) 基本原理是在要排序的一组数中,选出最小(或者最大)的一个数与第1个位置的数交换;然后在剩下的数当中再找最小(或者最大)的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。算法的具体描述如下: 第一趟,从n 个记录中找出关键码最小的记录与第一个记录交换; 第二趟,从第二个记录开始的n-1 个记录中再选出关键码最小的记录与第二个记录交换; 以此类推….. 第i趟,则从第i 个记录开始的n-i+1 个记录中选出关键码最小的记录与第i 个记录交换, 直到整个序列按关键码有序。 简单选择排序的示例: 算法实现: 1234567891011void SelectSort(int a[], int n){trueint min = a[0];truefor (int i = 0; i < n; i++)true{truetruefor (int j = i; j < n; j++) // 每次选出序列中最小的数truetruetrueif (a[j] < min)truetruetruetruemin = a[j];truetruea[i] = min; // 将每次选好的数放在正确的位置true}} 选择排序是稳定的。 选择排序的交换操作介于0和(n-1)次之间。选择排序的比较操作为n(n-1)次之间。选择排序的赋值操作介于0和3(n-1)次之间。比较次数O(n^2 ),比较次数与关键字的初始状态无关,总的比较次数N=(n-1)+(n-2)+…+1=n(n-1)/2。交换次数O(n),最好情况是,已经有序,交换0次;最坏情况是,逆序,交换n-1次。交换次数比冒泡排序较少,由于交换所需CPU时间比比较所需的CPU时间多,n值较小时,选择排序比冒泡排序快。原地操作几乎是选择排序的唯一优点,当空间复杂度要求较高时,可以考虑选择排序;实际适用的场合非常罕见。 简单排序的改进——二元选择排序简单选择排序,每趟循环只能确定一个元素排序后的定位。我们可以考虑改进为每趟循环确定两个元素(当前趟最大和最小记录)的位置,从而减少排序所需的循环次数。改进后对n个数据进行排序,最多只需进行[n/2]趟循环即可。具体实现如下: 123456789101112131415161718void SelectSort(int r[],int n) { int i ,j , min ,max, tmp; for (i=1 ;i <= n/2;i++) { // 做不超过n/2趟选择排序 min = i; max = i ; //分别记录最大和最小关键字记录位置 for (j= i+1; j<= n-i; j++) { if (r[j] > r[max]) { max = j ; continue ; } if (r[j]< r[min]) { min = j ; } } //该交换操作还可分情况讨论以提高效率 tmp = r[i-1]; r[i-1] = r[min]; r[min] = tmp; tmp = r[n-i]; r[n-i] = r[max]; r[max] = tmp; } } 堆排序(Heap Sort) 堆排序是指利用堆这种数据结构所设计的一种排序算法。其基本原理如下:堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。若以一维数组存储一个堆,则堆对应一棵完全二叉树,且所有非叶结点的值均不大于(或不小于)其子女的值,根结点(堆顶元素)的值是最小(或最大)的。如: 大顶堆序列:(96, 83, 27, 38, 11, 09) 小顶堆序列:(12, 36, 24, 85, 47, 30, 53, 91) 初始时把n个数的序列看作是一棵顺序存储的二叉树(一维数组存储二叉树),调整它们的存储序,使之成为一个堆,将堆顶元素输出,得到n个元素中最小(或最大)的元素,这时堆的根节点的数最小(或者最大)。然后对前面(n-1)个元素重新调整使之成为堆,输出堆顶元素,得到n个元素中次小(或次大)的元素。依此类推,直到只有两个节点的堆,并对它们作交换,最后得到有n个节点的有序序列。称这个过程为堆排序。因此,实现堆排序需解决两个问题: 如何将n 个待排序的数建成堆; 输出堆顶元素后,怎样调整剩余n-1 个元素,使其成为一个新堆。 首先讨论第二个问题:输出堆顶元素后,对剩余n-1元素重新建成堆的调整过程。调整小顶堆的方法: 设有m 个元素的堆,输出堆顶元素后,剩下m-1 个元素。将堆底元素送入堆顶((最后一个元素与堆顶进行交换),堆被破坏,其原因仅是根结点不满足堆的性质。 将根结点与左、右子树中较小元素的进行交换。 若与左子树交换:如果左子树堆被破坏,即左子树的根结点不满足堆的性质,则重复方法 2. 若与右子树交换,如果右子树堆被破坏,即右子树的根结点不满足堆的性质。则重复方法 2. 继续对不满足堆性质的子树进行上述交换操作,直到叶子结点,堆被建成。 称这个自根结点到叶子结点的调整过程为筛选。如图: 再讨论对n 个元素初始建堆的过程。建堆方法:对初始序列建堆的过程,就是一个反复进行筛选的过程。 n个结点的完全二叉树,则最后一个结点是第个结点的子树。 筛选从第个结点为根的子树开始,该子树成为堆。 之后向前依次对各结点为根的子树进行筛选,使之成为堆,直到根结点。 如图建堆初始过程:无序序列:(49,38,65,97,76,13,27,49) 算法的实现: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556/** * 已知H[s…m]除了H[s] 外均满足堆的定义 * 调整H[s],使其成为大顶堆.即将对第s个结点为根的子树筛选, * * @param H是待调整的堆数组 * @param s是待调整的数组元素的位置 * @param length是数组的长度 * */ void HeapAdjust(int H[],int s, int length) { int tmp = H[s]; int child = 2*s+1; //左孩子结点的位置。(i+1 为当前调整结点的右孩子结点的位置) while (child < length) { if(child+1 <length && H[child]<H[child+1]) // 如果右孩子大于左孩子(找到比当前待调整结点大的孩子结点) ++child; if(H[s]<H[child]) { // 如果较大的子结点大于父结点 H[s] = H[child]; // 那么把较大的子结点往上移动,替换它的父结点 s = child; // 重新设置s ,即待调整的下一个结点的位置 child = 2*s+1; } else // 如果当前待调整结点大于它的左右孩子,则不需要调整,直接退出 break; H[s] = tmp; // 当前待调整的结点放到比其大的孩子结点位置上 } } /** * 初始堆进行调整 * 将H[0..length-1]建成堆 * 调整完之后第一个元素是序列的最小的元素 */ void BuildingHeap(int H[], int length) { //最后一个有孩子的节点的位置 i= (length -1) / 2 for (int i = (length -1) / 2 ; i >= 0; i--) HeapAdjust(H,i,length);} /** * 堆排序算法 */ void HeapSort(int H[],int length) { //初始堆 BuildingHeap(H, length); //从最后一个元素开始对序列进行调整 for (int i = length - 1; i > 0; --i) { //交换堆顶元素H[0]和堆中最后一个元素 int temp = H[i]; H[i] = H[0]; H[0] = temp; //每次交换堆顶元素和堆中最后一个元素之后,都要对堆进行调整 HeapAdjust(H,0,i); } } 堆排序是不稳定的。 设树深度为k, 次,交换记录至多k 次。所以,在建好堆后,排序过程中的筛选次数不超过下式: 而建堆时的比较次数不超过4n 次,因此堆排序最坏情况下,时间复杂度也为:O(nlogn )。 交换排序冒泡排序(Bubble Sort) 冒泡排序重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。冒泡排序示例: 算法的实现: 1234567891011void bubbleSort(int a[], int n){ for(int i =0 ; i< n-1; ++i) for(int j = 0; j < n-i-1; ++j) if(a[j] > a[j+1]) { int tmp = a[j]; a[j] = a[j+1]; a[j+1] = tmp; } } 冒泡排序是稳定的。 冒泡算法的改进对冒泡排序常见的改进方法是加入一标志性变量exchange,用于标志某一趟排序过程中是否有数据交换,如果进行某一趟排序时并没有进行数据交换,则说明数据已经按要求排列好,可立即结束排序,避免不必要的比较过程。本文再提供以下两种改进算法: 设置一标志性变量pos,用于记录每趟排序中最后一次进行交换的位置。由于pos位置之后的记录均已交换到位,故在进行下一趟排序时只要扫描到pos位置即可。改进后算法如下: 1234567891011121314151617void Bubble_1 ( int r[], int n){ int i = n -1; //初始时,最后位置保持不变 while (i > 0) { int pos= 0; //每趟开始时,无记录交换 for (int j = 0; j < i; j++) if (r[j] > r[j+1]) { pos = j; //记录交换的位置 int tmp = r[j]; r[j] = r[j+1]; r[j+1] = tmp; } i = pos; //为下一趟排序作准备 } } 传统冒泡排序中每一趟排序操作只能找到一个最大值或最小值,我们考虑利用在每趟排序中进行正向和反向两遍冒泡的方法一次可以得到两个最终值(最大者和最小者) , 从而使排序趟数几乎减少了一半。改进后的算法为: 12345678910111213141516171819202122232425void Bubble_2 (int r[], int n){ int low = 0; int high = n-1; //设置变量的初始值 int tmp, j; while (low < high) { for (j = low; j < high; ++j) //正向冒泡,找到最大者 if (r[j] > r[j+1]) { tmp = r[j]; r[j]=r[j+1]; r[j+1]=tmp; } --high; //修改high值, 前移一位 for (j = high; j > low; --j) //反向冒泡,找到最小者 if (r[j] < r[j-1]) { tmp = r[j]; r[j]=r[j-1]; r[j-1]=tmp; } ++low; //修改low值,后移一位 } } 快速排序(Quick Sort) 快速排序又称划分交换排序(partition-exchange sort),使用分治法(Divide and conquer)策略来把一个序列(list)分为两个子序列(sub-lists)。其算法描述为: 从数列中挑出一个元素,称为”基准”(pivot)。 重新排序数列,所有比基准值小的元素摆放在基准前面,所有比基准值大的元素摆在基准后面(相同的数可以到任一边)。在这个分区结束之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。 递归地(recursively)把小于基准值元素的子数列和大于基准值元素的子数列排序。 快速排序的示例: 一趟排序的过程 排序的全过程 算法的实现(递归): 1234567891011121314151617181920void quickSort_recursive(int a[], int low, int high){ int first = low; int last = high; int key = a[first]; if(low >= high) return ; while(first < last) { while((first < last)&&(key <= a[last])) last--; a[first] = a[last]; while((first < last)&&(key >= a[first])) first++; a[last] = a[first]; } a[first] = key; quickSort_recursive(a, low, first-1); quickSort_recursive(a, first+1, high);} 快速排序是不稳定的。快排迭代算法:维护一个栈,存放划分的起点终点 在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下(正序或逆序)则需要Ο(n^2 )次比较,取决于其递归树的高度。事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序是一个不稳定的排序方法。 归并排序(Merge Sort) 归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 递归法 将序列每相邻两个数字进行归并操作,形成floor(n/2)个序列,排序后每个序列包含两个元素 将上述序列再次归并,形成floor(n/4)个序列,每个序列包含四个元素 重复步骤2,直到所有元素排序完毕 算法实现: 12345678910111213141516171819202122232425void merge_sort_recursive(int arr[], int reg[], int start, int end){ if (start >= end) return; int len = end - start, mid = (len >> 1) + start; int start1 = start, end1 = mid; int start2 = mid + 1, end2 = end; merge_sort_recursive(arr, reg, start1, end1); merge_sort_recursive(arr, reg, start2, end2); int k = start; while (start1 <= end1 && start2 <= end2) reg[k++] = arr[start1] < arr[start2] ? arr[start1++] : arr[start2++]; while (start1 <= end1) reg[k++] = arr[start1++]; while (start2 <= end2) reg[k++] = arr[start2++]; for (k = start; k <= end; k++) arr[k] = reg[k];}void merge_sort(int arr[], const int len){trueint reg[len];truemerge_sort_recursive(arr, reg, 0, len - 1);} 两路归并的递归算法12345678910111213141516void MSort(ElemType *r, ElemType *rf,int s, int t) { ElemType *rf2; if(s==t) r[s] = rf[s]; else { int m=(s+t)/2; /*平分*p 表*/ MSort(r, rf2, s, m); /*递归地将p[s…m]归并为有序的p2[s…m]*/ MSort(r, rf2, m+1, t); /*递归地将p[m+1…t]归并为有序的p2[m+1…t]*/ Merge(rf2, rf, s, m+1,t); /*将p2[s…m]和p2[m+1…t]归并到p1[s…t]*/ } } void MergeSort_recursive(ElemType *r, ElemType *rf, int n) { /*对顺序表*p 作归并排序*/ MSort(r, rf,0, n-1); } 迭代法 申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列; 设定两个指针,最初位置分别为两个已经排序序列的起始位置; 比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置; 重复步骤3直到某一指针到达序列尾; 将另一序列剩下的所有元素直接复制到合并序列尾; 算法实现: 12345678910111213141516171819202122232425262728293031void merge_sort_iteration(int arr[], int len){ int* a = arr; int* b = new int[len]; for (int seg = 1; seg < len; seg += seg) { for (int start = 0; start < len; start += seg + seg) { int low = start, mid = min(start + seg, len), high = min(start + seg + seg, len); int k = low; int start1 = low, end1 = mid; int start2 = mid, end2 = high; while (start1 < end1 && start2 < end2) b[k++] = a[start1] < a[start2] ? a[start1++] : a[start2++]; while (start1 < end1) b[k++] = a[start1++]; while (start2 < end2) b[k++] = a[start2++]; } T* temp = a; a = b; b = temp; } if (a != arr) { for (int i = 0; i < len; i++) b[i] = a[i]; b = a; } delete[] b;} 归并排序是稳定的。 总结各种排序的稳定性,时间复杂度和空间复杂度总结: 参考资料有:真实的归宿——八大排序算法xiazdong——九大排序算法再总结wikipedia","categories":[{"name":"Algorithm","slug":"Algorithm","permalink":"http://codingdoge.cn/categories/Algorithm/"}],"tags":[]},{"title":"self与super的区别","slug":"title: self与super的区别 ","date":"2017-07-23T15:47:00.000Z","updated":"2018-01-14T16:47:12.060Z","comments":true,"path":"2017/07/23/title: self与super的区别 /","link":"","permalink":"http://codingdoge.cn/2017/07/23/title: self与super的区别 /","excerpt":"","text":"原文CSDN evilotus有所整理 在ObjC中的类实现中经常看到这两个关键字”self”和”super”,以以前oop语言的经验,拿c++为例,self相当于this,super相当于调用父类的方法,这么看起来是很容易理解的。但是它们真正是如何调用的呢? 你知道吗? 以下面的代码为例: 12345678910111213141516171819202122232425262728@interface Person:NSObject{trueNSString* name;} (void) setName:(NSString) yourName;@end //Person @interface PersonMe:Person{trueNSUInteger age;} (void) setAge:(NSUInteger) age; (void) setName:(NSString*) yourName andAge:(NSUInteger) age;@end // PersonMe @implementation PersonMe(void) setName:(NSString*) yourName andAge:(NSUInteger) age{true[self setAge:age];true[super setName:yourName];}@end // PersonMe int main(int argc, char* argv[]) {NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]PersonMe* me = [[PersonMe alloc] init];[me setName: @"asdf" andAge: 18];[me release];[pool drain];return 0;} 上面有简单的两个类,在子类PersonMe中调用了自己类中的setAge和父类中的setName,这些代码看起来很好理解,没什么问题。 然后我在setName:andAge的方法中加入两行: 1234567891011NSLog(@"self ' class is %@", [self class]);NSLog(@"super' class is %@", [super class]);``` 这样在调用时,会打出来这两个的**class**,先猜下吧,会打印出什么? 按照以前*oop*语言的经验,这里应该会输出:***self ' s class is PersonMe super ' s class is Person***但是编译运行后,可以发现结果是:``` // self 's class is PersonMesuper ' s class is PersonMe self的class和预想的一样,怎么super的class也是PersonMe? 真相self是类的隐藏的参数,指向当前当前调用方法的类,另一个隐藏参数是_cmd,代表当前类方法的selector。这里只关注这个self。super是个啥?super并不是隐藏的参数,它只是一个“编译器指示符”,它和self指向的是相同的消息接收者,拿上面的代码为例,不论是用[self setName]还是[super setName],接收“setName”这个消息的接收者都是PersonMe* me这个对象。不同的是,super告诉编译器,当调用setName的方法时,要去调用父类的方法,而不是本类里的。 当使用self调用方法时,会从当前类的方法列表中开始找,如果没有,就从父类中再找;而当使用superv时,则从父类**的方法列表中开始找。然后调用父类的这个方法。 One more step这种机制到底底层是如何实现的?其实当调用类方法的时候,编译器会将方法调用转成一个C函数方法调用,apple的objcRuntimeRef上说: Sending MessagesWhen it encounters a method invocation, the compiler might generate a call to any of several functions to perform the actual message dispatch, depending on the receiver, the return value, and the arguments. You can use these functions to dynamically invoke methods from your own plain C code, or to use argument forms not permitted by NSObject’s perform… methods. These functions are declared in /usr/include/objc/objc-runtime.h. objc_msgSend sends a message with a simple return value to an instance of a class. objc_msgSend_stret sends a message with a data-structure return value to an instance ofa class. objc_msgSendSuper sends a message with a simple return value to the superclass of an instance of a class. objc_msgSendSuper_stret sends a message with a data-structure return value to the superclass of an instance of a class. 可以看到会转成调用上面4个方法中的一个,由于_stret系列的和没有_stret的那两个类似,先只关注objc_msgSend和objc_msgSendSuper两个方法。 当使用[self setName]调用时,会使用objc_msgSend的函数,先看下objc_msgSend的函数定义: 1id objc_msgSend(id theReceiver, SEL theSelector, ...) 第一个参数是消息接收者,第二个参数是调用的具体类方法的selector,后面是selector方法的可变参数。我们先不管这个可变参数,以[self setName:]为例,编译器会替换成调用objc_msgSend的函数调用,其中theReceiver是self,theSelector是 @selector(setName:),这个selector是从当前self的class的方法列表开始找的setName,当找到后把对应的 selector传递过去。 而当使用[super setName]调用时,会使用objc_msgSendSuper函数,看下objc_msgSendSuper的函数定义: 1id objc_msgSendSuper(struct objc_super *super, SEL op, ...) 第一个参数是个objc_super的结构体,第二个参数还是类似上面的类方法的selector,先看下objc_super这个结构体是什么东西: struct objc_super { id receiver; Class superClass; }; 可以看到这个结构体包含了两个成员,一个是receiver,这个类似上面objc_msgSend的第一个参数receiver,第二个成员是记 录写super这个类的父类是什么,拿上面的代码为例,当编译器遇到PersonMe里setName:andAge方法里的[super setName:]时,开始做这几个事: 构建objc_super的结构体,此时这个结构体的第一个成员变量receiver就是PersonMe* me,和self相同。而第二个成员变量superClass就是指类Person,因为PersonMe的超类就是这个Person。 调用objc_msgSendSuper的方法,将这个结构体和setName的sel传递过去。函数里面在做的事情类似这样:从objc_super结构体指向的superClass的方法列表开始找setName的selector,找到后再以 objc_super->receiver去调用这个selector,可能也会使用objc_msgSend这个函数,不过此时的第一个参数 theReceiver就是objc_super->receiver,第二个参数是从objc_super->superClass中找到 的selector 里面的调用机制大体就是这样了,以上面的分析,回过头来看开始的代码,当输出[self class]和[super class]时,是个怎样的过程。 当使用[self class]时,这时的self是PersonMe,在使用objc_msgSend时,第一个参数是receiver也就是self,也是 PersonMe* me这个实例。第二个参数,要先找到class这个方法的selector,先从PersonMe这个类开始找,没有,然后到PersonMe的父类 Person中去找,也没有,再去Person的父类NSObject去找,一层一层向上找之后,在NSObject的类中发现这个class方法,而 NSObject的这个class方法,就是返回receiver的类别,所以这里输出PersonMe。 当使用[super class]时,这时要转换成objc_msgSendSuper的方法。先构造objc_super的结构体吧,第一个成员变量就是self, 第二个成员变量是Person,然后要找class这个selector,先去superClass也就是Person中去找,没有,然后去Person 的父类中去找,结果还是在NSObject中找到了。然后内部使用函数objc_msgSend(objc_super->receiver, @selector(class)) 去调用,此时已经和我们用[self class]调用时相同了,此时的receiver还是PersonMe* me,所以这里返回的也是PersonMe。 Furthor more 在类的方法列表寻找一个方法时,还牵涉到一个概念类对象的isa指针和objc的meta-class概念,这里就不再详细介绍。","categories":[{"name":"iOS","slug":"iOS","permalink":"http://codingdoge.cn/categories/iOS/"}],"tags":[{"name":"OC","slug":"OC","permalink":"http://codingdoge.cn/tags/OC/"},{"name":"转载","slug":"转载","permalink":"http://codingdoge.cn/tags/转载/"}]},{"title":"Objective-C声明在头文件和实现文件中的区别","slug":"title: Objective-C声明在头文件和实现文件中的区别 ","date":"2017-07-23T15:47:00.000Z","updated":"2018-01-14T16:53:10.421Z","comments":true,"path":"2017/07/23/title: Objective-C声明在头文件和实现文件中的区别 /","link":"","permalink":"http://codingdoge.cn/2017/07/23/title: Objective-C声明在头文件和实现文件中的区别 /","excerpt":"","text":"转自codecloud(有整理) 调试程序的时候,突然想到这个问题,百度一下发现有不少这方面的问答,粗略总结一下: 属性写在.h文件中和在.m文件中有什么区别? Objective-C中有分类和类扩展的概念,而实现文件中的类声明实际上就是类扩展. @interface部分为类扩展(extension) 其被设计出来就是为了解决两个问题的 定义类私有方法的地方,也就是下面说到的区别一 实现public readonly,private readwrite的property(意思是在h头文件中定义一个属性对外是readonly的,但在类的内部希望是可读写的,所以可以在m源文件中的@interface部分重新定义此属性为readwrite,此时此属性对外是只读的,对内是读写的). 此外,也可在此部分申明变量和属性,但申明的变量,属性和方法均为私有的,只能够被当前类访问,相当于private。 区别一:属性在.h文件中和在.m中声明是有区别的。区别就是,在.h文件中声明的属性,外部类可以通过“类实例.属性”来调用,但在.m中声明的则不可以,获取和设置的方法,只能是通过setValue:forKey和valueForKey来实现。 成员变量,有三种权限,就是大家都知道的@private、@protected、@public ,写在.m文件中时,相当于是@private权限,子类无法访问,验证了一下,做权限修改也无效。而写在.h文件中,默认是@protected权限,子类可以访问,可以做权限修改。因为访问权限指针对.h文件。.h文件中成员变量,外部类对其的调用,跟C++一样,用->来调用。 区别二这样可以提高编译效率,避免重复编译。因为分开的话只需要编译一次生成对应的.obj文件后,再次应用该类的地方,这个类就不会被再次编译,从而大大提高了效率。这样可以提高编译效率,避免重复编译. 怎么去解释呢…其实这是一个面向对象的思想,所谓”提高”的比较对象,应该是直接将方法写到具体函数里的实现方式.h为编译器提供一个索引、声明,连接obj对象和主程序.编译器在编译的时候,如果需要,则去查找h,找到了h,再找对应的obj,就可以找到类的方法了.但是如果直接写入到同一个文件(例如hpp),主程序没有索引,也不清楚具体的类实现了没有,只能一次次重复的编译相同的代码,这样实际上没有把这个类该有的东西抽象出来.对于函数声明在头文件中,在实现文件中实现,也是避免重复编译,函数可以多次声明,但只能实现一次. 头文件相对于实现文件的作用在于: 头文件可以预先告诉编译器一些必要的声明,让编译器顺利进行下去,在连接实现以前.未必出现实际的定义. 头文件的意义在: * 使得程序简明,清晰. * 避免了重复编写相同的声明代码. .c和.h文件没有必然的联系. 关于头文件和实现文件的编译连接的过程其实要理解C文件与头文件有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 预处理阶段 词法与语法分析阶段 编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件 连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,当然,最后还可以用objcopy生成纯二进制码,也就是去掉了文件格式信息. 编译器在编译时是以C文件为单位进行的,也就是说如果你的项目中一个C文件都没有,那么你的项目将无法编译,连接器是以目标文件为单位,它将一个或多个目标文件进行函数与变量的重定位,生成最终的可执行文件,在PC上的程序开发,一般都有一个main函数,这是各个编译器的约定,当然,你如果自己写连接器脚本的话,可以不用main函数作为程序入口!!! 有了这些基础知识,再言归正传,为了生成一个最终的可执行文件,就需要一些目标文件,也就是需要C文件,而这些C文件中又需要一个main函数作为可执行程序的入口,那么我们就从一个C文件入手,假定这个C文件内容如下: 12345678#include \\<stdio.h>#include “mytest.h”int main(int argc,char **argv){test = 25;printf(“test……………..%d\\n”,test);} 头文件内容如下:int test; 现在以这个例子来讲解编译器的工作: 预处理阶段:编译器以C文件作为一个单元,首先读这个C文件,发现第一句与第二句是包含一个头文件,就会在所有搜索路径中寻找这两个文件,找到之后,就会将相应头文件中再去处理宏,变量,函数声明,嵌套的头文件包含等,检测依赖关系,进行宏替换,看是否有重复定义与声明的情况发生,最后将那些文件中所有的东东全部扫描进这个当前的C文件中,形成一个中间“C文件” 编译阶段:在上一步中相当于将那个头文件中的test变量扫描进了一个中间C文件,那么test变量就变成了这个文件中的一个全局变量,此时就将所有这个中间C文件的所有变量,函数分配空间,将各个函数编译成二进制码,按照特定目标文件格式生成目标文件,在这种格式的目标文件中进行各个全局变量,函数的符号描述,将这些二进制码按照一定的标准组织成一个目标文件 连接阶段:将上一步成生的各个目标文件,根据一些参数,连接生成最终的可执行文件,主要的工作就是重定位各个目标文件的函数,变量等,相当于将个目标文件中的二进制码按一定的规范合到一个文件中 再回到C文件与头文件各写什么内容的话题上:理论上来说C文件与头文件里的内容,只要是C语言所支持的,无论写什么都可以的,比如你在头文件中写函数体,只要在任何一个C文件包含此头文件就可以将这个函数编译成目标文件的一部分(编译是以C文件为单位的,如果不在任何C文件中包含此头文件的话,这段代码就形同虚设),你可以在C文件中进行函数声明,变量声明,结构体声明,这也不成问题!!!那为何一定要分成头文件与C文件呢?又为何一般都在头件中进行函数,变量声明,宏声明,结构体声明呢?而在C文件中去进行变量定义,函数实现呢??原因如下: 如果在头文件中实现一个函数体,那么如果在多个C文件中引用它,而且又同时编译多个C文件,将其生成的目标文件连接成一个可执行文件,在每个引用此头文件的C文件所生成的目标文件中,都有一份这个函数的代码,如果这段函数又没有定义成局部函数,那么在连接时,就会发现多个相同的函数,就会报错 如果在头文件中定义全局变量,并且将此全局变量赋初值,那么在多个引用此头文件的C文件中同样存在相同变量名的拷贝,关键是此变量被赋了初值,所以编译器就会将此变量放入DATA段,最终在连接阶段,会在DATA段中存在多个相同的变量,它无法将这些变量统一成一个变量,也就是仅为此变量分配一个空间,而不是多份空间,假定这个变量在头文件没有赋初值,编译器就会将之放入BSS段,连接器会对BSS段的多个同名变量仅分配一个存储空间 如果在C文件中声明宏,结构体,函数等,那么我要在另一个C文件中引用相应的宏,结构体,就必须再做一次重复的工作,如果我改了一个C文件中的一个声明,那么又忘了改其它C文件中的声明,这不就出了大问题了,程序的逻辑就变成了你不可想象的了,如果把这些公共的东东放在一个头文件中,想用它的C文件就只需要引用一个就OK了!!!这样岂不方便,要改某个声明的时候,只需要动一下头文件就行了 在头文件中声明结构体,函数等,当你需要将你的代码封装成一个库,让别人来用你的代码,你又不想公布源码,那么人家如何利用你的库呢?也就是如何利用你的库中的各个函数呢??一种方法是公布源码,别人想怎么用就怎么用,另一种是提供头文件,别人从头文件中看你的函数原型,这样人家才知道如何调用你写的函数,就如同你调用printf函数一样,里面的参数是怎样的??你是怎么知道的??还不是看人家的头文件中的相关声明啊!!!当然这些东东都成了C标准,就算不看人家的头文件,你一样可以知道怎么使用.","categories":[{"name":"iOS","slug":"iOS","permalink":"http://codingdoge.cn/categories/iOS/"}],"tags":[{"name":"OC","slug":"OC","permalink":"http://codingdoge.cn/tags/OC/"},{"name":"转载","slug":"转载","permalink":"http://codingdoge.cn/tags/转载/"}]},{"title":"CocoaPods 安装及一般使用","slug":"title: CocoaPods 安装及一般使用","date":"2017-07-23T15:47:00.000Z","updated":"2018-01-13T05:06:34.464Z","comments":true,"path":"2017/07/23/title: CocoaPods 安装及一般使用/","link":"","permalink":"http://codingdoge.cn/2017/07/23/title: CocoaPods 安装及一般使用/","excerpt":"","text":"WHAT IS COCOAPODSCocoaPods is a dependency manager for Swift and Objective-C Cocoa projects.CocoaPods can help you scale your projects elegantly. INSTALLCocoaPods是基于ruby建立的,要确保你的电脑里装有Ruby,不过Mac都是自带Ruby的,你可以用rvm来管理你的ruby. RVM 实用指南 · Ruby China然后我们使用Rubygem来安装cocoapods.由于GFW的原因我们不能访问cocoapods.org,使用淘宝的Ruby镜像来代替: 删除自带的Ruby镜像$ gem sources --remove https://rubygems.org/ 添加淘宝的镜像$ gem sources -a https://gems.ruby-china.org/(如果这个镜像不能用,就用https://gems.ruby-china.org/) 可以用$ gem sources -l来检验。成功即显示以下结果: FF76DDA8-EC18-438C-B921-8603D4688C1D 安装CocoaPods$ sudo gem install cocoapods 配置CocoaPods$ pod setup 如果安装失败的话,根据报错去解决问题,比如gem没更新,ruby版本等。常见问题:While executing gem ... (Errno::EPERM)1Operation not permitted - /usr/bin/xcodeproj 安装Cocoapods, 更新gem出现的问题。 - SegmentFaultios - Cannot install cocoa pods after uninstalling, results in error - Stack Overflow Using CocoaPods 使用之前你要确保你所想用的库存在CocoaPods中:(拿AFNetworking举例)$ pod search AFNetworking第一次搜索会需要建立索引,比较慢一些。 搜索完成后会列举出结果和版本: 37122577-4CDC-48C9-9B25-4B943D983810 然后通过创建Podfile文件来添加依赖关系 先cd进你项目所在的目录(简介里面可以直接复制路径) 利用vim创建Podfile文件$ vim Podfile 然后输入:12345platform :ios, '10.0'target 'TargetName' dopod 'AFNetworking', '~> 3.0'end 文字的意思是,当前AFNetworking支持的iOS最高版本是iOS 10.0,’TargetName’为你项目的名称,要下载的AFNetworking版本是3.0保存退出。 运行$ pod install完成后会出现提示使用’XXX.xcworkspace’文件来代替之前的’XXX.xcodeproj’文件打开项目。打开项目后会发现里面有了我们想要加进来的库,可以#import进来了。 增加新的库如果使用过程中我还想添加其他的库怎么办,只要在Podfile里面接着添加,然后终端再执行pod install就可以了。 更新CocoaPods中的库第三方库们都有人在维护升级,我们需要隔断时间就要更新下我们工程中第三方库的版本。只需要终端输入命令pod update就可以了。 删除CocoaPods中的某些库当我们需要去掉某个第三方库时,只需要在Podfile删除该引入该库的语句,然后执行pod update或者pod install就可以了。 升级CocoaPodssudo gem install cocoapods","categories":[{"name":"iOS","slug":"iOS","permalink":"http://codingdoge.cn/categories/iOS/"}],"tags":[{"name":"Tool","slug":"Tool","permalink":"http://codingdoge.cn/tags/Tool/"}]},{"title":"有限状态机在iOS中的应用","slug":"title: 有限状态机在iOS中的应用","date":"2017-07-23T15:47:00.000Z","updated":"2018-01-13T05:06:26.865Z","comments":true,"path":"2017/07/23/title: 有限状态机在iOS中的应用/","link":"","permalink":"http://codingdoge.cn/2017/07/23/title: 有限状态机在iOS中的应用/","excerpt":"","text":"有限状态机(Finite-State Machine, FSM),是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。 其实我们平常和很多状态机都打过交道,比如正则表达式、网络协议(如TCP协议状态机)、游戏设计、字符串匹配等等,可能大多数时候我们都没意识到,接下来我们简略了解下状态机。 基本概念 状态(state): 指的是对象在其生命周期中的一种状况,处于某个特定状态中的对象必然会满足某些条件、执行某些动作或者是等待某些事件,而且状态是相对稳定的,如果没有外部条件的触发,一个状态会一直持续下去。 事件(event): 指的是对状态机来讲是有意义的那些事情。事件通常会引起状态的变迁,促使状态机从一种状态切换到另一种状态。 转换(transition): 指的是两个状态之间的一种关系,表明对象将在第一个状态中执行一定的动作,并将在某个事件发生的同时某个特定条件满足时进入第二个状态。 动作(action): 指的是状态机中可以执行的那些操作,当事件被满足或者状态变迁时执行动作,动作不是必需的。 如下图状态表: 关于状态机的详细知识可以参考:UML状态图的实用C/C++设计ERLANG 在iOS中的使用背景假设我们要设计一款网络视频播放器,有基本的播放、暂停功能,当缓冲好时可以进行播放,当URL错误或者视频资源错误时播放失败,我们发现,当我们去描述一个事物以及它的功能时,总是离不开它的状态,如这个播放器,我们可以定义它有播放失败、缓冲中、将要播放…等等状态。 设计我们可以用状态机去实现这样的功能。 先设定播放器可能出现的状态: 12345678enum VideoPlayerState { case failed, // 播放失败 buffering, // 缓冲中 readyToPlay, // 将要播放 playing, // 播放中 paused, // 播放暂停 finished // 播放完毕} 然后定义当状态发生变换后,针对某个状态我希望它去执行一些逻辑里的动作 1234567891011121314151617181920var state: VideoPlayerState = .paused { didSet { switch state { case .failed: // 当视频加载失败时,我希望去执行的一些事件,比如弹出提示框 popReminderView() case .buffering: case .readyToPlay: case .playing: case .paused: case .finished: } }} 在写我们的业务逻辑时,相应的去更改播放器的状态 123456// 比如我们重写网络层的一些方法,当缓冲好时准备播放networkRequestCompletion() { state = .readyToPlay} 这样,通过state我们能很清晰的知道现在播放器是什么样应该做什么事,在我们的业务逻辑中,当状态变化时通过didSet我们能很方便的去响应对应状态下应该执行的行为。 总结整篇文章质量或许不是很高,因为还没有大量的代码实践让我去有一个更深更全的体会,但是希望能带给我自己和读者们一点抛砖引玉的效果。我们在编码、设计过程中,多去思考一些,什么地方用什么样的模式更好,比如状态机,来使我们的代码更解耦,易维护,高扩展。 这里有一篇关于Objective-c状态机的实现,更抽象,其中用到的枚举值自动转字符串通用方案很有意思,同时可以参考这篇《iOS开发高级:使用宏定义macros》关于宏定义的使用。这篇《iOS APP 架构漫谈二》列举了很具体的运用场景,可以参考。同时参考的文章有: 有限状态机 有限状态机(FSM)的设计与实现 关于状态记的开源库推荐: Objective-C: TransitionKit Swift:SwiftTask","categories":[{"name":"iOS","slug":"iOS","permalink":"http://codingdoge.cn/categories/iOS/"}],"tags":[]},{"title":"视频开发","slug":"title: 视频开发","date":"2017-07-23T15:47:00.000Z","updated":"2018-01-13T05:06:57.320Z","comments":true,"path":"2017/07/23/title: 视频开发/","link":"","permalink":"http://codingdoge.cn/2017/07/23/title: 视频开发/","excerpt":"","text":"下面會介紹視頻的一些基本知識,和在iOS上實現視頻播放和緩存的幾種方案。 软解码和硬解码GPU解码就是所谓的硬解码,CPU解码就是软解码。iOS提供的播放器类使用的是硬解码,所以视频播放对CPU不会有很大的压力,但是支持的播放格式比较单一,一般就是MP4、MOV、M4V这几个。 HTTP Live StreamingHTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。支持的视频流编码为H.264。我们在视频网站上看到的M3U8后缀的播放链接就是使用HLS协议的视频。HLS优点,1、看完一段缓存一段,防止只看一段视频但是把整个视频文件都缓存下来的用户,减少服务器压力和节省流量。2、根据用户网速切换不同的码率,兼顾流程性和清晰度。 播放实现视频播放的两个方案。 一、自己实现对数据编码解码可以在一些开源播放器上进行二次开发,如Bilibili的ijkplayer,或者直接对FFmpeg开发,优点在整个播放过程可控,为后续进行缓存、流量控制、码率切换等开发提供了基础,缺点是复杂,要求高,工程量大。 二、AVFoundationMedia Assets, Playback and Editing. 使用Apple自有框架。 AVAsset AVAsset is an abstract, immutable class used to model timed audiovisual media such as videos and sounds. An asset may contain one or more tracks that are intended to be presented or processed together, each of a uniform media type, including but not limited to audio, video, text, closed captions, and subtitles. Audiovisual media的资源类,通常通过AVURLAsset用URL来实例化,可以用Atom Inspector(一个Apple提供的用来查看视频信息的工具)来观察一个视频的属性,再去AVAsset中对应其属性。 AVAsset属性 视频文件属性 duration: CMTime duration, timescale时长和时间尺度 preferredRate: Float 默认速度 preferredVolume: Float 默认音量 creationDate: AVMetadataItem? 视频创建时间 tracks: [AVAssetTrack] 轨道 trackGroups: [AVAssetTrackGroup] 轨道组 lyrics: String? 当前语言环境合适的歌词 metadata: [AVMetadataItem] 元数据 AVPlayer An AVPlayer is a controller object used to manage the playback and timing of a media asset. It provides the interface to control the player’s transport behavior such as its ability to play, pause, change the playback rate, and seek to various points in time within the media’s timeline. You can use an AVPlayer to play local and remote file-based media, such as QuickTime movies and MP3 audio files, as well as audiovisual media served using HTTP Live Streaming. AVPlayer是一个控制对象用于管理媒体asset的播放,它提供了相关的接口控制播放器的行为,比如:播放、暂停、改变播放的速率、跳转到媒体时间轴上的某一个点(简单理解就是实现拖动功能显示对应的视频位置内容)。我们能够使用AVPlayer播放本地和远程的媒体文件(使用 HTTP Live Streaming),比如: QuickTime movies 和 MP3 audio files,所以AVPlayer可以满足音视频播放的基本需求。 AVFoundation的层次 AVPlayerItem AVPlayerItem models the timing and presentation state of an asset played by an AVPlayer object. It provides the interface to seek to various times in the media, determine its presentation size, identify its current time, and much more. AVPlayerItem是一个负责处理AVAsset的资源并通过AVPlayer来播放的载体,提供了seek、确定显示大小、ID、时间等的接口。 AVPlayerLayer AVPlayerLayer is a subclass of CALayer to which an AVPlayer object can direct its visual output. It can be used as the backing layer for a UIView or NSView or can be manually added to the layer hierarchy to present your video content on screen. 负责AVPlayer的视频输出展示。 依赖关系图 简单使用1234567891011class AVPlayerTestView: UIView { let view: UIView? = nil func initPlayerView() { guard let url = URL.init(string: "http://meipu1.video.meipai.com/5e81c08e-2850-4fbd-bfc4-4ded297f9f1c.mp") else { return } let asset = AVAsset.init(url: url) let item = AVPlayerItem.init(asset: asset) let player = AVPlayer.init(playerItem: item) let playerLayer = AVPlayerLayer.init(layer: player) view?.layer.addSublayer(playerLayer) }} 设置好一个AVPlayer的依赖关系和输出图层后,AVPlayerItem会根据你的URL去请求数据,自己内部做缓冲然后播放。我们需要做的是用KVO监听AVPlayerItem内部几个关键属性的状态,然后做出我们的处理。 AVPlayerItem属性 状态 status: AVPlayerItemStatus .unknown: AVPlayerItemStatus 未知状态 .readyToPlay: AVPlayerItemStatus 准备好去播放 .failed: AVPlayerItemStatus 资源无法被播放 loadedTimeRanges: [NSValue] 加载了的资源的时间范围(一般用来更新缓冲UI) playbackBufferEmpty: Bool 没有缓冲数据 playbackLikelyToKeepUp: Bool 有足够的缓冲大致能播放无卡顿 General State Observations: You can use Key-value observing (KVO) to observe state changes to many of the player’s dynamic properties, such as its currentItem or its playback rate. You should register and unregister for KVO change notifications on the main thread. This avoids the possibility of receiving a partial notification if a change is being made on another thread. AVFoundation invokes observeValue(forKeyPath:of:change:context:) on the main thread, even if the change operation is made on another thread. 基本状态观察者:你能够使用KVO来观察player动态属性的状态改变,比如像: currentItem 或者它的播放速度。我们应该在主线程注册和去除KVO,这能够避免如果在其它线程发送改变而导致接收局部通知,当发生通知,AVFoundation将在主线程调用observeValue(forKeyPath:of:change:context:) 方法,即使是在其他线程发生。 KVO能够很好的观察生成的状态,但是并不能够观察播放时间的改变,所以AVPlayer提供了两个方法来观察时间的改变: 1234567891011/* @param interval 调用block的时间间隔 @param queue 推荐使用串行队列,放在主线程就行了,并行队列会产生不明确的结果*/func addPeriodicTimeObserver(forInterval interval: CMTime, queue: DispatchQueue?, using block: @escaping (CMTime) -> Void) -> Any { // 可以在里面去设置控制状态,刷新进度UI}func addBoundaryTimeObserver(forTimes times: [NSValue], queue: DispatchQueue?, using block: @escaping () -> Void) -> Any Tips: 创建多个AVPlayerLayer只有最近的layer才会显示视频帧 可以创建多个AVPlayerItem来替换AVPlayer的当前item,func replaceCurrentItem(with item: AVPlayerItem?) 监听后要注意控制监听的生命周期 缓存Apple自有的框架是没有提供缓存功能的,AVPlayer也没有提供直接获取其下载数据的接口,所以想做缓存只能自己来完整的实现。下面有几个方案。 一、自己实现的播放器这种情况大多是根据下载来的数据解码播放,下载的时候做下缓存就好了 二、自带播放器+LocalServer在iOS本地开启Local Server服务,然后MPMoviePlayerController请求本地Local Server服务。本地Local Server服务再不停的去对应的视频地址获取视频流。本地Local Server请求的时候,就可以把视频流缓存在本地。Demo来源:Code4App 三、AVPlayer+AVMutableComposition+AVAssetExportSession原理是直接给AVPlayer传URL,让其内部自己去处理数据下载,然后通过AVMutableComposition和AVAssetExportSession从AVAsset提取视频的数据进行缓存。 AVMutableComposition AVMutableComposition is a mutable subclass of AVComposition you use when you want to create a new composition from existing assets. You can add and remove tracks, and you can add, remove, and scale time ranges. 作用是从现有的AVAsset中创建出一个新的AVComposition,使用者能够从别的asset中提取他们的音频轨道或视频轨道,并且把它们添加到新建的composition中。 AVAssetExportSession An AVAssetExportSession object transcodes the contents of an AVAsset source object to create an output of the form described by a specified export preset. 作用是把AVAsset解码输出到本地文件中。 关键需要把原先的AVAsset(AVURLAsset)实现的数据提取出来后拼接成另一个AVAsset(AVComposition)的数据然后解码输出,由于通过网络url下载下来的视频没有保存视频的原始数据(苹果没有暴露接口给我们获取),下载后播放的avasset不能使用AVAssetExportSession输出到本地文件,要曲线地把下载下来的视频通过重构成另外一个AVAsset实例才能输出。 12345678910111213141516171819202122232425NSString *documentDirectory = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];NSString *myPathDocument = [documentDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mp4",[_source.videoUrl MD5]]];NSURL *fileUrl = [NSURL fileURLWithPath:myPathDocument];if (asset != nil) {AVMutableComposition *mixComposition = [[AVMutableComposition alloc]init];AVMutableCompositionTrack *firstTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeVideo preferredTrackID:kCMPersistentTrackID_Invalid];[firstTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, asset.duration) ofTrack:[[asset tracksWithMediaType:AVMediaTypeVideo]objectAtIndex:0] atTime:kCMTimeZero error:nil];AVMutableCompositionTrack *audioTrack = [mixComposition addMutableTrackWithMediaType:AVMediaTypeAudio preferredTrackID:kCMPersistentTrackID_Invalid];[audioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, asset.duration) ofTrack:[[asset tracksWithMediaType:AVMediaTypeAudio]objectAtIndex:0] atTime:kCMTimeZero error:nil];AVAssetExportSession *exporter = [[AVAssetExportSession alloc]initWithAsset:mixComposition presetName:AVAssetExportPresetHighestQuality];exporter.outputURL = fileUrl;if (exporter.supportedFileTypes) {exporter.outputFileType = [exporter.supportedFileTypes objectAtIndex:0] ;exporter.shouldOptimizeForNetworkUse = YES;[exporter exportAsynchronouslyWithCompletionHandler:^{}];}} 四、AVPlayer+AVAssetResourceLoaderAVAssetResourceLoadingRequest An AVAssetResourceLoader object mediates resource requests from an AVURLAsset object with a delegate object that you provide. When a request arrives, the resource loader asks your delegate if it is able to handle the request and reports the results back to the asset.AVAssetResourceLoader协调来自AVURLAsset的资源请求,你需要实现它的delegate。当收到一个请求时,ResourceLoader询问你的delegate是否能处理并将结果返回给asset。 AVPlayer和AVAssetResourceLoader的层次结构 AVAssetResourceLoader通过你提供的委托对象去调节AVURLAsset所需要的加载资源。而很重要的一点是,AVAssetResourceLoader仅在AVURLAsset不知道如何去加载这个URL资源时才会被调用,就是说你提供的委托对象在AVURLAsset不知道如何加载资源时才会得到调用。一般我们可以更改URL的scheme用来隐藏真实的URL。如: 参考iOS开发系列–音频播放、录音、视频播放、拍照、视频录制AVplayer实现播放本地和网络视频(Swift3.0)iOS视频流开发(2)—视频播放iOS音频播放 (九):边播边缓存iOS音视频实现边下载边播放AVFoundation(二):核心AVAssetAVFoundation编程指南2-用AVPlayer播放视频AV Foundation系列(五)媒体组合","categories":[{"name":"iOS","slug":"iOS","permalink":"http://codingdoge.cn/categories/iOS/"}],"tags":[{"name":"Swift","slug":"Swift","permalink":"http://codingdoge.cn/tags/Swift/"}]},{"title":"xcode常用快捷键及其他功能","slug":"title: xcode常用快捷键及其他功能","date":"2017-07-23T15:47:00.000Z","updated":"2018-01-13T05:05:53.756Z","comments":true,"path":"2017/07/23/title: xcode常用快捷键及其他功能/","link":"","permalink":"http://codingdoge.cn/2017/07/23/title: xcode常用快捷键及其他功能/","excerpt":"","text":"快捷键 Command+R生成并运行程序Command+B只生成程序而不运行它Command+T新建选项卡 标记 // MARK: - \\// TODO: \\// FIXME: \\ 小功能 Product>Clean删除生成的中间文件","categories":[{"name":"iOS","slug":"iOS","permalink":"http://codingdoge.cn/categories/iOS/"}],"tags":[{"name":"Tool","slug":"Tool","permalink":"http://codingdoge.cn/tags/Tool/"}]},{"title":"OC中ARC forbids explicit message send of '...'错误","slug":"title: OC中ARC forbids explicit message send of '...'错误 ","date":"2017-07-23T15:25:00.000Z","updated":"2018-01-14T17:00:06.700Z","comments":true,"path":"2017/07/23/title: OC中ARC forbids explicit message send of '...'错误 /","link":"","permalink":"http://codingdoge.cn/2017/07/23/title: OC中ARC forbids explicit message send of '...'错误 /","excerpt":"","text":"转自CSDN hahahacff有所整理 ARC forbids explicit message send of’retainCount’ 同’release’等等 很显然,是ARC的问题。错误原因:在创建工程的时候点选了“Use Automatic Reference Counting”选项,但是又调用了对象的retainCount方法 ARC是什么?ARC是iOS 5推出的新功能,全称叫ARC(AutomaticReferenceCounting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机制在iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2可以使用该机制。简单地理解ARC,就是通过指定的语法,让编译器(LLVM3.0)在编译代码时,自动生成实例的引用计数管理部分代码。有一点,ARC并不是GC,它只是一种代码静态分析(StaticAnalyzer)工具。 解决方法 选择要项目,双击中间的工程名称,进入build setting 将中间的Objective-C Automatic Reference Counting改为no","categories":[{"name":"iOS","slug":"iOS","permalink":"http://codingdoge.cn/categories/iOS/"}],"tags":[{"name":"Bug","slug":"Bug","permalink":"http://codingdoge.cn/tags/Bug/"},{"name":"OC","slug":"OC","permalink":"http://codingdoge.cn/tags/OC/"},{"name":"转载","slug":"转载","permalink":"http://codingdoge.cn/tags/转载/"}]},{"title":"解决Arduino CH34x系列在macOS Sierra中找不到串口的问题","slug":"title: 解决Arduino CH34x系列在macOS Sierra中找不到串口的问题","date":"2017-07-23T15:06:00.000Z","updated":"2018-01-12T14:23:28.810Z","comments":true,"path":"2017/07/23/title: 解决Arduino CH34x系列在macOS Sierra中找不到串口的问题/","link":"","permalink":"http://codingdoge.cn/2017/07/23/title: 解决Arduino CH34x系列在macOS Sierra中找不到串口的问题/","excerpt":"","text":"毕设做Arduino开发,一开始买了淘宝上慧净自己改的Arduino UNO国产板子,回来插在mac上读不出串口,安装了它附带的驱动还是读不出,同学买了原装板说一插上就能读出串口,都没自己装驱动,为了省麻烦,直接跟商家换了原装板,这时候麻烦来了,板子在我电脑上读不出串口,在别人电脑上能读出来,别人的在我电脑上也读不出来…很崩溃,然后从各个角度debug,下面一个个步骤来,基本能解决。 安装Arduino IDE上面是官网IDE下载的连接,大概是因为GFW的原因下载速度奇慢,大家也可以去搜Arduino中文社区,里面有好人做了*度网盘的下载种子,速度能快点。IDE一般自带驱动,如果在串口里没发现,可以试试在 D7389412-ED23-427D-82E7-4E1C26114D67 这个系统报告里看看USB下面能不能读出 也可以在bash里输入 1ls /dev/tty* 如果有类似的即可 2C66575E-D0DD-4DEA-9F34-8F2E1CF4DA90 官方驱动下载如果都找不到的话可以去沁恒官方下载CH341SER驱动,安装后再查看一遍(安装驱动完会要求重启). 更改SIP设置 Apple在10.11中全面启用了名为 System Integrity Protection (SIP) 的系统完整性保护技术. 受此影响, 未经签名的第三方kext及经过修改的原版kext将无法正常加载, 大部分系统文件即使在root用户下也无法直接进行修改. 前面安装驱动不成功大部分是因为驱动文件冲突导致,所以在此之前先删除之前安装的驱动文件: 123sudo rm -rf /System/Library/Extensions/usb.kextsudo rm -rf /Library/Extensions/usbserial.kextsudo rm -rf _private_var_db_receipts/com.wch.* 然后参考CH340 CH341 serial adapters fix for El Capitan OS X可以通过以下步骤修改SIP设置来安装第三方kext: 重启OS X 并且立即按住 Command+ R 来来进入恢复模式 在恢复模式中, 菜单栏上面找到终端(Terminal)并打开 在终端中键入命令csrutil enable —without kext 看到成功的提示信息之后, 输入reboot重启系统 注: —without kext 中的 - 有两条Command 就是 ⌘ 图标 通过以上的操作之后, 采用CH340/1 系列芯片的Arduino开发板又可以被识别出来了. 如果还是无法识别, 请重新安装一次CH341SER驱动. 最后如果还不行(我的就是到这里还不行),请看看你的板子是否接触不良,反复摩擦尝试看能不能读出串口,我之前也试过这个办法,但是没有用,后面偶然也是必然下反应过来,反反复复插USB拔出查看串口状态,终于解决了(无良商家害人) 参考:如何重置 Mac 上的 NVRAM","categories":[{"name":"OS","slug":"OS","permalink":"http://codingdoge.cn/categories/OS/"}],"tags":[{"name":"Bug","slug":"Bug","permalink":"http://codingdoge.cn/tags/Bug/"}]},{"title":"《TCP/IP详解》笔记—第1章 概述","slug":"title: 《TCP-IP详解》笔记—第1章 概述","date":"2017-07-23T15:04:00.000Z","updated":"2018-01-12T14:22:22.232Z","comments":true,"path":"2017/07/23/title: 《TCP-IP详解》笔记—第1章 概述/","link":"","permalink":"http://codingdoge.cn/2017/07/23/title: 《TCP-IP详解》笔记—第1章 概述/","excerpt":"","text":"《TCP/IP详解》笔记—第1章 概述 一个互连网就是一组通过相同协议族互连在一起的网络。 分层TCP/IP通常被认为是一个四层协议系统: WX20170320-171317@2x 网络层和运输层之间的区别是最为关键的:网络层(IP)提供点到点的服务,而运输层(TCP和UDP)提供端到端的服务。 在TCP/IP协议族中,网络层IP提供的是一种不可靠的服务。也就是说,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。而另一方面,TCP在不可靠的IP层上提供了一个可靠的运输层。为了提供这种可靠的服务,TCP采用了超时重传、发送和接收端到端的确认分组等机制。 路由器为不同类型的物理网络提供连接。 一个主机也可以有多个接口,但一般不称作路由器,除非它的功能只是单纯地把分组从一个接口传送到另一个接口。 互联网的目的之一是在应用程序中隐藏所有的物理细节。 连接网络的另一个途径是使用网桥。网桥是在链路层上对网络进行互连,而路由器则是在网络层上对网络进行互连。 互联网的地址 47F26D90-176D-4C0A-A315-6A9E199E79F6 这些 32 位的地址通常写成四个十进制的数,其中每个整数对应一个字节。这种表示方法称作“点分十进制表示法(Dotted decimal notation)”。 70807FBE-712D-4A5C-97F2-BBCA12C1F11D 封装TCP传给IP的数据单元称作TCP报文段或简称为TCP段(TCP segment)。IP传给网络接口层的数据单元称作IP数据报(IP datagram)。通过以太网传输的比特流称作帧(Frame)。 分用当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用(Demultiplexing)。 客户-服务器模型大部分网络应用程序在编写时都假设一端是客户,另一端是服务器,其目的是为了让服务器为客户提供一些特定的服务。一般来说,TCP服务器是并发的,而UDP服务器是重复的。 习题 请计算最多有多少个A类、B类和C类网络号。 用匿名FTP(见27.3节)从主机nic.merit.edu上获取文件nsfnet_statistics_history.netcount。该文件包含在NSFNET网络上登记的国内和国外的网络数。画一坐标系,横坐标代表年,纵坐标代表网络总数的对数值。纵坐标的最大值是习题1.1的结果。如果数据显示一个明显的趋势,请估计按照当前的编址体制推算,何时会用完所有的网络地址(3.10节讨论解决该难题的建议)。 获取一份主机需求RFC拷贝[Braden 1989a],阅读有关应用于TCP/IP协议族每一层的稳健性原则。这个原则的参考对象是什么? 获取一份最新的赋值RFC拷贝。“quote of the day”协议的有名端口号是什么?哪个RFC对该协议进行了定义? 如果你有一个接入TCP/IP互联网的主机帐号,它的主IP地址是多少?这台主机是否接入了Internet?它是多接口主机吗? 获取一份RFC 1000的拷贝,了解RFC这个术语从何而来。 与Internet协会联系,isoc@isoc.org或者+170 3648 9888,了解有关加入的情况。 用匿名FTP从主机is.internic.net处获取文件about-internic/information-about-the-internic。 部分习题答案 答案是:27-2(126)+214-2(16 382)+221-2(2 097 150)=2 113 658。每一部分都减去2是因为全0或全1网络ID是非法的。 图D-1显示了直到1993年8月的有关数据。如果网络数继续呈指数增长的话,虚线估计了2000年可能达到的最大的网络数。 “自由地接收,保守地发送。” 资料来源于 即时通讯网,仅做学习参考","categories":[{"name":"Network","slug":"Network","permalink":"http://codingdoge.cn/categories/Network/"}],"tags":[{"name":"Reading Notes","slug":"Reading-Notes","permalink":"http://codingdoge.cn/tags/Reading-Notes/"}]},{"title":"STL常见用法 — map","slug":"title: STL常见用法 — map","date":"2017-07-21T05:10:00.000Z","updated":"2018-01-14T17:04:04.187Z","comments":true,"path":"2017/07/21/title: STL常见用法 — map/","link":"","permalink":"http://codingdoge.cn/2017/07/21/title: STL常见用法 — map/","excerpt":"","text":"STL常见用法 — 代码敲得少,STL总是用的不熟,便自己整理一些用法,有眼缘的顺手用着吧。 简介maps是一个关联容器,用来存储key-value式的元素,提供一对一hash。内部的实现,自建一颗红黑树,这棵树具有对数据自动排序的功能。比如一个班级中,每个学生的学号和他的姓名就存在一对一映射的关系。 第一个值是关键字(key),每个关键字只能在map中出现一次 第二个值为关键字的值(value) 用法头文件12345678#include <map>template< class Key, class T, class Compare = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T> >> class map; 构造函数12345namespace pmr { template <class Key, class T, class Compare = std::less<Key>> using map = std::map<Key, T, Compare, std::pmr::polymorphic_allocator<std::pair<const Key,T>>>} 成员函数 成员函数 实现操作 begin 返回一个起始的迭代器 end 返回一个末尾的迭代器 empty 检查容器是否为空 size 返回容器内元素个数 clear 清除容器内容 insert 插入元素或节点 erase 删除元素 swap 交换内容 count 返回指定key的元素个数 find 通过key查找元素 用法演示1234567891011121314151617181920#include <map>void mapTest(){ std::map<int, int> m; // 构造函数 m.insert(pair<int, int>(1, 10)); // 插入元素 m.insert(pair<int, int>(2, 30)); m.insert(pair<int, int>(4, 50)); map<int, int>::iterator it; // 迭代器 it = m.find(3); // 通过key查找元素 if (it == m.end()) // 如果返回值为尾部迭代器则无此元素 { cout << "Not find" << endl; m.insert(pair<int, int>(3, 20)); } for (it = m.begin(); it != m.end(); it++) // 通过迭代器遍历map容器 { cout << it->first << " " << it->second << endl; // 通过迭代器访问元素的key-value }} 参考:C/C++ - Map (STL) 用法與心得完全攻略","categories":[{"name":"CPP","slug":"CPP","permalink":"http://codingdoge.cn/categories/CPP/"}],"tags":[{"name":"STL","slug":"STL","permalink":"http://codingdoge.cn/tags/STL/"}]},{"title":"STL常见用法 — vector","slug":"title: STL常见用法 — vector","date":"2017-07-21T05:06:00.000Z","updated":"2018-01-14T17:04:41.751Z","comments":true,"path":"2017/07/21/title: STL常见用法 — vector/","link":"","permalink":"http://codingdoge.cn/2017/07/21/title: STL常见用法 — vector/","excerpt":"","text":"代码敲得少,STL总是用的不熟,便自己整理一些用法,有眼缘的顺手用着吧。 简介vector是线性容器,它的元素严格的按照线性序列排序,和动态数组很相似,和数组一样,它的元素存储在一块连续的存储空间中,这也意味着我们不仅可以使用迭代器(iterator)访问元素,还可以使用指针的偏移方式访问,和常规数组不一样的是,vector能够自动存储元素,可以自动增长或缩小存储空间。 用法头文件1#include <vector> 构造函数12345678// 1template<class T, class Allocator = std::allocator<T> > class vector;// 2namespace pmr { template <class T> using vector = std::vector<T, std::pmr::polymorphic_allocator<T>>;} std::vector is a sequence container that encapsulates dynamic size arrays. std::pmr::vector is an alias template that uses a polymorphic allocator 成员函数 成员函数 实现操作 c.assign(beg,end) 将[beg; end)区间中的数据赋值给c c.assign(n,elem) 将n个elem的拷贝赋值给c c.at(idx) 传回索引idx所指的数据,如果idx越界,抛出out_of_range c.back() 传回最后一个数据,不检查这个数据是否存在 c.begin() 传回迭代器重的可一个数据 c.capacity() 返回容器中数据个数 c.clear() 移除容器中所有数据 c.empty() 判断容器是否为空 c.end() 指向迭代器中的最后一个数据地址 c.erase(pos) 删除pos位置的数据,传回下一个数据的位置 c.erase(beg,end) 删除[beg,end)区间的数据,传回下一个数据的位置 c.front() 传回第一个数据 get_allocator 使用构造函数返回一个拷贝 c.insert(pos,elem) 在pos位置插入一个elem拷贝,传回新数据位置 c.insert(pos,n,elem) 在pos位置插入n个elem数据。无返回值 c.insert(pos,beg,end) 在pos位置插入在[beg,end)区间的数据。无返回值 c.max_size() 返回容器中最大数据的数量 c.pop_back() 删除最后一个数据 c.push_back(elem) 在尾部加入一个数据 c.rbegin() 传回一个逆向队列的第一个数据 c.rend() 传回一个逆向队列的最后一个数据的下一个位置 c.resize(num) 重新指定队列的长度 c.reserve() 保留适当的容量 c.size() 返回容器中实际数据的个数 c1.swap(c2) 将c1和c2元素互换 swap(c1,c2) 同上操作 vector c 创建一个空的vector vector c1(c2) 复制一个vector vector c(n) 创建一个vector,含有n个数据,数据均已缺省构造产生 vector c(n, elem) 创建一个含有n个elem拷贝的vector。 vector c(beg,end) 创建一个以[beg;end)区间的vector c.~ vector () 销毁所有数据,释放内存 用法演示 使用reverse将元素翻转:需要头文件#include<algorithm> 1reverse(vec.begin(),vec.end()); 将元素翻转(在vector中,如果一个函数中需要两个迭代器,一般后一个都不包含) 使用sort排序:需要头文件#include,sort(vec.begin(),vec.end());(默认是按升序排列,即从小到大).可以通过重写排序比较函数按照降序比较,如下: 定义排序比较函数: 1234bool Comp(const int &a,const int &b){ return a>b;} 调用时:sort(vec.begin(),vec.end(),Comp),这样就降序排序。","categories":[{"name":"CPP","slug":"CPP","permalink":"http://codingdoge.cn/categories/CPP/"}],"tags":[{"name":"STL","slug":"STL","permalink":"http://codingdoge.cn/tags/STL/"}]},{"title":"常用宏定义","slug":"title: 常用宏定义","date":"2017-07-17T06:08:00.000Z","updated":"2018-01-13T05:07:28.710Z","comments":true,"path":"2017/07/17/title: 常用宏定义/","link":"","permalink":"http://codingdoge.cn/2017/07/17/title: 常用宏定义/","excerpt":"","text":"iOS开发高级:使用宏定义macros 123456789101112131415161718192021222324252627282930313233343536373839404142434445//1. 打印日志#ifdef DEBUG# define DLog(...) NSLog(__VA_ARGS__)#else# define DLog(...)#endif//2. 获取屏幕 宽度、高度#define kScreenWidth ([UIScreen mainScreen].bounds.size.width)#define kScreenHeight ([UIScreen mainScreen].bounds.size.height)//3. 颜色#define RGB(r, g, b, a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]#define HEXCOLOR(c) [UIColor colorWithRed:((c>>16)&0xFF)/255.0f green:((c>>8)&0xFF)/255.0f blue:(c&0xFF)/255.0f alpha:1.0f]//背景色 #define BACKGROUND_COLOR [UIColor colorWithRed:242.0/255.0 green:236.0/255.0 blue:231.0/255.0 alpha:1.0] //清除背景色 #define CLEARCOLOR [UIColor clearColor] //4.加载图片宏:#define LOADIMAGE(file,type) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle]pathForResource:file ofType:type]]//5. NavBar高度#define NavigationBar_HEIGHT 44//6. 获取系统版本#define IOS_VERSION [[[UIDevice currentDevice] systemVersion] floatValue]#define CurrentSystemVersion [[UIDevice currentDevice] systemVersion]//7. 判断是真机还是模拟器#if TARGET_OS_IPHONE //iPhone Device#endif#if TARGET_IPHONE_SIMULATOR //iPhone Simulator#endif//8. 设置View的tag属性#define VIEWWITHTAG(_OBJECT, _TAG) [_OBJECT viewWithTag : _TAG]//9. GCD#define BACK(block) dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), block)#define MAIN(block) dispatch_async(dispatch_get_main_queue(),block)//10. NSUserDefaults 实例化#define USER_DEFAULT [NSUserDefaults standardUserDefaults]","categories":[{"name":"iOS","slug":"iOS","permalink":"http://codingdoge.cn/categories/iOS/"}],"tags":[{"name":"OC","slug":"OC","permalink":"http://codingdoge.cn/tags/OC/"}]},{"title":"STL常见用法 — queue","slug":"title: STL常见用法 — queue","date":"2017-07-17T03:19:00.000Z","updated":"2018-01-14T17:04:46.168Z","comments":true,"path":"2017/07/17/title: STL常见用法 — queue/","link":"","permalink":"http://codingdoge.cn/2017/07/17/title: STL常见用法 — queue/","excerpt":"","text":"代码敲得少,STL总是用的不熟,便自己整理一些用法,有眼缘的顺手用着吧。 简介 队列(queue)是一种特殊的线性表,是一种先进先出(First In First Out)的数据结构,允许在队列末尾插入元素,队列头取出元素,在STL中是用list或者deque实现,封闭头部即可。 用法头文件1#include <queue> 构造函数1template <class T, class Container = deque<T> > class queue; 队列适配器默认用deque容器实现,也可以指定使用list容器来实现 123queue <Elem> q; // 创建一个空的queue,默认使用deque容器queue <Elem, list<Elem> > q; // 使用list容器queue <Elem> q1(q2); // 复制q2 成员函数 成员函数 实现操作 Elem& back() 返回队列最后一个元素 bool empty()const 如果队列为空,返回true,否则返回false Elem& front() 返回队列第一个元素 void pop() 移除队列中的第一个元素 void push(const Elem& e) 在队列末尾插入元素e size_type size()const 返回队列中的元素数目 用法演示1234567891011121314151617181920212223#include <stdio.h> #include <queue> using namespace std; int main() { int n, m, size; queue <int> q; //定义队列q q.push(1); q.push(2); //将1 、2压入队列 while (!q.empty()) //判断队列是否为空 { n = q.front(); //返回队列头部数据 m = q.back(); //返回队列尾部数据 size = q.size(); //返回队列里的数据个数 q.pop(); //队列头部数据出队 printf(\"%d %d %d\\n\", n, m, size); } return 0; }","categories":[{"name":"CPP","slug":"CPP","permalink":"http://codingdoge.cn/categories/CPP/"}],"tags":[{"name":"STL","slug":"STL","permalink":"http://codingdoge.cn/tags/STL/"}]},{"title":"插件管理——Vundle","slug":"title: 插件管理——Vundle","date":"2017-07-17T03:18:00.000Z","updated":"2018-01-14T17:19:40.848Z","comments":true,"path":"2017/07/17/title: 插件管理——Vundle/","link":"","permalink":"http://codingdoge.cn/2017/07/17/title: 插件管理——Vundle/","excerpt":"","text":"都说Vim是程序员写给自己的编辑器,其中的情结可想而知。 vim因为其庞大而强劲的插件受到无比的推崇,而插件的查找和管理便成了一个问题。 Vundle便是一个Github上为了解决这个问题的项目(致敬贡献者们),使用步骤如下: 安装Vundle,在终端输入以下代码即可git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle ~/.vim 来自哪?在mac中Vim配置文件.vimrc在/usr/share/vim/下,一般是没有权限更改的,但是这个.vimrc是全局配置文件,我们只要更改用户配置文件即可 怎么查看/usr/? 显示隐藏文件,自行百度,终端中敲入代码即可。 Finder下或者桌面上的Go,文件夹输入/usr/。mac下的Vim用户配置文件默认是没有的,需要我们自行创建终端下输入123> mkdir ~/.vim> touch ~/.vimrc> ~/即为用户根目录。 在Vim Script选好插件在.vimrc文件中加一句Bundle plugin_name.vimrc示例:1234567891011set nocompatible \" be iMprovedfiletype off \" required!set rtp+=~/.vim/bundle/vundle/call vundle#rc()\" let Vundle manage Vundle\" required!Bundle 'gmarik/vundle'\" vim-scripts reposBundle 'vim-plugin-foo'Bundle 'vim-plugin-bar'filetype plugin indent on \" required! 执行Vundle安装命令1:BundleInstall Vundle的其它命令 :BundleList 列举出列表中(.vimrc中)配置的所有插件 :BundleInstall 安装列表中全部插件 :BundleInstall! 更新列表中全部插件 :BundleSearch foo 查找foo插件 :BundleSearch! foo 刷新foo插件缓存 :BundleClean 清除列表中没有的插件 :BundleClean! 清除列表中没有的插件 参考Git时代的VIM不完全使用教程使用Vundle来管理vim的插件zhongcq 的VIM配置","categories":[{"name":"Shell","slug":"Shell","permalink":"http://codingdoge.cn/categories/Shell/"}],"tags":[{"name":"Tool","slug":"Tool","permalink":"http://codingdoge.cn/tags/Tool/"}]},{"title":"漫谈iOS系列之:内存管理","slug":"title: 漫谈iOS系列之:内存管理","date":"2017-07-17T03:18:00.000Z","updated":"2018-01-14T14:05:07.599Z","comments":true,"path":"2017/07/17/title: 漫谈iOS系列之:内存管理/","link":"","permalink":"http://codingdoge.cn/2017/07/17/title: 漫谈iOS系列之:内存管理/","excerpt":"","text":"引用计数推荐一篇来自@杨萧玉的引用计数原理Blog 简介iOS中对内存管理的机制(堆内存),每一个对象都有一个与之关联的引用计数(Reference Counting)。当一个对象“被拥有”的时候引用计数+1,当一个对象引用计数为零时该对象被释放。 比拟比如上班,最早进入办公室的人需要开灯,之后进入办公室的人需要照明, 下班离开办公室的人不需要照明,最后离开办公室的人需要关灯。这样对应的引用计数就是:第一个人进入办公室开灯,引用计数是1。之后进入办公室需要照明引用计数是2。下班一个人离开办公室引用计数变成了1,最后一个离开了办公室,引用计数变成了0 。 引用计数如何储存 TaggedPointer一篇极好的文章总体来说,我的理解是如果一个对象使用了Tagged Pointer技术(比如NSString,NSNumber等),指针里面会直接存数据内容,不会再作为“指针”指向其它地址,从Runtime来理解就是不会使用isa指针,也就不会继承苹果的内存管理方式(Reference Counting)。判断当前对象是否在使用 TaggedPointer 是看标志位是否为1: 12345678910111213#if SUPPORT_MSB_TAGGED_POINTERS# define TAG_MASK (1ULL<<63)#else# define TAG_MASK 1inline bool objc_object::isTaggedPointer() {#if SUPPORT_TAGGED_POINTERS return ((uintptr_t)this & TAG_MASK);#else return false;#endif} isa 指针指针的内存空间很大,有时候可以优化指针,在指针中存储一部分内容。下面列出不同架构下的64位环境中isa指针结构: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253union isa_t { isa_t() { } isa_t(uintptr_t value) : bits(value) { } Class cls; uintptr_t bits;#if SUPPORT_NONPOINTER_ISA# if __arm64__# define ISA_MASK 0x00000001fffffff8ULL# define ISA_MAGIC_MASK 0x000003fe00000001ULL# define ISA_MAGIC_VALUE 0x000001a400000001ULL struct { uintptr_t indexed : 1; uintptr_t has_assoc : 1; uintptr_t has_cxx_dtor : 1; uintptr_t shiftcls : 30; // MACH_VM_MAX_ADDRESS 0x1a0000000 uintptr_t magic : 9; uintptr_t weakly_referenced : 1; uintptr_t deallocating : 1; uintptr_t has_sidetable_rc : 1; uintptr_t extra_rc : 19;# define RC_ONE (1ULL<<45)# define RC_HALF (1ULL<<18) };# elif __x86_64__# define ISA_MASK 0x00007ffffffffff8ULL# define ISA_MAGIC_MASK 0x0000000000000001ULL# define ISA_MAGIC_VALUE 0x0000000000000001ULL struct { uintptr_t indexed : 1; uintptr_t has_assoc : 1; uintptr_t has_cxx_dtor : 1; uintptr_t shiftcls : 44; // MACH_VM_MAX_ADDRESS 0x7fffffe00000 uintptr_t weakly_referenced : 1; uintptr_t deallocating : 1; uintptr_t has_sidetable_rc : 1; uintptr_t extra_rc : 14;# define RC_ONE (1ULL<<50)# define RC_HALF (1ULL<<13) };# else // Available bits in isa field are architecture-specific.# error unknown architecture# endif// SUPPORT_NONPOINTER_ISA#endif}; 只有arm64架构的设备支持优化,下面列出了isa指针中变量对应的含义: 变量名 含义 indexed 0 表示普通的isa指针,1 表示使用优化,存储引用计数 has_assoc 表示该对象是否包含 associated object,如果没有,则析构时会更快 has_cxx_dtor 表示该对象是否有 C++ 或 ARC 的析构函数,如果没有,则析构时更快 shiftcls 类的指针 magic 固定值为 0xd2,用于在调试时分辨对象是否未完成初始化 weakly_referenced 表示该对象是否有过weak对象,如果没有,则析构时更快 deallocating 表示该对象是否正在析构 has_sidetable_rc 表示该对象的引用计数值是否过大无法存储在isa指针 extra_rc 存储引用计数值减一后的结果 散列表散列表来存储引用计数具体是用DenseMap类来实现,实现中有锁保证其安全性。 获取引用计数在MRC环境下可以使用retainCount方法获取某个对象的引用计数。在ARC环境下可以使用Core Foundation 库的CFGetRetainCount((__bridge CFTypeRef)(obj))方法和Runtime的_objc_rootRetainCount()方法来获取引用计数,也可以使用KVC技术来获取valueForKey:@"retainCount"。注意以上方法不是线程安全的。 注意NSString 定义的对象是保存在字符串常量区,没有用引用计数管理内存,如果输出其retainCount,为-1。 retainCount 注意其中的Do not use this method。 MRC(Manual Reference Counting) MRC从字面上理解就是手动管理引用计数,也就是手动管理内存。相关的内存管理方法有retain,release,autorelease,其中retain方法是对引用计数+1,相应的release是对引用计数-1,autorelease是将对象加入自动释放池,下文会讲到。 示例代码 1234567// 以预定Person类为例Person* person = [[Person alloc] init]; // 申请对象,此时引用计数=1[person retain]; //此时引用记数+1,现为2[person release]; //引用计数-1,此时引用计数=1[person release]; //引用计数-1,此时引用计数=0,内存被释放[person autorelease]; // 将对象加入自动释放池Person *person = [[[Person alloc] init] autorelease]; // 也可以在创建对象时将其加入自动释放池 按道理来说创建一个对象,然后release后该对象引用计数为零,但是实际情况中并不会出现这种现象,release后再输出其引用计数还是为1,在我的理解中有两种可能: 该对象在引用计数为1的时候进行release后,对象已经被释放,此时再调用retainCount毫无意义,因为该对象已经不存在了,为了防止某些错误保护这个retainCount方法所以编译器不会报错,但是输出值为释放前的值; 编译器为我们做了各种优化,也许是记录retainCount为零消耗过大或者没有意义。 重写了`dealloc`方便查看对象是否被释放 输出其`retainCount`然后释放 可以看到并不会出现引用计数为零的情况,但是该对象确实被释放了 小知识:指针错误:访问了一块坏的内存(已经被回收的,不可用的内存)。僵尸对象:所占内存已经被回收的对象,僵尸对象不能再被使用。(打开僵尸对象检测)空指针:没有指向任何东西的指针(存储的东西是0, null, nil),给空指针发送消息不会报错。注意:不能使用[p retaion]让僵尸对象起死复生。 在MRC管理时代有一个黄金法则: 谁创建谁负责。如果你通过alloc,new,copy来创建了一个对象,那么你就必须调用release或者autorelease方法; 谁retain,谁release。只要你调用了retain,无论这个对象时如何生成的,你都要调用release; ARC 原理前段编译器会为“拥有的”每一个对象加入相应的release语句,如果对象的所有权修饰符是__strong,那么它就是被拥有的。如果再某个方法内创建了一个对象,前端编译器会在方法末尾自动插入release语句已销毁它。而类拥有的对象(实例变量/属性)会在dealloc方法内被释放。 编译器所为 编译器为我们做的,我们可以手动完成达到优化比如:__autoreleasing在ARC中主要用在参数传递返回值(out-parameters)和引用传递参数(pass-by-reference)的情况下,有这种指针(NSError **)的函数参数如果不加修饰符,编译器会默认将他们认定为__autoreleasing类型。比如常用的NSError的使用: 12345NSError *__autoreleasing error;if (![data writeToFile:filename options:NSDataWritingAtomic error:&error]){ NSLog(@\"Error: %@\", error);} 如果你把error定义为了strong型,编译器会隐式地做如下事情,保证最终传入函数的参数依然是个__autoreleasing类型的引用。 1234567NSError *error;NSError *__autoreleasing tempError = error; // 编译器添加if (![data writeToFile:filename options:NSDataWritingAtomic error:&tempError]){ error = tempError; // 编译器添加 NSLog(@\"Error :%@\", error);} 所以为了提高效率,避免这种情况,我们一般在定义error的时候将其老老实实地声明为__autoreleasing类型。 循环引用 平常我们容易造成循环引用的三种情况: NSTimer 先看NSTimer使用的代码: 1_timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(runTimer) userInfo:nil repeats:YES]; 其中_timer是实例变量被self保留,_timer的target是self,self被_timer保留,引发循环引用。 循环引用 解除方法就是使target中的对象不是viewController从而断开引用,iOS10之前我们可以写个类别重新封装target来实现,iOS10之后系统给了新方法: 1+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)interval repeats:(BOOL)repeats block:(void (^)(NSTimer *timer))block; 不再需要target,而是传入一个block,在block里面进行循环调用方法 关于block怎么解决循环引用请看下面 block 简介block和其他语言的闭包或lambda表达式是一回事,block的使用很像函数指针,不过与函数最大的不同是:block可以访问函数以外、词法作用域以内的外部变量的值。换句话说,block不仅实现函数的功能,还能携带函数的执行环境。 block基本语法 123456789// 声明一个block变量long (^sum) (int, int) = nil;// sum是个block变量,该block类型有两个int型参数,返回类型是long。// 定义block并赋给变量sumsum = ^ long (int a, int b) { return a + b;};// 调用block:long s = sum(1, 2); 定义一个实例函数,该函数返回block: 12345678- (long (^)(int, int)) sumBlock { int base = 100; return [[ ^ long (int a, int b) { return base + a + b; } copy] autorelease]; }// 调用block[self sumBlock](1,2); 根据在内存中的位置将block分为三种类型: * `NSGlobalBlock`: 类似函数,位于text段; * `NSStackBlock`: 位于栈内存,函数返回后block将无效; * `NSMallocBlock`: 位于堆内存。 block其实包含两个部分内容: block执行的代码,这是在编译的时候已经生成好的; 一个包含block执行时需要的所有外部变量值的数据结构。 block将使用到的、作用域附近到的变量的值建立一份快照拷贝到栈上。 block的数据结构 对于 block 外的变量引用,block 默认是将其复制到其数据结构中来实现访问的: 传入外部变量 对于用 __block 修饰的外部变量引用,block 是复制其引用地址来实现访问的: 用__block修饰 初步了解了block后看看它怎么构成循环引用并怎么解决的吧 12345678910111213typedef void(^block)();@property (copy, nonatomic) block myBlock;@property (copy, nonatomic) NSString *blockString;- (void)testBlock { self.myBlock = ^() { //其实注释中的代码,同样会造成循环引用 NSString *localString = self.blockString; //NSString *localString = _blockString; //[self doSomething]; };} 看了前面关于block的一些介绍应该容易看出来,当我们往block中传入数据时是保存在了block的堆中,如上述代码中引用了self相当于对self进行了一次retain,而self本身持有block于是造成了循环引用,同时在block中release``self没有用,因为在block中操作作用范围仅仅来block的函数栈,影响不到堆中的self,解决方法如下: 12345__weak typeof(self) weakSelf = self;self.myBlock = ^(){ __strong typeof(weakSelf) = strongSelf; NSString *localString = strongSelf;} 其中传入一个若引用就不会造成循环引用,然后在block的函数栈中用一个强指针来接受传进来的弱指针,防止弱指针被提前释放产生野指针。 参考文章:Cooper – 正确使用Block避免Cycle Retain和Crash唐巧 – 谈Objective-C block的实现Dev Talking – Objective-C中的Block delegate我们对代理的写法一般都是:1@property (nonatomic, weak) id<TestDelegate> delegate; 如果使用strong的话很明显会造成循环引用(delegate调用self的一些东西),今天被面试官问道如果使用delegate出现了循环引用怎么解决,我说用weak,他说换一个,然后就懵住了,只回答了思路,找到互相引用的对象(可以用Instruments)然后断开引用。 Autorelease 简介很好理解,字面意思上看就是自动释放,我们可以通过使用autorelease让编译器帮我们在某个时刻自动释放内存。在MRC时我们使用NSAutorelease类来使用自动释放机制,代码如下: 123NSAutoreleasePool pool = [[NSAutoreleasePool alloc] init];// Code benefitting from a local autorelease pool.[pool release]; 也可以直接使用[obj autorelease]。现在基本上都是ARC环境,这个时候我们使用的是autoreleasepool(自动释放池),比如常见的: 12345678910111213//iOS programint main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); }}//Command line programint main(int argc, const char *argv[]) { @autoreleasepool { //... } return 0;} 它的作用是把我们在{}中申请的对象在事件处理完时自动释放掉,其中的原理推荐阅读Qi Tang的iOS 中的 Autorelease Pool。前面说到的事件处理完时其实就是一次runloop结束时。 runloop和autorelease 程序运行 -> 开启事件循环 -> 发生触摸事件 -> 创建自动释放池 -> 处理触摸事件 -> 事件对象加入自动释放池 -> 一次事件循环结束, 销毁自动释放池 什么时候用@autoreleasepool 写基于命令行的的程序时,就是没有UI框架,如AppKit等Cocoa框架时。 写循环,循环里面包含了大量临时创建的对象。(本文的例子) 创建了新的线程。(非Cocoa程序创建线程时才需要) 长时间在后台运行的任务。 利用@autoreleasepool优化循环当我们一个循环内创建了很多临时对象时,可以通过使用@autoreleasepool在每次循环结束时释放内存: 12345678910//来自Apple文档,见参考NSArray *urls = <# An array of file URLs #>;for (NSURL *url in urls) { @autoreleasepool { NSError *error; NSString *fileContents = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error]; /* Process the string, creating and autoreleasing more objects. */ }} 参考文章:sunnyxx —— 黑幕背后的AutoreleaseJerry4me —— iOS中autorelease的那些事儿tutuge —— @autoreleasepool-内存的分配与释放 修饰词","categories":[{"name":"iOS","slug":"iOS","permalink":"http://codingdoge.cn/categories/iOS/"}],"tags":[{"name":"Swift","slug":"Swift","permalink":"http://codingdoge.cn/tags/Swift/"},{"name":"OC","slug":"OC","permalink":"http://codingdoge.cn/tags/OC/"}]},{"title":"漫谈iOS系列之:多线程","slug":"title: 漫谈iOS系列之:多线程","date":"2017-07-17T03:17:00.000Z","updated":"2018-01-13T05:08:06.362Z","comments":true,"path":"2017/07/17/title: 漫谈iOS系列之:多线程/","link":"","permalink":"http://codingdoge.cn/2017/07/17/title: 漫谈iOS系列之:多线程/","excerpt":"","text":"线程基本概念线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器环境(register context),自己的线程本地存储(thread-local storage)。线程的状态: 新生态(New Thread) 可运行态(Runnable) 阻塞/非运行态(Not Runnable) 死亡态(Dead) 死锁:是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。 死锁条件: 互斥条件:所谓互斥就是进程在某一时间内独占资源。 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 不剥夺条件:进程已获得资源,在末使用完之前,不能强行剥夺。 循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。 创建线程的开销多线程的代价及上下文切换 pThreadPOSIX线程(POSIX Threads,常被缩写为Pthreads)是POSIX的线程标准,跨平台,适用于多种操作系统(类Unix操作系统中,都使用Pthreads作为操作系统的线程,Windows操作系统也有其移植版pthreads-win32),可移植性强,是一套纯C语言的通用API,且线程的生命周期需要程序员自己管理,使用难度较大,所以在实际开发中通常不使用。Pthreads API中大致共有100个函数调用,全都以”pthread_”开头,并可以分为四类: 线程管理,例如创建线程,等待(join)线程,查询线程状态等。 互斥锁(Mutex):创建、摧毁、锁定、解锁、设置属性等操作。 条件变量(Condition Variable):创建、摧毁、等待、通知、设置与查询属性等操作。 使用了互斥锁的线程间的同步管理。 pThread在实际开发中基本不使用,所以大概了解下就好了。 NSThreadGCDdispatch_barrier_async&dispatch_barrier_sync在队列中,barrier块必须单独执行,不能与其他block并行。这只对并发队列有意义,并发队列如果发现接下来要执行的block是个barrier block,那么就一直要等到当前所有并发的block都执行完毕,才会单独执行这个barrier block代码块,等到这个barrier block执行完毕,再继续正常处理其他并发block。 async, sync两者区别在于async将自己的任务插入队列后, 不用等待自己的任务结束, 继续把后面的任务插入队列, 然后等待自己的任务运行结束才执行后面的任务, sync将自己的任务插入队列后,需要等待自己的任务运行结束才能将后面的任务插入队列。 12345678910111213141516171819202122232425262728293031323334353637#import <Foundation/Foundation.h> @interface Person : NSObject@property (nonatomic, copy) NSString *name;@end #import \"Person.h\" @interface Person ()@end static NSString *_name;static dispatch_queue_t _concurrentQueue;@implementation Person- (instancetype)init{ if (self = [super init]) { _concurrentQueue = dispatch_queue_create(\"com.person.syncQueue\", DISPATCH_QUEUE_CONCURRENT); } return self;}- (void)setName:(NSString *)name{ dispatch_barrier_async(_concurrentQueue, ^{ _name = [name copy]; });}- (NSString *)name{ __block NSString *tempName; dispatch_sync(_concurrentQueue, ^{ tempName = _name; }); return tempName;}@end NSOperationNSOperation默认是非并发的,当你调用-[NSOperation start]方法时,该方法会等任务结束才会返回;并发的NSOperation是指,当你调用-[NSOperation start]后,NSOperation会在非当前线程(建立一个NSThread,或是dispatch async等)执行任务,并在任务结束之前就返回; 需要注意的是,并发行为都需要你自己实现,若要实现并发,你需要做很多额外的工作: 你需要创建一个subclass; 除了重载main方法,实现并发你还需要至少重载;start,isConcurrent,isExecuting,isFinished四个方法; 在start里,创建Thread或者调用一个异步函数; 更新isExecuting,并且发送相应KVO消息; 任务结束后,你还得更新isExecuting和isFinished,发送相应KVO消息。实现一个并发的NSOperation比较少见,具体如何实现,可以读读文档: NSOperation Class Reference 大多数情况下NSOperation都设计成非并发,这样实现起来会简单很多;并且,一般会配合NSOperationQueue使用,由NSOperationQueue来负责执行NSOperation,而非直接调用-[NSOperation start]。 若有复杂任务需要并发执行,一般也是拆成多个NSOperation,由NSOperationQueue来并发的执行多个NSOperation。 参考:关于iOS多线程,你看我就够了 dispatch_barrier_sync和dispatch_barrier_asynciOS开发:深入理解GCD 第二篇(dispatch_group、dispatch_barrier、基于线程安全的多读单写)NSOperation的并发和非并发有什么区别呀?","categories":[{"name":"iOS","slug":"iOS","permalink":"http://codingdoge.cn/categories/iOS/"}],"tags":[{"name":"OC","slug":"OC","permalink":"http://codingdoge.cn/tags/OC/"}]},{"title":"剑指Offer —— 复杂链表的复制","slug":"title: 剑指Offer —— 复杂链表的复制","date":"2017-07-06T02:44:00.000Z","updated":"2018-01-14T17:25:14.000Z","comments":true,"path":"2017/07/06/title: 剑指Offer —— 复杂链表的复制/","link":"","permalink":"http://codingdoge.cn/2017/07/06/title: 剑指Offer —— 复杂链表的复制/","excerpt":"","text":"题目来源牛客网:复杂链表的复制 题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 数据结构123456789101112131415/*struct RandomListNode { int label; struct RandomListNode *next, *random; RandomListNode(int x) : label(x), next(NULL), random(NULL) { }};*/class Solution {public: RandomListNode* Clone(RandomListNode* pHead) { }}; 解题思路一、递归思想:把大问题转化若干子问题此题转化为一个头结点和除去头结点剩余部分,剩余部分操作和原问题一致 123456789101112131415RandomListNode* Clone(RandomListNode* pHead) { if(pHead==NULL) return NULL; //开辟一个新节点 RandomListNode* pClonedHead=new RandomListNode(pHead->label); pClonedHead->next = pHead->next; pClonedHead->random = pHead->random; //递归其他节点 pClonedHead->next=Clone(pHead->next); return pClonedHead; } 二、 复制每个节点,如:复制节点A得到A1,将A1插入节点A后面 遍历链表,A1->random = A->random->next; 将链表拆分成原链表和复制后的链表 1234567891011121314151617181920212223242526272829RandomListNode* Clone(RandomListNode* pHead){ if(!pHead) return NULL; RandomListNode *currNode = pHead; while(currNode){ RandomListNode *node = new RandomListNode(currNode->label); node->next = currNode->next; currNode->next = node; currNode = node->next; } currNode = pHead; while(currNode){ RandomListNode *node = currNode->next; if(currNode->random){ node->random = currNode->random->next; } currNode = node->next; } //拆分 RandomListNode *pCloneHead = pHead->next; RandomListNode *tmp; currNode = pHead; while(currNode->next){ tmp = currNode->next; currNode->next =tmp->next; currNode = tmp; } return pCloneHead; } 三、哈希表法时间空间复杂度都是O(n) 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061RandomListNode* Clone(RandomListNode* pHead){ if(pHead==NULL) return NULL; //定义一个哈希表 unordered_multimap<RandomListNode*,RandomListNode*> table; // 开辟一个头结点 RandomListNode* pClonedHead=new RandomListNode(pHead->label); pClonedHead->next=NULL; pClonedHead->random=NULL; // 将头结点放入map中 table.insert(make_pair(pHead,pClonedHead)); //设置操作指针 RandomListNode* pNode=pHead->next; RandomListNode* pClonedNode=pClonedHead; // 第一遍先将简单链表复制一下 while(pNode!=NULL) { // 不断开辟pNode的拷贝结点 RandomListNode* pClonedTail=new RandomListNode(pNode->label); pClonedTail->next=NULL; pClonedTail->random=NULL; //连接新节点,更新当前节点 pClonedNode->next=pClonedTail; pClonedNode=pClonedTail; //将对应关系 插入到哈希表中 table.insert(make_pair(pNode,pClonedTail)); //向后移动操作节点 pNode=pNode->next; } //需从头开始设置random节点,设置操作指针 pNode=pHead; pClonedNode=pClonedHead; // 根据map中保存的数据,找到对应的节点 while(pNode!=NULL) { if(pNode->random!=NULL) { //找到对应节点,更新复制链表 pClonedNode->random=table.find(pNode->random)->second; } //向后移动操作节点 pNode=pNode->next; pClonedNode=pClonedNode->next; } return pClonedHead; }","categories":[{"name":"Algorithm","slug":"Algorithm","permalink":"http://codingdoge.cn/categories/Algorithm/"}],"tags":[{"name":"剑指Offer","slug":"剑指Offer","permalink":"http://codingdoge.cn/tags/剑指Offer/"}]},{"title":"动态规划(Dynamic Programming)","slug":"title: 动态规划(Dynamic Programming)","date":"2017-05-13T11:39:00.000Z","updated":"2018-01-12T14:27:10.181Z","comments":true,"path":"2017/05/13/title: 动态规划(Dynamic Programming)/","link":"","permalink":"http://codingdoge.cn/2017/05/13/title: 动态规划(Dynamic Programming)/","excerpt":"","text":"(以下简称DP) 基本思想将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。适合用DP求解的问题,经分解得到的子问题一般不是相互独立的,如果使用分治法求解,有些子问题会被重复计算多次,可以用一个表来记录所有已解决的子问题的答案,不管该子问题以后是否被用到,只要它被计算过,就将其结果填入表中。 DP算法适用于解最优化问题。通常可以按以下步骤设计: 找出最优解的性质,并刻画其结构特征; 递归地定义最优值; 以自底向上的方式计算出最优值; 根据计算最优值时得到的信息,构造最优解 基本要素 最优子结构问题的最优解包含了其子问题的最优解。 重叠子问题在用递归算法自顶向下求解问题时,每次产生的子问题并不总是新问题,有些子问题被计算多次。DP算法正式利用了这种子问题的重叠性质,对每一个子问题只解一次,而后将其解保存在一个表格中,当再次需要解此问题时,只是简单地用常数时间查看一下结果。通常不同的子问题个数随问题的大小呈多项式增长,因此用DP算法通常只需要多项式时间,从而获得较高的解题效率。 最长公共子序列问题描述一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切的说,若给定序列X = {x1, x2, ..., xm},则另一序列Z = {z1, z2, ..., zk},X的子序列是指存在一个严格递增下标序列{i1, i2, ..., ik}使得对于所有j = 1, 2, ..., k有zj = xij。例如,序列Z = {B, C, D, B}是序列X = {A, B, C, B, D, A, B}的子序列,相应的递增下标序列为{2, 3, 5, 7}。给定两个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X和Y的公共子序列。例如,若X = {A, B, C, B, D, A, B},Y = {B, D, C, A, B, A},序列{B, C, A}是X和Y的一个公共子序列,但它不是X和Y的最长公共子序列。序列{B, C, B, A}也是X和Y的一个公共子序列,它的长度为4,而且它是X和Y的最长公共子序列,因为X和Y没有长度大于4的公共子序列。 最长公共子序列问题给定两个序列X = {x1, x2, ..., xm}和Y = {y1, y2, ..., ym},找出X和Y的最长公共子序列。 按照DP算法设计的各个步骤求解 最长公共子序列结构设序列X = {x1, x2, ..., xm}和Y = {y1, y2, ..., yn}的最长公共子序列为Z = {z1, z2, ..., zk},则 若xm = yn,则zk = xm = yn,且Z 子问题的递归结构 计算最优值 构造最长公共子序列 算法的改进","categories":[{"name":"Algorithm","slug":"Algorithm","permalink":"http://codingdoge.cn/categories/Algorithm/"}],"tags":[]}]} \ No newline at end of file diff --git a/css/fonts/fontawesome/FontAwesome.otf b/css/fonts/fontawesome/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..401ec0f36e4f73b8efa40bd6f604fe80d286db70 GIT binary patch literal 134808 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 literal 0 HcmV?d00001 diff --git a/css/fonts/fontawesome/fontawesome-webfont.eot b/css/fonts/fontawesome/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..e9f60ca953f93e35eab4108bd414bc02ddcf3928 GIT binary patch literal 165742 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 G*yFsbY~cLNXLP73aA74Mq6M9f^&YV`isWW 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

                                                                                                                            5q!RY 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 + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/css/fonts/fontawesome/fontawesome-webfont.ttf b/css/fonts/fontawesome/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..35acda2fa1196aad98c2adf4378a7611dd713aa3 GIT binary patch literal 165548 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 z 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 d0mRO}xo^G_%I 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 SdSQM28?+M|D(2r_;{O0|uQ74} literal 0 HcmV?d00001 diff --git a/css/fonts/fontawesome/fontawesome-webfont.woff2 b/css/fonts/fontawesome/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586 GIT binary patch literal 77160 zcmV(81_!itTT%&fM`8Do zgetlXfhX-f>pHa>CezJ5a+CKJB5E?t-D3Q@I zv;Az_{%F*wqQWVk+*x^)@=9sx>ldws&U_`?fwx|)6i0%hGq@6No|Wjj+Lhc2#LbXI zik@&>S#lthOy5xS4viawbfqcF5t#22r#4c;ULsQqOn&iMQrAORQWXh`G=YxhM*4YN zTfgWxZlU6?d>wP(yNq!jqfNVxB}>Ww7cSen4lE1$g!lMN&~*PN_7ITCO&u%|6=U~^ zD`NV@*N5j%{d4(V*d&F9*Lp4o^=-wV4E$&&XJX#);dbqZ^8pUYCyEa?qdKs=!}D|N zZKGn0G1#bWFe1l-8nC}AR*a~P9;0KUBrGsNR8Um3F%kp&^sGD!?K|!B(qItgwkPpO z4nOg8&Z#<)4^Bj%sQjrANfD$Zj098^i(7$$Vl;{o&HR7r?C&hE&b-&}y`y4mHj%mu zNlfW!ecOyC;56fuZ7e6t7R&P^z1O9)e^Pe=qGENxwk%7Q3&sYU;&zJz+X!u6Ex^F$ zTu6(Z`;JIR{;Knn>IcTcKbV%&ZSxB`P>8MADLLm#sD>oQy@;IWvGh3j=*Qa5&VIQ& z#BvplZofSw5gN50lul%1ZW|#duBPzgJG1nxIGMaB*-obI9wC1%7zRoi%C^%k;Mn?+ z?pUuq3@j1^4v?E3B49cgqW>EY2?-#3jqje^;JgycOCcwp0HG~LNR*rji6bO_n_6Fl zxt$OawF6EyR#iAg$gdotjwKXO)cf75+S~gE2n>cpa0mh<1W_5Hw7c36opP+~qRPFS z?z(HcYuX#9GugKj(K=EQB_0sAfiipahu*36k{xIzyD2!y5%vK1@c|DQ3Q0^$kT!Po zBklXM?*0ZWJJ6;!hoDZHGR|mrw+{{o{_lUy{_6}+Pm!l|BNl}Q;&@bv@2Wy(0-c_O zab6Z9oUWgiKYRW)Vv0%P;3X|rT9E6xVx&Q%6AWJDG0oX-H5vJ?>5A8;PEnm%C;H~y z%@URb{E<@x+!!CGA#@@j24G?{>Gvg*2lVeVHM;^7(Pnl#tDV)(Y|gCiIh;CbXJ$WV za+~#V|9GDufDe2U{2(L>iu$ z&FbBmZ9gV+TlVF2nNyNeYL2HloUh~eKdpS)>J9Pm#Xd(4%myqFVno%qUa9n|Ua803 z8#-)?GmgDZL7HHzH4B_FHnRat`EXP62|?edFIDRb!q%9yytA|?Ib5`-)rNGqg%GbH z-}d(Uw;KH$fouQgEh;fvK+gfZPMGsl{cktu>gD1?zL z`z7_05U{qkjReFC1qI#x+jpODe!iG=?eIufIBbyAS`i6yq~pK;J!P{R?B6jf<_85Y z$&N8sKi05v?h+0-IZ#Z-(g8koZ#f{v7%?Dp!%F^s91LTw|BvSLb7Oj@878i9HK*kSp)6{%ZXlv-PQ)RD zE`x4f_xM$H9{@mn{1`uWwLbR;xgELO9FcMuRbkvnQXmT&j}ZE~*Z9?u0F(1c4Md6G z%ZpLJy?$`%3V_^=J3F{;`T31Z7#Ad=bomK731~(`S)uLTR8OErP908ueHZaDB4D$q z{GZri&j-sW%|A#W5to*SAH-ai&E<86{%v3LDwPh%=3Mm7wrS#iOV1$&8oKgshx_jMlowl4ED4$f#L1!t6C1g9p~=ODPt z5-F*yQZ*RmNQ`~4r~k{Ouxs3@+Z>Q5N}1kIzW_;y+Y`2(U+=Sj1(9)2Vkg!}$DaT~ zSw&5w0~|KUc7%a7st`^}4doR9Pl!$j8b%9FcqlQFIssg|->XC5YmQ@}VmJj+^a&GW z;TT&?6ewkE94j()E$+}^)|h0Xjx{@?P9)U!BBDsDj}WU31 zAtcV{=d|bI-bs8=m>_-=CKKcXWW_GX0~^$^=>jcb2lM)283`*Z!V{7?x-M-}_~|s` zV|lNhxg(2J)xt(s?g(|g4crMAX)o}cuastffHd9kY=i3#SX1;l!-O06F-4v5y)!_N z{n~32h};!G7bhd5ytZSkz1eQ+sUW)X74K7DJFF%9?n#Q!!7ID?F7r$p*h2z%vFq+0 z9=`hOhOu`E+Rawmf`Ea#sNtl*!}&#cW`0Ouz3DI?ydh+i=s;0>PiQfT7Zu*A>rw!Z2oWMZdTlLANQLT4}czIhYZic*axDrD;QpTldic#?)QnYZQ#V&@GPdWKu$ce zkR96D(D?F+uOEL7E{&8{@#anN+7VOiE7M#=o-3l-Qlfm(Hnj`lCvjX<;N1eImGc}P zIfq1q23S0QB<*mCfZhipyXl3dlKdo_(zgrVEctLByL0)aRMXBH-Ttp)yZ_WqYe|tF zU*@4;)#eID=!hTcSCgMs|CA-!(RT=~eyOCyMAVSk!pq$%^Rswq@*cQ(TXI^ehX9#d zQzf)Vo7@<4U`9OSg`E*=es@n8G*SbT@I9!qVekl|qYka=BE@A6$s=C?(x-c+DlyNW} z6eaQe@Drh#XmE?Ex(!VKoZcdgD?X0w=CviN3tmmjikMECbJNHMagMY-l@hQIzV7AZ zriQRf5j1k=Eh_KlCFt5{BiAK6a8T){lxWsNJ@?M~+S(158s#PwDXC&%gvLuu_&~q; zp5%18A)_>(Gy@` zHu}fy7?5gdqUqRaZ9G+VYFVjT`f3hBTtJLx%QHo4W^k7Hn4dbj+U@EPSKG&~pSs!K zvyPmU&Tyr~vom3Dulo^!F^FVgi})a%1Gn9)rTvJRN`lw2KOkz(aW}5MO~dBSW@edL zwPwp4)N=wJup1;S7@U)OkZj2gQGo~o4#o=@iYEeNjFZoLvW2r$?(LKzQYnI52$jlzP&K3-Fs?@ z8TYz{a*Ip6o|)y)qHif|*~IjRGj3tOR55>Cr^87ZMJVZQz4x-c--DZz!bJ3J`mBFt zv$MzMB*TT@cUYc?%vG%XC_t5juJ=v#VIpp<4lLvW$%%|VH?JfU3&D=q@FkudiARUh(d2N+ zWLd~2X5t4S?fb`JHk6Khs0b;)4m))>Bf>MuG>~md#IxJ@3UBxJiBI@&t;m6*b~tLF z>Y4m_C`-#PTHIv21B#D$$;E^HZ8uiYUtFhV*G%O%3~-xR^LiE@?1e}-zAdW`mbEM> zF-u5dt!0p?EOIRw9HXESaG^}g@5b$*Gd<>1m;%N!sdSMt*}PbmYdWd4wf_iOfHlC+ za|MYGa1MylQ*%_SxCI*3>pCu7wYNkflt8fcEw)9s%#j8m5R?-^jqs5&y2-XJ@J1PZ zvCEQxGD63Ll8sRsnbjBI1u1mJ!>4@OBQ%73++6qLsDSXuV7F#t5G=NzBh&|HiRm#q z*)7%le!&>OD#^0421Im4)tJOE2i~}o^A-DsEaeX+t0KZ z{sQInfSneVRDtp{f^<>g*rTZi2sAuCI!Z9Zh$ZFSky>G5VCcOA>UPbn{DxunR4-Zq z0{Rr3Vcwm`(344N37c0jkQV&${exerkPtp8!}^!LNFtPq`QzzulIshDd^c?rMzvmA z&&_^jixC$vO7ZGm0Le*_7u+*exgqHorQCbdJY~!;JgCi-!q5HtGLD2^A9dP#_`PVfh~Qf+*{6POoKUi6l2P%*Hl&QKAyfLqkaIKd`D8JY1@={Zhq*1zZjQU5-VVG9EdQhh(N}S^W*!YLJe?QZ~`l?e_yw z5+Rt%0P61dAXbLEnF=K$2o+w?V3$raPx6eS5Bi3KtXuINb~@n7ggV*iUfP^;*T3fx zK(YWg|IErMMW^{br`nI~*hvLG+;Qa(JTE9Xz2mD|`K zWkMsBLSxbz*}wwmYD`=a5~IW|zFKINTi5zYJdLXS5AlQ;aj16QewJ%pn@7XW)l@{k zKU1m8+14)_#x2y>CEb#Vl-cMv42b@BrfGab7RyPY#BuR=W2k^v0h<(f44SbZ&kQd& z1c7+0f=Eva?9UId@{fgyyLhy>XLZ>Hs_gVQ>JLK39^$?US5+# zF8FwgP0>wLKjyriCrA1t{C?ppovgaV>1c~smv@h!4uR$(`2`$DeE7c~B> zpO)wsEU7ZQ#)-uJ6()96NKJ8Y@H7-Z0#aPGy|SvlSYbSo*fbFCmK;D$X{<=pL|?w> z37bU`XR6OqiFvV2n$yv2RQ}kYO5LsvtCo2WW6I7VnMg|XEFd+Y{o1b`B?Ku6B<2+= z&U7;n*3GsPjMqSY02HvKv_gCJS?}VwnX)lP$9Q?8>7cln_TCYaRXg*#;^hb%1uH+IT+qbi5QUIEkAPwUL- zZcK{joDF?6iF-BK80ny(qch>Bj2#sVh;E9olq4i9E2BhC2h@ZuNbOcWnAb?Aj+ol{ zPjg%dw*~)|Ezvu`S2h4n_?1nG-8izHMroCi)H}Y7r8gOC^D?nEB?8ux%nux4T`W2w zjmomxy+te?pWb^_g#G~wZee%3vH68gXQ75Jt@23+IdVE`poA6wl8hR#JV_HpwK4Eu zBw$Qpa>tT{f!Cet&Rr4Zc;X#7JyIEVCMr=i=zs(;dVe1C%lLUbh~NS0gJ4a3_SBi0 zWKV|KrDg~RR0H=-#?#LMUi65trDJ==U20Be7 z%Xwpj z8rGRuVi>6*eIn2 z4sdTqnx|BWhY_zMYaCA7zUpjza))jPvt-vupa&k7+<6n*ist$5`NN|BwO~KBX%LYryjwYCD`L@BOz&Y#&6yLk zrl09#3<5$~a4xgYhziDTTr}+GvxUZ_irgNJWb6?^#5mb!Oz(fO^4&7G%H z5^GS_GXIRAC_Q6#bn~Jjo?A1S$rmQJt!U~*P6dbvJ-70Rj*C#qoAg1nM--Cz!Y317 z=u#u7#!Wgd*X$9WGk^)j?$&fleixkNGkSM;Ai$K^JD4}R=>kur91A#{$yq51$wX5{ z_^yQCFMy;I)XX=RX%FBGjUjh=$~M62v?QPtjW|Ux>QrIgjQe~*2*&>nXZq^b5AiNL zZOI)6wC_3KIl*(?NODXbHzum22a=JFGaEv41mKQ*TW=5nCK7LT+EZuu)vXw=D|?|q zMZe$WYg*z7q#{n@ie%~;HG`r$nwUvewW8XJl|HLR?P9D;g~!gQW+^ITmZnEFJoC&$ zpqK!kl`d!W6#u8;k_s8NrGXb9K``UKExyy)qZX#Ac7FthR3Nwo1`lL3ODL!o z#aVG+vZ|XXb=~EAEWJ7~DkOX|><)vPi!TI8y2~t+U`4!!=-3qTcu*UzvmX| zU;vxoFY7w$fXLF*)+alS*@;#LhY>_6%d`y63v$W)kPx*5f^bYS(x#$=iQiEsSbWTj#TRZs?$7t8|iN~L%c(PyNt zN>cc8olk|i&vOa$9mc_tq1qTUO?Q~7+#U@N=prKaG!!!T;ppICO~e}UM7l3dA&J#? zf-}{*xAKAEE{qjsE0aKYPnTB6aq63DUe`n4s;NtDuJ@l2EaI^^NCY{ITBxi%Cb)05 zg&!!x67sqr4))=f2=^B;|&U9nAtxK%O?JrH(qLN-KLYGA2ys`5Pbca_F5=9yX0 zI@KWOZ;?E|06C&Ni~*hajz+-M`jaFaJ2KXs*J`w}5c=M_?075|63ZIOft^DH#ZttH zbQl)6uo5JL99BwZ9>Hda#W}|*0Iy-0IZ%nKCgAwd#WqiGzSaX5Y^gk*)brv38S)wL zWOF?u0W-yO7LT=1Ezn{_pw#>#jSuWwImbE(F^wt}}lf1z<$?f+@!t&&enhvFSp|oAa+s9!U zHXe30?GjS`pv=ByF^BCWSWJbRy2A=eiD6-y5fj~pEXMQfgpkY{A~P+|N8}+K%cVH8 zxAHg&eBe|%Q{GUMi~=9Hw)OFF98FTLS>9sw=B0b@E4xqqW!sxF_VU+f1*fUgb*|_4 zRz3PvJ}t!oYhpH4pAwRi(5Y}*;!VBKPpDx3vfLzB=tRMJ8;%jV@j>6aqg%i<1&#b+ zk^D-3Kdxp(KRuW4k%?rmuP94I&g0b4>O%zd6?@oyO6liO1^U`$YEO(w~dfSW-)I*JFbc95RKnhH_Ueo)^V z5O<-H?_2BbD+u?V6s?hlkNW{&D{7-4R^P`fkDgL0;{mp{b)#&5Aruay{_1@GD<`i@ zS^hSgHnz=Q2J4n}WYT?K1Ba~KTmN}=+nAMVj->#wyKf}M<5@kRd1_Le5osxl7MTWO zkkpGzVMHjsSp8MXcS#7V+PhkS79{jH0@}OoIU2e8CV!dMG+M*m)+daUL`I+W-4I(& zUB!OpWEez0R`B*0QI%Jr&CRlbeRfkm!A=eXZTHE;D+5#BaqzefNU;B5|N6>RA@|Ob zujYmt7m3)_czpI-ihZS1NN z{mBusZ?O_Oo54A_*Q29z84jB*6Wst#IvTqXn1FOd0WHRQYg4!CYPDfB?VoaEw10XJ zM*G{lAl|>>gn0kjc8K>kTL8Snq(eBCBR95iHQy_>TsDaOw3GMV`td+(amo3Y-6~SVgFExhSbYQt48O)0=vGOBz@93V1J{b z%hnjMkz5Lb^ba^Q<`P+L@G)XOzkbHOO0N0Xg0Ihy$^3ajb3G!GhUm=0X6-0?ONj*> z_f3DrB8?gdNMPm0cL=p(y+ve&>N;XLt~MwFIj|UsJns<6WB+W8-IyLPg}oO15Nn;A zXX*?`q_n+^0gs7HP%P#UtYbBYu|?p@^*>8)y$gH5q(rM|2sDE3?Nr_ z6;wk|U!eBTYxBbDj4oegyx`H4PD;~E0DDx)A+w4$lWIO__?$4^47wxdhTYj)uj=EM znyJ8s%uB-ov3ip%{vp~EGl-_rGMMKEfwnp}WIi3G1!!q)Mb=!*J@7~jy3`z6D|(ulUfoM`T~yvcgH%qlR3L>cQz}3KH_#K=7el_UiNveh$%U8? z_LGuK4xOlJQHD;H94v&y2_rh?&Qj5;yNIP~_>vbFIhO?$;xT|Nf?1iDP{&TfzW|C{ zCb@Y`IIq*W&G(5WFw0|-!FC7~@WzQ;j=+kc@=CQq%FR2Z@=-e+m0g92{YkVJKEF#;crZ%nQcFJ%ER9s%lZuHyt zzJCQXZKOUpq-8^{@!U>*5UtJX?PJ5B=GmY497K(+_9#(mFzjTf_-f`njzVGrbu~ zIo%B~2+9wdNd~?$Ckbz>{gcoZ5?p1VB{W_&eWQl99s=eyg47Eg{UFjXJqPm>4W7YD z$9-*oALJ8xuo5PzsHx8)k^U}Y)`AIEyYYQx=Stt&>pC^1 z<1Ipzi|(09mqxhhS;O1DqBDH|#e6Brh?)T?##hqzUdF1q6jPRD!uP? zbWjmu@AiW4LERk~L~lO?LlBOkXS8(lwDr(C^0>rF%Uwqug_tr@MLb@WZA&whtoIbB zE8!EYJKqhOTZ^g|%QMT``HvY}F|fSBy?KOoxP^}j7bAZUs@!njJZjWwL(^eq=6+n~ z8%LxAL!~qu?!w+=bz*cNLZC~R!u8OxQEj~wJTO)h@b)gBEo@zQDyI4YXo5}-(Ea; zYM(shM=smh)qbs|w%6;$>GU<*xxL%3UDH z0vH0D^OBr9a`sG=$rh?)7@YIo7tGXb<&x^?G`z4x$kihn?Wt54!tl=`j5ks~^J>k@Dr0)P<4=`SHK z9HqZCbCIW(RVN`J;D75Pe20ytLgS&Ts0!l`bX*&cR3jPU^U~6tO^zfhGHzeRUZ*DYv5=CgnUBb27sKfkX_*_QW8g{ZJrxy%`UQ0*MHZ%`jL5C?){`F! z&C1heYOrD0xYm%Mlg`aWz|)=J6XL61(PaYmoZu*Oee#}dZ#fyd`&CdjdPpQ^urvhm z*}68VQ1kadK;l>pC^5~>n9Trx;doyON_o9|l{4Dr69cU$EWU&B<4x-^ZkyN@g+6xh zPwMoB)w72E_{3`d-x8SCuyV~Y<7PBtbGlz8b|q|+<4fOKPHB=WR`~8S-zT@E#MIz^ z=alPCn@!+HKuGW89YXG6E7SeT?x%L$Rz`6^7@OU(bxT^EXsU2P?CnJ`_xORo0LS5ZqJMxCVbRWeo-#hK z{zFi%iIA{N#Sai5nrc7MZU}T|<(}BnT?3{T;ZumX`1pI_wN=xH1(7Hxv$bO9qbFvM z=4UX|gWc*FmBdU?L8VP}WEBU@DdV#;!@A>HA=Y*PjwWDlg|GfH5>Q(U8=Ya^l!UuA z`@jrShkPR|fU*HMN(H2f3L_iHxXfRx)nrwvq&6c~8APszz?(uMOM~~;e4-k-z`+?7 zfGGlRkkAmSbZh-=1DfW@EUpy$Y!T?8>kso)AM7dJxn-C&fjmLF2(TVpFr4e2U+g#7 z+4k*TetXy?4RKO}&ah^a69N0{Pzn%X8X;zvwD}fTRfDp#XjmKaqHNo}UcvD?D4zpu zpg)quKs{n;XPMnk&6ayDlWEX8k|(r56^l4OXTtD$NJe@v5fJxV4@4v5kU@+YF81KM zB`3Ckcdb1#4>KC1$+)+jS|{?MNO*>ms=Mx+CI?BKk~GjUN$;IXX{4>cn`P*Fl-e82 z)6I{U{cqygw40B6gQ97V*DIRULB6*KLPT`CR2Q|GilRB@t|Z3gvZLw#C-?I9 zy!hb|Fjj~seB&a|1(KNJ>wxs3916gZ*He~34@x1F)sNqi(l*9MHd0)QHWXaHyE(K7 z7cKZ-J*L4?vm!Z3S1w#G4ti~Cddo)5wN>F(8-aiB*r&s{6%BN!A zfXYqSk3jA<$0DOjjri6<$##L%7TK|6qVIW0hR0*(fg#o6fLB0H$oz`;1a}}DIS=m zbyp1H(H}*@XgRD90l;D@8c^gVE|w&ON1VYZKqwZG5%G1S)>4fd>}E_8%j0} z>CWmY4@fF`)8Fw6=$}2#(#%l{FRR_s*mX%Ry$HHIkK6B%!5A!-uyP}Uc?5jE0|so# zJYf39QTYezJ;eLe`Rl1hBpc|f(m|4R>6nc&+U%5MHUVSI^MY5$rR0aBG=BCa?{*tv z8T?`Y(3M|9)vn`N-fV}=sLpm8aiki6a}XqLIP~HXQxETrC1SUhA1v?k|2gmVR&_R2s(seFN2Y%r46JqWZi{zMzO@6d9I)pcW^+TATpWS22)!K7 z{@c%I{Tj3rhq(T^vsRbu&Ze%9K%2Jx;;cHVUtnV^eewPNOqD#*TeOfPRjbx2AAHc} zt-4#2+gs(Qnd`dLr*F8*$-Dx&zg#^>Qus?OAzM6)zDVOgj)gmgIpO%m1%Wz|)Je^w zE56KO{+Rh8zqjowkH|kGk|#&d2je}T?ZiXYJha&VyO4V8#=E9bh(Tco8rT zPe-~LXJF3m-dlc?;6F}7;88&8_{fAd=8#U#frP4_L49h#jzVGc!5lN~#ic3g6~oWV zv^sIRNviD2sp=g0o*CI#Z^KCv z#FxvQ-B_rBq7Gjt0mKsW!!`BC6$k3Nbv~=i32Sh;2_&#wx~G` z(eO_m^%*b>b$6$%N#e-yrUExgrg)Xbt1_?iT*?_%W<73Jkye1Kq|hQGIg_l`b~tzn z`?hTr4-{}gX!g?+=y~FiGlIKtQ3(zuiP@z5*mQMqJp{b_?lasFliFvhEL3A?EU$@}>?(xy?0}JwQH8W)@ zgM%@G>PXH-ueM<_`@adULW)`<8U01d5R+zQxRm%!F$xyv|chrOou44}{FQ zu6YqRf~q96u+ODLO0G^H%4Fs2B8k-be>oiK3g$C0AW6*^ms%)ZC=G0PHVrTJK#p08 zLXKYE*x7xsPgH(6W4>d;@{V2knw5LvDa+k`?zu!b?IaU>6Z`Pq6UTXDmMjv=q=0+& zbV0gTGkOq6NxG|T!|+7LG~A?B1pV4nGi0U@Nzx9T^F)#<4HAstN!zTAE&*ige(75b zE&EHBUNV4MV+@np3f(yUgLS?vS?RQ1T-jfytki+QU-&E97h_7L+8iXKTrxUZSLO`W zV$?#Q?RP!b+FLOvP6MA=R(dp(9y_!AD3@k>PN&3w;8lV1W+;Df)|ucTc-JF?m*BR~ zOsPF17R8HHWkv%j8E+8z^ns8d>p9D}&pP2~Dkoz~<@M#QkC?n$ z&e?ks$b<$?W~FX=nO!(W5x+0$ryG2dx-rUj?F|2CK-5Y)v02RT)wWJ`+B%|S>gH%j ztfKJtZwjIKzq@q2O_0W5goIMejlWX#_i4d8d`{b6P$HnB{fI(9u(`CzAZ=h_p7o2O zI!*lxi_iiR31c$L#i%^U6{h{zleCsq2#-&VQv#A)oq+%)VO&84x^U<84CMIggs<|k zy=BH+=Ey;ktf{G+F3hldr`GGNcZSEmemrDYNoc|SQck^RYZ`Xo=5O44Zl=_nqJ53m z?jA^dWvppdl~<{u*c`_{q0Ag3%_vJcw7Cau9bggfCgx23cwR=Xk^w6xrQHLW>mJ6~ zoLc6EiL#W%j~X5^KVItxMGgd}D4^Y)9{5DysmOKYi5BuUui;d}nD6_L6YasFOjC}# zHczo(ZSUG->j%o24td8i_|W>9e3D++Qxe`w@T9$cDvUBrFU6PyDH+cIXb67yo5J#3 zG40794Me%jg^c&;B&HbEF_T9x&XsSefG`7I4C>qZhx=cAaV){D41BBnVE){<2L>v7 z@O+e}#wYA`9CLORgK8)rap0>`tBHC{KGDrK|BkwuzlaI=96JbeGJ_Pwi(vS%g;$GU z{Zx5S_h+a9Wo0lHhxZH-?es7(>U}TAl)Q~QXj^ng`9!-l)?P)w#v|is_sESpWZ=t+AIf!#G5rs&Syz>JIdC**R%{28T7 z3V@q>j&C4r)}lPRp4ColvW%S&W~ir4e=5v=&{fKhhgb93U!Md&2bOjoJ19Yb8HK3L zy4q61UjHC7w>>t}Ha#-tZtH%1W3Rmx2ar!UlUNLfmEdH$tN}_H)_jlNOi-NOoqi9^ zg{k`SIGQU_MC|n7T(8vT(ya@_ty9AnT&F$vRoQmT4Nc^QnjT{!Vf(8~JI_I`92Py) zsKlD7l)2VxfdNW{PJnQm=uIU-Qee^9h&$N%C=>g=hc&|xSDL-sJ+%mnhFKt;XD#Gj z2zE4q&{%)2*@^mvO4vZ|*FE@S$1}z1{Oo{4vd%e)yV|NLF_6$95=Yw_z4vQ4lC3tBMDGfINUylPM{vLdC8$PvGww3M z#7!FCN}^#}-qt^>V~yZ$FrFzti)i5lP8Wc{b)L^3ngy~Q{tIn0A4raVvcVtQ$}w_8 z{3pGv*4Hunp5VvTf00XaophUX0ZP&+jLmekkfXZY#_;M=VNVsAyL*H&%BP~bR*Q}dWg0oT^8Hb z+8?1G&z0BSPn^-$hiXOPI+G&__cnoUIy{k1=Mc@&b;oJ3rj6kk$$N!*-WU(H*D=bT zr0V|Tqw7^x$?|Od3@g!L!cOqQSF7ZW$!NRFDNm;|d2K~(*`%*Q*3~y3q@}A_QE>1T z_6D(LLad5BIEtTzyE_8L9|e!)^p^N1XG>BwZkhJX2IjpB!BjvAu5P?4wikmTJr-d# ze~F%~qM?I`uv&gYSC`RHUPM?eSZ1ec==@HA#jy~*aWwx=5(dFZKo$AuQ_>Rp!25mj zSZFWpKHMx~mgDF1I61Y+^zJP>M|=fW1(A{|-QHr~ANxVa>i9KBlioZk*_GScI>eu& z1|bw(XKH?{PY2&7|BF?JPV1t%IM>@CuK1MYhZAS<3|$8;R~lD;C|B%GHu9HNvEw0;77(X?22w1IM z%aiOB(=+-KA2<0vs~0Nfhj)MhXFr;#l`0{U>G=9ec~qi63stjc&eM9u(Mj>TmCs)n zqy~jI(kAj;bc_&x@JKEnS@BxtC^T6o>twE#!UOw>4wdD*?dko{h9uAd6M2~^-V^XtQB8iDT>SuRV5`lF@KVqR6BpM!C7IOSK==Vpw&g(pxj3)fUkzqW=b~T@qFwtEZ zW+hV>@`(tZVIO~PD)HCr*ovK<9kXxHykgqU{en1fN;#jwg4p7qn!+cTEpyI5hH}vG z>x6~8sZ_AKr9oJMqy|Y0(OfufU3-I1W($>IBOJ=s6IioUUS_%(HTTpfCmY%9#O%-* z7Wh}nGS9alcExi=;#_~8?TAqrbG4o*nahwsLFg1}QWPF4TIl>4u;pQqh|II-98+uo z(Uzi8j9bgxoMgNzDV@owyPUubP~^g*#Jxy#7^83fyfvKkIEl$Fgu-3GXv3c-G_7y!TzN53|0z0QrgQ7caCIUODsHrJxMO^Wb*kGR?`kWpC;A=J&>1(h7!{7l6brcI(kLf%V{TT2<75-6 z8&zYT427ft`=>CKA>vVv&c z>9c-_$@t1_qhpRP6z0#+ww!e6an%ezStolEC*FwaLF8jo@%>hTO&IniscS@-4Xk^{ zrtKJ5&7a4q|Ll#BJS?d+UDhcz~oPM2|KSxUs4*+p8fP(ywu!Bkt8%c6sw78 zWyNMQf4$PiP-wJBw)J zFrI&zxy$w&L>{f?;zPdE1W50pp&X*=#w>q9Fo{|y964+OygHpN!b_)=H+o!D;6hCIj zaWcvUbE@H&Wtj%YJiK-AP$vs@i<*4hd0{uunqN#iOC>hj6>gO$NE&}#blRdD+`i|#RqLfDYEs|E;WZS(Jd4JuKXL$d|7$*@si*w5&^NgZ;jfd9P&&PAfyK0 z@-#u^rMW!<3dHgDRD+nfKzz(tB&HQ<8g4F2+(~@yQiKAa_dwrJf`{u|5QPP|UW&x-B%aYvU?T(iBW85A*9V0nld}B|2ByRyeWvN&^j9@JKZ@!Qbsb8_^ zONlcJ=M0REj)N6&mU~$eu?2^f;T}P5TkRP+t4-So4XIQpAtJu020vP`T?2z@1x3Vd zvJ1qX!amg}mWG+-dq>E0of@wos@EzJey05Ent8dE>tKl|t3mre*_a~%{M0D|w-9f} zC?w+bfEz#g9_ATATsZS!`bnjtFS^eH6s zdY{~Fa>v+oy@j+DD2O^9u(yLph#W_UVr5pQccN(|L%vTj^!N}UkkH#>=UUua>^w(f zJbJADK(RUlt4b}v)x_UlVCbm>IDnyO(zDGhZ+jkL3o0&`h0 z@{No_wWBu{*EDzEFzZK`(=~~~dX2&bK`()oMNe|h|4Dlo1x#xHR(r?t-E^1H#SqLUK8XTlHbx)yx-zJV%;W zKH0>$zqd^jvt0{Zv#3t^*dDNRu~*%VWSum|q z51|7P!|^AB8yP?XE}H1sStdAo3W_XgHx(MPwWI3&GkMs-JB@+sRef+T-$|bg0qg$@ zcvks%*4}As_(r{2#p-68|I7JkSlVNUnAGeZE@BMm>Ov~4d?vr*k9=pVw`DKNYshuG z{&rknNQbtbo??Qa3K@Uo4zmWL7IK@zzE~4tS9XEc*vZt)r;Y|JJv<;-Pq|0 z%OO{|+~4Q~2Y_nK%zLWsoY`7QB;R_zdr#gJaIYRa=XjEGnV2kj4}%4b7WKja_3cjMco6HoZV~yG2pj)qF`7L zVJc{QADVF*X?0cOT;3WMsv=DOy3n*h`BatGSlLolhrUJwXZBrl<;2|=MZwM#05d?$ zzq2)~RxsboSgg_(FUIe6>$S#fx_X73LiM~S2ib$bO1gL%8=}nT-y8|%NqY0{0f5ps z`ihbDjgrz?{)Wz#?J;z;zqWa=h_}v~Uwwh0e6)CN<68v4cmhg&di-qj$o@o|*H)MN zhH~@QV{>G4ak_TpTan|pCJ~N~V4rVQwtu+3Z0kPcpe!WQvt4J6;&li^~|lB(=48NU`r2 z$5ptqRbX95wQEDI>V|^m?Dw++2AZ+`PnhjdQ-wp7;&+p8j}{AOe&HW^M>tULnR|Ok zuD>oM_4^m!6*k2o77=|29Aq>saUVY9U>1M`Y;3hvO+r$Wxlm;ShBD?sjWJS$x#CFt zalGMd2ttrizow=n(pRG;iN|8%w`f9%viT0fnpPY@C_nri9kzc)_XwUrm{EN^M?~~8 z9KsqptPf>CkY>~*A_I*VIO4tc$c;w&m!_F!^Xs=YV7%&ksTIJ23`_L&b#~lbrq5XC zwJVsP@(gweY7>RvwgO%>J>JhSGf$I)DB$V(zS=M?Nr#PQOVRaGpb^N&Z?Kz!PpG`j zY2z{z2Er-Wh6fb0NAky>3RpbR633Wj$86{78f~M+Q_WnU=k|wC%-kU%`fqsdB*QBV z7l{ai1U_VJ?Zx0LjOU$ViklGOPDxDz7Q{@2g^ zTzoYk-lO!p*rq7Q`jeoGlGu3*@oJ@Ulo@R(vh4SO=F>b}N0A8?-ZIw*>G5P#o*45` zoR=`K^ynmrr?zg-4U}@Yt^%@cxh{CkoMm5 zoPXV&&8X3vA}~MBUNYsjSVrfKEPHdn=5k+U5I|P0`W2GF@sfF;XNZy%{u&bu&Q8i- z=V|l^j+gs)0&%@NSlY-OMMQ(3T%oOEF&Z96qmn4Lq!5jYQghe9lB!h2%iZ)m8(i9n zQU3Xn0y1<|34=SAp9^4;)!bVf2iYvJ>OpJ1qf4XeVnl2s<6=0?EM1vtT&$b1{(Ngg ziP`1QcuaAAau(eR)Xs)Je2aR_jJpp)irmA=VV~$?#P>g8-w^PChhYw9GrTaM=nm53 zC<$un+#*J`K`QNg-=oW9v|YuSD_BV8lzPB(|Jl~}3*`%1sRC2!;!GV6;0|>541kSrttz3llsEV32psoEb>y#`{&)#REmCm={YP3 zkS~Izr@rF*wXZJjgaYCHsz`u-g(1b@h09>l*8)ZPyAQk=cp3W?_!Lk1+m;~P8*K!4 z0ZFiI>Zi2PkyUz~diHB7y()Zd<(bL?Dhn<@{q^^L<@~-4$mL_}__@FWXmHolKV{8X zmtDCkNPNtjG0*go`N(BIsa87)*ry2&G7*|kQC5h&l5AHtZ5%aE5u`I4Cj;AF{i3TJ zcoP!fEU41C8?#|4RP34arDaw7u5&RktJ~QYgl2R(7ZZT|fW!VA{8YQHd(t7WicG+# z(LnD{Opce;bjQ6R$qxFtUgJz5bgkxTAoiq|Uby)>LlXGRQts9Xg1wpWOPu`;5H@|AnueaE;&Yr*p!z}53qVrc-7QXPLS&p48sckL6*~l23wsvl+#eZ@qD?{k}E!>@*~j(GCw3uZe+c6>cFUF(NmvF zC7+C~{t{)_o_?MERiAN})$tgb3cTL4+0ux5*#%N=;LyJ;H-rU?%dzP961Dfy#l=2g z7sV9@3e7L;bw(0rhldkSXDLwUl}hx5Tq#%^zXWR_Rz@Q6=mT7I_Se|Ta?%1L^4NDp zU9)or6R3XU9B02{=iu1H`}AmFc}s^F;7ukNi;7i&ih z)Bjxo@;ow7%fz+n`CL9A&@#?$i4;Th0(zq zq4@P%1npcbS*gTbO0&BD8R^ft-;ju`#KWw9ySA545D}A}9Ns}CKAj7;@tFi&)#MX0 zP?>BsaJb-4lf%)F2=;+n%78RaK%c^)5i9`50Me|Ahl4GHEE$u}8Xyn}nlhj}i8BndXM!{V9@ULn(5BO=r$<`sYbb4v3~;t~tLvr= za%ox-M$LVSxQl5z$uH~snh+g~V|q}Z#dTK2Q8`78(k3U&FYF74k#^;r@~!y%rO(}G_EA+zTka?F#8vv(l>5w`m)5p>zc?}JARmg2a;0vX@8X)$ zxrGwVeI2^a3I#e75dbX2(7D|AHX2wrq@S+utY)mi8fBX&1q}yIO&OsTGH`r?G}-iU zHU*Hj0#KEWC4DbARw|3e#iG>jy*FKP&EG4~32 zmoC^Zo2~LJm+tb7QgYY%8DF{mc~wIt63q`c`uX!V5sy>UWxeE81)SF@eNm%^c75VZ*KB>B;`2 z;ddS|3p!af%~7->3c!l$pDPw;A`&Gk9-}fE0qJzh^_pOfN2QS6w51KeW;$q2Gwc>K z#ui=$hJHLy5Ccv6zghsx1S)re`Nq%I(vb2=FrXH2AtGRbP*dgt3ry$(6*dbBHmpzF z)DwFHCb+zC5sVNNXL5^sPFcLNv>-LCj}*in zB%n`#2xa~aM{dQ&bC}^Iii}(a?`ivB<3!fj+0pGkwBNo3JMsYP=y%-A>orw^cxry` zw9KZ~+_i?Pr}WmHpFW3q)2ZL~;3*u^Zz*gl-tLh|@GTvdJNwA=0|P7Be32N^D_f*juK7AWtCz#4>hE>(_0DNNN*N>a1aA&IDhdw9bkWyB#<|~n11hB zccL`+tIBq9mMF%!i3+ z7PVFGOz=o-eeG5ewfKU|_u7UZRra6A9V$XI{cMyD z6jD%T>j}|h1Ft6zzWU8PYR1716h*Dx5hTjS2M1bZcwGy(MXMlwbkF7HBmQnTJ*tKi<85{MeCN8$Q(z-qr#~Oz!UG+tI~i0b9dl{Z0yvB||xj zSfxDrQSI$sY5BX_?~8CORUpWb6c-C0RKtn(ev$1}t}+)WCwF|-FPf`DGZX;A>ao}8 z=Sm1HyL1Zb9^CP)S7%I4B=R6z$X4V04t(CenRdWvFj$>f{tW5tn$OTY+iH$z=lPtr z8Hs8z(9U~uOipdHt>#->Odj?#Q?Vpj2!j##rSZy$6MhZfhoyg#kxQPix~=gT-67Rc zMJU*dnv;ve*-$zrf0y}tug1L7tTc1QlZk~_Ofx}@Hic3R5ovZU6*mP_5IUbsu`{i( zWd@q@?zuf)s*8!Q8KT9eG|RKUGzP*?L*MCAe%z3Zg-%N_D`O-kGnP%U{MPApJUXQ! z6v^u>OgO2=!ar*yf>Yt8mk!+9#p4YSJoDfdZ?`D-Lm?uLxs_J(rRaWjcjl(l~; zK?+iH{>VLBM7RoSIUI4S@8WhIf6qhQZf^tPol8<4GKO~FDaOszF=U)$eMFfuYdkqW zz+DbI#5nz-fBL#YQYm=$%cDC;(`mGQd(AgAp3TY^G|!J)7Q_n--a2QRRtGJ8K)4{? zp&DP;fJ#t$7p1e0`iG5`SUZ;~VMI#JKc$bHToof&lELh9>6+(v@NK@y&Hh32(2g=( zsSVvd5#}~IYKcssUrw z(x6waKfH!3`oiD<_5Zy0<6z!{&xf)jL%o2P%Lo|7Lh768S0_TN!+x`?g3bM7;bIK{ z6Vm?g+BJTCVDQyJ)=e?_>fj3~(wvuFsXmya5;| z*x|VcAa9N&-KDBKX7XU7%%a%*bg{X~pGvPJ-}~dLNFV;?TIB!)5=)iC)QW?#9M5Y5 zz$*|;0d4KA6yD$OQZgQ-<*qUGEUuZslsAo76}LL=}fX=+YRK2vu_!3iu+bq88_~6K6d23g`7+NXELRGw=j@D~xdDR;< zSpN0LOT*?Y4Kwiy?nVFt`{lej7~*hC>vfK=u+_JN3zv-9agadwoS08RcK&%sH1PV6 z%ii8DEN!`?BSa!z%+aHV0XS@=QCjt-G4=C;tI$J~uAk^!t2A#)+^CG`?VgGcm8PJD z9h3cJL^kJWTc*5x8kyHj(HvdXR``B_E{4}Sw&@Ox#uCibFnTHl7##W;6`Dv`*DQd~ zzt1>$l zy`tr!xYPUpkWSf{f5Sj7i_}-tF$F}i2YMV^5W%qGTd++fR^~PAav?M(Rhe?D4Rhk4 zHzj$00OwBGN+>_2Zdq-K9wJl|`a_LPZF2iA1n!vKw0mMxPE?E?>|H7uedv-Kc3`Tc znERrYG3s7Oo#pO}({__iZ|+swhCx#{SD8=QiDe60DB8|K5d-C-&7B^FbZ;?Y&#M($ zNP_3Qd(pu4q<+gzfPGdS%Zu5$0B^FA6+DYRBgg%sZ>sR_zEnm;BJUd|H}5m9tk*8} zC_fdxX19`qisj~A-_rG9A@!WVvHZZlyfGzJ@APp@I_R9IsL!~3k_7ueI4AQLE3Wlc zsJ2%gb=#nVoiKlk3(I{VD^xFu?on>(6QJU35bBa=XfzR!b_H+p_jZ;uafnByQ$ZFzeFCn{3?&FTXjn(nbO86K)<>eWp)YTN2fr4;#I; zuOdnA*$U}^3y!5y|wZ%gt2Spw?1r~Xs#>Bj<$lV% zOegfQxuQPduw&@N;gU{38I`@@s_{4=;TOt_ihJyWm3kCn_5?TuUw8;s;?(fd+}bD} zSR!4{l&r*?O*VJ_ETm@WXJ(YsE6toKRI1fV8&wE&J`FACU3z^38-{PADv@nR2gSA@ zmNAJ_%^i$9yRo{v+qLC~{I@2mg%vs%mzhz6dhtl@;cB|QY#OF&{<%y6?i>x+MlAdP z!SMKxVdz<^A}37CtcJ<7rLtm5aC`Q=mo}}{tLCH*Xp`pAT@$~J5N)ar{YBC}t_#wB zlImumyV?Xsb{vY|>W4+UU`1DHZWeWT;5Z>iR$1piKQ~KW_7y9eTQawn-6dbFZFl6l zbHiG->gi2dKiqcWY@V}|IitB|q=-+-49|NU`Le1kvnM&LFB^Ro01Z@q<;)xF%I7xO z-d5{+!?gc)RT8;d;?ZPO9xPvV>Q>6_qvS=+D?%1Jfq3HKVUJlZOf-#h-B8Oh@*)wf zp>D75YFjB-bJh_xG>!EE+aSp_bLCUYHr>IiqVf!TnJ5J;iECG?hY&ZGs*@ zMqi^@Gv{UkUbjpVm1gT^CmIz%)EFjBH@8MGdxDJTl@dp%im_D4Ld4O|(=V?dX1LXQ zabx&hE=(>-5wdPx9=)X5(pRBtl-4Ni5NH~T-D9L7$ejA?u6*K(CD=bDz|dU%gf`t3 zQO3ZuZYsH%Fu(%jvnLp<87GR3j?-7JXvC@GpFR5k?!}!!NfITQtWVex=oEq$Qbdv_)@$k~&IuRwktnFF{qbwn&9`6Nb>Uc41%a?M zgG${LZ>@pdbjP58^&MamShIiV3+(fVYy{dbgx)RP)TyehuE7}!6jVYZ%RegiAp?{fle zrZ~A&f3U?pW+7v@D4I(fNcW2BgHx@`=twsqOz=~`E=0rvH0O&X{@H$A%i7trVZ2A_ z0-AHLX$VU&kiqv@&@*~q_hy|-?`nyJ1?Y7xt?`{TNyhP**=B8&I%%g8dVJT|pQ!OT)J~x!odB)G@6&^!F&Xx#i;#~kuQXG?@y9`0` z8jmoU@C*%0W|Oo=J$eg_#%Ba)iUY57W}7z`OL!oVThJ2as~-$ZUM^d+rqr!I^IFjX zWBVC5Xt}pViP5L?6Ps)lU5J|-On4|x5|JRH{|v!INPmIG^6cHduk;ZDTpT-w*`2b=}lq&|5&VzP9gpLxa=Pdj-IB)8~jZ0xqAXJQ<(_Q1Ei` z&6%0u5p%gQxx6o&7S&E2IIwkfqP;HDzf-DTa)fHDUASDWrJ7-OUX|n{3@uxM!@ zW_&@H(PqGBU3px^=npz&)a3oneUBfD$JMVB=SHsCO|dRb7o{ys+C!t{MTlnUx~#vf zb?xF@Q79BkjoXBvQfjTMxl;QQ$B)tPFSYPn%>=h~4pdKK4y21jI}=0Lw_^g0MZ1>0 zMaEQ9al_sGXftG#+bw$q{AO5i7R1BwHm9v<4_%_U+g77UVKY3f)!YDfnbb-^Sf=9X zzUTJMO~iU+Qp!wX1*0>fkuR76^az-TxMX^$BA58{Kh%H&A7|P+L|>&H(ZW!uzBj$C z!e7~-%Tr?&eZCc;mcswvsPxK}{4kIt`JFHVrJ!^ByWpEmM2C~*PgS#&h!5i+1eBY&9lSe`3@5A=D2})4dQ=Lbi7ELpiQ@aGf`O>dG~-{rIee z9&s}0(W>Ca(zF2gRl|+DEbGjMZCmj6<=#PJ)7>Vh$6hE6ad&nj>*K!(9`EXsj{E;E(NN#n zqq}mP(>xZHN;%~eYdXK62QEvGuyRNb#S zGVo+VAqX@L`QWZD3X+OWkpnnSEM~p>rxKihGE`|+4RwpLb$8_IQ< zXVLJ&lFU1%8B25DCl6kvrxKufD}x$0RaH-&sQW^h_|UfME3G87B~QCKWo*@@Dv{b_ zK&puaMu`OVV>T3LX9e_4RexXEelcc*rgptnyEP4o5c4fo4V&CB9gi5nAQvfLMDcsQ z^VG9qF&i0{BT;b8BYvnDRc3XEhGa-0g&L$J zwlZr`49qW!tK8Hd13py~UzBx+xJKWsC_4{hGpMNf*5q8{KjbHZJNA z^jbTY%}}r_Ptz%g(^#edwhcZ=ca_8*&Y? zl{cCt)2II&xO<)-uML|M;dle8ZJ`~f2E8$F(2}$CX@l``6R_kU5=z#}+)tXXCsrYe znIg9musw++6$%Z}mo$XJ_)Al|E9#NL$|hRc+nIxrC#2?vrCE*+;Lu*%7Pkduz6Aoz z=6?VG_kH4)EQP{&Cn9sBZ{MzDvB&+fAEV#BeS0nl=WFQ5$W%&MJ7#9;mhXj**J`Ir zR+6|Jyh86Q(e`S^+yNbNO|Dl=uOgcpW%Vze*S5RgyIE$L{fzW@ccMx4@;YnlkxA?5 zaW003$Fc~VWK36SZSMTIvt1ql$(QxQ$NOCkX3yfdDS|@b>U(Um*1NaC9boQ^vC3-J zexu%o-s!J9#DP10tv9j7EqX!0@7UK^!6&TF4s>Fljo2K6S5MV0n9Cm|0Q3e&Q!rA= znpX9Z$)8+E81nn+%5I`6XaO5-DT|>j8V0%P3hEr&E5R&YWX(0Rh&Q}B338(XS`fzLR;O0^i zd>Hn<8c&)sFK*C4k~U4@vH;Ce=+&!2e5nwaToqMrp`;65!)&i}-NFU5JrG-atd}08 zK?AM@KeF)*dP-jqQZ@nvt^QL%gXO>D3BQc`kD#^uZ_*#iOk;S?;n2L=z$7UxKT4FBS~l*jqV5r3fL zc?yV&`?|@ewX^2-Wh-^gXstuOJjO5YEOQBWd8of5@oLxDN$2purs%J=pL_ArjuQT~ z`pGQWzw#ySrGw631ydqhJG9;XUw&X4AwKL~`rM8aD$d$;T{udabsN{W56yK?!3~Mk z4%MMZK8T74XzxsGaW`k;61Y+_7WOR4s*$=FT3yC`ppYc2Lt3S*wviCb!H35qsum>>o?g+x^38-2Cux#N_m_E3sN z0tqF7xNdRLU5MqF$v(gd`g-)XXqjy=ke8ct%L6}x@&+Ke05ej2PWVuP&-WV7*Xz-^YdpaeNVp4 zS347URKFp(y4dzcf?Euw`K@p14Q!Q&zAE|}u&1=ZO9lazgiD9wRd%-AyvB^#t4>)o zn zTIh5Ujl*cs#>u;pQp2VJM{vf&6*oV2Nj_6aiBDkj?Gq;%?$-RYrP1murR10)yKlB$jpRoq* zU7O+1_k{A7X`)3)%S6uynj4a-7SL)p zY{A_GL;yC~rxz{!hK~Zb)WIvKeOgsCpI)x#cu%$6yq%wB#r)V&9!U5b6c7uI!s=B! zB1wDqDUsYUg#?XSz_9olF7?xcD{h2wDDc&ny!|Y+GD2sBK(aaW{CO3T&3Tvuj8CNjN6N2 zc^<8pBeum+YM(Y_a(^QMr^u1Bg5DHL?aMT55*qSP76$I$#wd9XhZgTn_04@GZH^3E znglJ&eDjmkh${UN9h6h?id^^6oQ?kIhlxNE{|n1N3fR(~3Up*`2 zijvce&z>hx^xV344M)^U?$&HBi@N=CsB!yR$aWt@D4j$@85l>8CgVft*s;SQ5ux&v zuRW5-qk1%jf{J!1qa-^6yn6Hp>aAVR%!xZca8VP7<010#C z&pr(kf!0j6UhAS}@7lX}z714Y-k-Mr2U6J$%r9TLNgk@iro>GrLVqrvwAd_Anl0%1 zNXlv{{r)9TfBC(>^h9tn+sIz+UU!XPOV+D_OXveoVLr~j@2jP1&!}hW_$mEMQ~cA} zyb|tYM@Csk%p{W)s+AS^SYU_@HzktNfMc>tk=jufPq`bxkAWgW)u9_gl_#s{wq6h} z>tG`AhC9kff1(D{|A5GBWz>?bPhM<^gF2Z}8KFMxG&N-#7Wf)HTQ?+ny{83(w0{iY zX}{%0@LVcF^bQm!$DPJOmJ9`JZ{7m9kmpTCW4yrK5Wa+krveuUd*Pv0edJrHe_c_J+3K;Y0fGo2K7-^3KpC?_WFK2zB=YrOQX#|1ZRY}N$ zsjg3wbQaq1zOBrX2Esqh)oYCB=NAGx(#X}&Tlw5RR8wig^q~--1elwg97Q}g_Zmel z?@kHWkas)hZA1u-uXWbPdM8_271IRIjYHLUr-uPBp=?(Ras7yfm^#HYOSK& z`wvMb^~2LMmRw~tZiUa+5rruoQg&l_>o4?H(nG{Q-Ana{or#-gdml%+`dImrvbG{( z7p&tb<2KF1iyEl$<3+|T(cr$3H{GD2`gSx^hn7h3?N z-7f#2g>parXHTO6Xp+A#C2Zuc{Zdc36GglYx@H|9PCaBM{&in*V!%HPSi-P^+!JO5 zI@rugFRTlbeLpC5i#EQCqt8&7BKWgRe%EPME#GG`?dVxT9A|p(!G9fnHgQW#ss8N_Q1c&3xd57=V@14Ul( z;Oq|aNiyHKuw+(mm2ptbABVYXT46HV*GPgdjvGBFxMN#vS0!oI8@L~%w_{iUf@6pe z!J}wU#&NgP={AWH8DsoS@;|-{eIIF4Xopg5(CA$r`Op>xj-ym(=xp)QE=7Xv{$V{4qbf+kT65`SQT( z!ZyvE*xJEVow#eKj@8VD4<6E)84uEj`&>;30OfqZbRZDZHBUS=J|IdC=Y78387%)% z9dc1B&9C;GL0lCl^(lD;dekR|9TQ7r*scadjrLb$X}myZdUYo;Torx0UU9+a&q+K6 zK4o6kXer21DjvD?6l{8}e?ow4KMQBv`LY4j_lk?k1Ir+oK{PaH?B{SH*qzj};=~S$xWpk*YrTFKJ~fRkm`kA6J*@ z(N}Xe3Y2Hsg` zd_4%nK)XGK!B0X5uzJQ&ykzsh$u(ATY$O1^q0w5^ggB79gS0qa&ySdKa40%KHcB;6 zSuzO;!>CpsnY9ilN0f=q%y4Dq;hn8qwyJ1qlNKKx4x-X>n%%9B&MK?4XR z6VrUXNWt|*BRA29)zaX!+%fR}Xm1 zh)0bC`jGnm?+!;tk`SQRu6~VKx=N|OR5wj=Uc%_QBZ4r2r{vhfwQ+~O1RC?#%j#l_ zFq%tNZ*=in4T>4nmTeIZUgv8d7i+Y-Eo94Z+TEXj|F2#QO7z`i_A{c#-IYcf6OTsE zROZjR+n1d=Z%+j1JTn zd+6vm8?`#Qp7VM|4Fn(8W8II^OkLUcMnV0%8i zr-c?L`(fwaopm_}=js0UIS}xkC!hfcsZ1Uc`D4(y%EXaKXp!_}&7Sgy>)}~Pk7k*v z0R*+iSy#a$v~R zeX^24%(kxlnZBzNfrHfi>tqOoyp%v43|w(75S}?G)apg?N;OE`O0+b$p?Yc&Fa4;>M((f(+qN5a0fa6{?2lCvuLHUtJ~ zs?$>|(7(8KG&DIi>SSt=D-4F6OKZ8(PI2i%r5OSRluhu66AmjYKYItpG80XMn@&o9 zR`GQZ{5deuBqL;2oG;ZZDUr_&L2EFS#)4iOjE8~wMjVvio6QBl+}v)l0*m+ix|BR6 zq7j@*t-zf3jCOGVB%GV-9-qnRuVe{8>Sv@<-AIjL3V*mP=gMK7dWVl_LqBz>zeAM?E0)b*m z(-tW@b|C-yqZl(%hEkVNw2uUR%ev%$PwfoW32O$$RZzsii+!`7Q&yF){S3^1cz<&M zQOa^}ud$yq9;5$y=a4dqMi8Wo()uUXucO%AZcab&9@l#!UG*^*LMtD{)wQJ!^~{{|qje>0#VA_7t-GV0Vt=7IO_^w2S|1KGCn=&7 zIiMqlKFliD13Y7lJK7x7ntg0O;-~v1`zg0pU=VC&Sr_guH7d{#*$<^ee(Eg@iS`F% zHA>;eTJ<4O1GTx+rl($J0Z@RWFJ@}K3xQP1SdkK<1Xw00W+4cO!<}9e@|b5YYCH+E zFWSfJrGrx^O4gG#;Z|M={+0UQpTC}7#2Ib8d!Ua7GQO-kqNNQmX*UEU0pJe@7AE4U zwf@t!j*X40k61-dQ|KSSc*Zpj9>=l0*@|=`jumLC5r}r@uU|vj7K7zem7BeOK_t37 zhCmC^0leiNW{O-pQ_NwEDVnA>L($P+o!;NhiVSBkC^Ts;Yr+#e1qvfIbcC$AnegCRn?NkwemQ9q{hZ80)DRKKV55>n@+ zrF_6xec$!x3-5M?t7hpcw?AKqOMFRL_1?t$qmqSty(Mj6DiAf?M7yNXV2p=OfuA`f zBa>sjholVH6rcqddf`ip%Fh>sbg|fg9}8rHx@*{h-8b_G>|28~r~`VU8QhR8o~FUQ zVm$X6d{aD^e%QJ#Rz-f)Y+bL?@#<8df815HKiz1(<-p~CrfcD+F|np^Vcxs=+ty|2{Ww#AoH6&% zo#cyzwgikJ)APFGIg@CG*hvi-ht@)l>k0=EIZLZ=Unl@u0cII6x44LJA^Z!4lKC?+ z9iBtCzQH?K4wgx1B&ErK=cc(pgvCHGS8NR*-4R`eCMk0^@ZhL4ck!fIkTYX0{Nqgm zXA54u6v#2s$LYCGvvG4HO>^;rGg?keO=~o~A8voFukYHJ1yE)-pw)>!Y}+;oIY8agmiMNa9*?C0;5E;h zHZt=0bU-%>p5aW6&N2xd_SY96bo}-0C)BUNVo1v5@6@~jh<6gp=2vF&@wdr}H$BYT z{4PCWcnu{5WIqkMf5GmJVYAB1Ad)%YW&d!Hr;EKvkJ70OOUUK-T=0;^+mHL5gr0C3 zEfR5KgQKbmo0CAPN#e)o^I~h<*%Y~*smuj4Wl)?JMmXI8iCS${OeonAC~;6QHNP2d z87I7@!9)1R!d8j3ifO>Ls+-yplcA1kmC*3XzXVu6ap`AXI@6oLTU$`DRye7g8L|tZ zpEjfb+C53hi6{uQV+PGfmYNmYK&cfMz2Hn@A#As71>D9s->gk`+WGpOc2;8bao>Iw z+|m*+q}t6T$4O})h=stm(t^*S)}vJOojv*?LbHPePzF;5I;L%%b*y%a&;$ig1fR%r z&(EdrJEy-Frq5agd~+-oM}-f|I^f1|NcM`aXW8ji6?K547g`8XK4#|3K%L?MWfbCz zu0Te^JT~LavfwTq1(Ui=feqFWFM%nOSdLj|`ofd%rjvvjgu(Vy^JZUHZQ6_h6WNlg9F`pn0bGzs>?3HLw0ZOK&|M5DU zPKimPl{Zeo*d(cX7TUPF^a~>+90YH4G8YBWFps2b{&?jK$gEYWx3(D1 z!<21adU``7ytCf#r&HikiojIc~8C+D%CNYW3!UMh+0Xdsi zJa%p$1_QS`eLF%c*M|;d-cycTNT3ng2n@+=H5Bb2YKy3*W@TT9jMnMqPRxN}#5li# ze0*p1fWUan)K^A~Y4FG;5kt>L0VD19O>3u&F_-A{u@MHIcSe0TnJmI^0V)0=rO?PJ0vAVOUPhak5s4~M34*5kF z25O02RuL8fQ>{_BoGq=8f#?NIsMkGNodk7Ylh7DoD8 zzPfI@YFNx}*sLL!U@enFT-YvoYpfdnBm?&Bf@OHevw%+U zNRBWjHA7s0U^svMzgEe2yb+DSJl{eE#<^>v`hffK8eg-Ib!p$35ZH= z5}7G;Zk%*q^70w$Uk`XiORbbdlm;NByg~_?BxhNeLBCc$A7><$B}~vTOe5~&dmARs zotTzJbPr_fT)?GJloLIi(i>qk;>rz=9}hSpoIKo}ii>mnOkQ42-`w&=W1Po!xvcF- zEnhzAm-46a){EHM_yRk8D~DsL$RUfV1i!Yw-s%fDz8_C7(k|$ygu(YpZpJvgCa5gz z5rLK^>vQvTkX<$?3u_0KNH*~diAHfFDBFo!mU)+qkEVP3!7wP3Uf{|L*1y4G*7)n! zqpZcO4g-UdfaDhx0NmOOot^!(ktSw_&U!;}Nr}%A5Eb1#&YUEYt0*XFT+&5E=|j=< z9|0W|t=$~l^XX$>=y>)o!GlGDE;{5K{rqWO_{J-W&Yzw!e;C)M$@9{JN@+AeU~GqY z5Kiw*B<7HqHp9|Xm#W1QE}fP?(CUxm4>Si|42@W%F=%{!XE;1D$fP_A?m$ZdjhZhO z$MvEw3*)8HHSKT#$bZ+I%5UrFk#v%-aEB0KAZqEQbl_q|krJE>MX7oAwZ0-PRqgo|BCn>&`IF=Y?=7?)5<=Q#D7yDqGNhr5l|ces8J$>Q}~C`goaq;?B(t0HPdZ@otlM-AqfX#@VUglq#y zWsHU;X<;Tgvt)_3&m3ev^ZX7iX$`k*O%m?D+_2dep;STdlq9yCR!B#D=dR@7LJ z85N`5m3X>xbXYH-LD6v6GPDl}URyDKQhVzb^W8M3^|hoU-b4nq-D5+^lon2;PL zp(ocvSOQQmHb;Zou95p}Tj@NO8%~3BV^2n9QToa)l4ofo^B7W2=o7O2Zy7hzS9+Qa zUv#>;B0uVSJW_+F zhC<5xXSd1N+X}5uO%?u&Sz?xr+3NE3!%pTXIOg(K;@F{1e<)9X;eFV@x8p{La*u76dWsCAC0 z;3<~x07XE$zic`7(5?15A?1C^k-R-y@)9btnLDSgvH^s3d$6>z1M4mtq?T|Iz2YM3 zA?o4=EdIQF9Ci+?4{lBwn@bE6?KU%Y0AxOc_BM={1iR09FGv=mecTfslJU`zg93YT zOo1Jo@g$P+4GQO+;4Q?&^kJcoTaNzub94*cZc~hIGLFQb;6R~&lI|MOw~CDqzYY(N zjCe>+aKWO9$K$o$5FXMp@zCQ4CIsQ>3o`==r}2dIkaDmk(QT?&E&SMTv9|S&6XJknCMcy%W2@rdP%wEgdul!cz zeevkyGTT7sO3FwDl~dss9`+PIA%681n@s6mWE&6(nC5c8(lsyV9gs(PP7hc92rczs z1*EYX;^fJiOiBZui#@5-C{m?XGQ-G^>`gnqI*TpO>_G@HJQ>KO2~5KWF-$y0DAG#q zt@IR34uMfZFui753z0sPh|B0G^vM_P~}qobEq zrQ0l5Oo}5#*R0Y-wylJR92l8TH7-l~!I80%rumsuY;$h{jKzA1WRep%|$Mtgz z>Xr+=pZTauYs&7%qXV9JSn}5Q%GN$Inb@Zcg!Jn~;z5y>%z8 z^3vmGU7;TFwL<%I6im0bLCFC%Q-^5POQUw?oOW(4%3o!?IS^&_RtF+&ldlJfLJ~Uf zM+45QzIfJS^;%d8uD;1{8XM`_dH&`30P?~}5KCuNoE&~*P6xuc7wzHzhfi8dI^1I1 zK?i^(IYS9uox^YP70QEYqMHOIy;UmhPlW)g916w1eH_QvJjhlsxs zzRRIMb@u&1a;aLGnikCh(OuI)>sTNZU)6T+O%J?}F;*Owza|+_T<_`~#Wq-@lQQe; zoozSdrLkLV(vK&*9zm(eQ8rS$3sVd2QGM&{l&w>T>}7wI?C(l~^;=Qa)VPBkGn3IpP+HR#54sm{HY` z+mRkD9%1=qq|fB0SeqliDuv(YXIAV~ZgKgK%|}d^D44=pDbsI+P4mHNj^!aETG1E; z%18w+gU}@LiOGOh`t`J+uUxQjskjx;D#*6=jSCkq50sTIXTH*TAUTuoOfr{&8gQp5 z(IZ+dDQS+uxbwB$YU{MpYSgV6Js%ppFk+MQ@*7}oqcGrMU7Tw&lSwJMSnWmIIA)e^ zM6u4dyCpc1LsKr^Z`u`$#G4rQPG{dIe`MWotu39|N|QZdx{AG7JZ#+T$Dj;p*7UX{56pUxSdX5*+lmX{xiD172Y)8r^qOtsfs`JakDoOQx94|Zfum+8Ls zezZtV@&Kz_v2H}f%*thGFWQJGGO015Xk}l@lu>S0J&{A?_VALZ`AGj98-GQO?`Ion zey1g>LZ#y|HU7rnV|vAv3w8~GK4I%wfbk`UB}`S4+3I45lSh*7q z+hO`l8Q2kJcgc&M^(|;weL5bf!FXvPPq_skm5O+LD_)Dkv9d#P0VRZg1LnA0ds|x@ z9@udrnhD%^KuibLb#T>`9o55XyXu1r3*6Q%0o~}MTRq8ti@^1h*ru{v4Dn@&i)wLO z{w41mvtC!Fhm;x_C*nwI(|N*U>hvW_IEolaZFrT!HA2U&7A(LOnqvi2eC;=E(YKM^1`El#k zQ}QEbC`U9$-j_)}w5QbIh2(D4+Jr@t1`hn$ssHzl@?M0Sl7Qxy%a@DVJVYcuZt+M* zTgMhni6_ZJ)FzV0xF>J;a#d{z1%Moi#u59?PRq~TzJGU00Y8ZnP-B1t17 zR+L{Za&t*>4R9ORsqnewx*$Ff1j%AY>`r=>#l14Jah6z<{Y3dmuGV3S_LkZwNdFL4 zgH)oe?3}!rpC6S)$#jo=`r1deGnOa~Z%=e`N^B385_1APJ3fuNIMJ8rg!Roe5xQJDC_U?_s{tY_J-Nuwi)+f zWY`BH3AvFA+bwfZXCvY)F-@=*oP4jXFR69SX!cT+vC}QbE^8!5_)9F^g)w0jJz=Z- zj9E~}LB=d`lqDe%*8d7mP6ZWuc1||eUZutZKJf0wtU>8^+)9T=@YB7`DX_^3FP)i+ z-l}ZOlBq&7M@<==uP0j=kQyv*To%6Pj9eXS-qE8CZ7~IF59R2j!o&fVtm}T)n)zyOF+NOMiR^UwBUR5fNa=fSkCVa9152N(|@>YDi4> zO%JI&l0c6qkRajwR%$ zO>Wq5=AjE(0Ms-6Kt3n-O}y}A4gOiWEJ6fSvzK+T!b$J6YU+fqO93Djd_VvMQB)SN#!#r_D+d_kI&~iIvSZzS(4M_ivYX2bq40%5HH_M* z$^tksg4Srrsj8}+r(w65Ms@aBOk-Q2Zcf*zcyvzRM4MRH#VQd_I0ORy@W$NX!*e$t z0v3rCeE9YlhRre!e~<-Idp>cWJ{Hro9peUl!p4jv$vgDAsPKfCX;7=1yl zVD}F<8`K3jl<0sMOc_Wlt(rF{w;X`k) zw9awDr~6u`W$5Pfn!R+azh&bYS84v0w}D z2dB>*Lf_-4s)9MGaRN8iK=~Q5i-NDXC$tjK?G_&6p5gi(t6M!~9vq3pNGo2^m%7E? z>R~VSM}-qMjC$2P@HQ!V(6)!=L`dX!M$6Ch;}dq}`uZ|%M!hK|!({mL?*qB+E}bdi z2o%QKl~6Wb!?$t?jpGD+s%ZDfJc>-pKeI__E~mGcjsvS!7Y zusJ3)F4{W)=5srbLX5AK{q_nHnrrs;8QkXe^_70lKB#Ib&#-wSRLkR?ylTBoRU3f< z>157=O}yQ)t+ZSJghcUYG!J_kE8*RpAE}H2p%*%;JcBuLsRFkF{z1=w6aoc*p%r%r z2~2&v#X&v7qc#&8uiKzycKF>vbrF;+Rr+85ANEn+GiKgDpXB0|8&bDimk2NgQpNxn ze+{HkULf-<_n7Ne(RYR1SE3so6@q`V?lR(FK?xt_cBx0HJUI&wlgc!1SUaIVy9165W~)bEVdWK?t&E>anro9=REA^l2S{WD}o3I-yMc) zHONyJ~x~)-!6B6-+T3?r`y=Z8V zO!akq*TxVy`3(ue*5q20roz;H@kvO+I>w7{OMSbH3d~_IE!AtI^LSQqFvJ4Fa>~ws zOhb@g;DiViL=ZM;Cg{79Q>AfzaNnr%J(?J}els|}5TWs2c#c!wp<}+N)i_mc5wZ7W zemAhVwjT7ER#jTZI`nqNuM6Z`ZRtLRzY~Bz(+$xG;BXs#^j`+y`4DGI214ERq58vL z3MK1bq-Q<%Noag7-KE5Z^8Qv1UNPj8x-bbMdy|$ohJ$T}bI>`+59*tyv-HtI;PvcI zo|H+!6L5#jX?qG?N~|F25cWDvxT>YndE_OD#dU_~)dm2+`bXvj&Hq-`fuRDm3+B=R zYXWOLZz&qidpsRa@kdJ6rJ;C3PHHnP%c>iy@9_{QpEUqGU2?+IsT<#j` zWPWZHu#qxyaxzb1yEcMbmQ;b((h5=-535UK%USd1ii`NKG-F+nKC~31jRuTxdElq! zfocYDIvNB=U9Vcu=-9|45-b$pGVH3D>%Bu-UOz|o_*Q1(?DprNv9bjF7brsO;7Mik{3{fR zIjt7%It@V#4hzHeobL+%ymqLi)X+54QbM;#AlG{5(X)B%eE)bGzOJ0squW0&_+)V&)k&ZlVcwHls)yDF-7GhRwz{SlA71SeGBHRa#K0Baw`(tc>suBaw4;>+a^8 zyE`uH>D?LzyZSD4ir1++>Pr?$R3{gKHkcZf%5688(jxLY?;7mlzHc#ftUNg=wW9_cFMZljE zbDsz__PRp@cT8%1DH*Z(;yfsZo>_26cjDdiSBqYf{YXrVEem$b+i-;W#F0P&cizO% zpK!&@xt&$|OSqT7p*}I|w}A1)Ov}EhX5s`eaEZ{)j+Yxf)L-k2@t+|J2|508##_3& z!N#qw`E-OWV_Xf@2|(3x@m;c#;6p)5w6Ac@P+@O;9(k#3PTuN~dk;p2^C~m5M$q`n zcuap(cA~Vz<#{E6V7!wZG^fW|(pzO%7JafdOZ-X&%c+Es63hSqUL!oo zoyiE#N#9>D?yfR3EkLnsvow~=`(VoKP~trS=1V3$E-C5F)tp#%Osa^*X0dPC3!RHX zM_t~ojTX`?0`iOI*n&`bxX?+CZmCva=4&l}Q;fxA(Craq{Q}ryRkxQe+Goa>C*2@1 zPKy2YtuRm_^Z*E<&aZ-pNR{oVT}WoI5}prRv|7S=%N^py1zaw|Ad%pJy(^+zUlueI zVwk2+cCQ-$f{KzOyRP=Jh{bjxf^5tLEYx^B>>5N9cu7tIEk+Z9>}4!3iCk@h-qU2X zP+3&RXfPER%PaAAh7A(j2^#CyZFwKZ=7^+l2SZ#n&oRS1XbWI3xcA+g0SYCJwuqw z0lq`Ao}SV699L>VoU*kH+D~c2?VpULl4)!(2N*|mV?75{qY12aHJv=!gz<&?Cryez zBL$AD4emjwM2Hrm!{oMw5TYsQZG$4moADV~ArKBN>X*)(VZKrxm8ycdnP08+k$ovU z%{w*|#qZFcvM7#@Z#veL{Bc8G{rSh0?Wy~%+qLPfK|PLo`5I5}2V%+zg=B<&_{zoG z+xxbS*Y0R~mu@dgewfFq#iV*u=qyTtrb;6+#jV5h5NQkH|5|=uqI+Yzj2>NY2bN+| zI`nor>!afKKV?4&bXr~3xZl;F-)GgTO=}M778E9qdU~I6vmfOp!&O69Tv^`QyJd6r zwuU!pcB145xvW~3WbX(X6cL|PsTNk|tWnHEjvORy1jLMMz-bKKceKX81rj6k=C3;s z&G^iV$q6NS%SRurI6yTzd2uPUsH}YAjI2)G=RN(j#_Yx2Le_!BUR?gEQ~5Yu2LkK$ zs$H5td%U1>SNXN_(p!Hm?71sf4;Z9z*(qK!)%f52$1TXr8%s-|6fkEriA>VG?j}$9 zvQtpJWbNProyDFlZL$@B1;;-3xZU%Bhi>e68_H36S>?2j0Ak@B;)!{tLlRM%2%FBw z`auBC8Ivgpn2$os>qKBYV3LUJnZef>v$3-91?j*3H=fA{k-H^kBBfc07Lyf?`#!dk z+0dv*UEEZC>R@OSr8JmDa98lcwx9A-gh3Sj zPVeG{tq5mo-YMS6?BXV>ie#Ap47xQ7xHPSQA2fbzEiy~0qEPxGWkKaZ_zYE#=I?FR%$ z`X}qka2xh9=8he`O2Zg!>S6}k_RZB{TkkUOvE@H&OK|}lr?Mf8h(Ik~SvfcNDxH>Z zFz|tqX~j*_Y~(%l-@5#^wC$?DrIPl(DCsw6sl2~mtKY|&#{^g9*rTM=E-w3x3XBeL z&D$R6Yov?=pRNn;BM+?e`1rwNT?Rnl`2+5kl8tc#i*K597G11%OOC*4UDHDqD;=6k zHr5L*?Jp-&qRZ%eR;uAfBX9-Argcvy;pJx@^m>V@b@JeJlB#%ROq4E)sCM3S+)ZZh z(Vsvs(E-}a6UbJ? zi)t=*-PZ9{NTKsE!OCsNmDboQGZLu0htOgNbTfdX+Q}&4&m=}8vBXe=XnIucAv-Yc~5wEt#<(A_qRo#V9!r3PQ(T_+p zvDb$fg~Kxb)%*&vb!|;U&7}tCp>S;~S<9`fi_$p`0m5Iqo$}%pN)cPc^YgkcIkeX% z^WiLVfJnG$--9^Gg`n?Y!p+vm-x-%%zfK;QZnOS8jze;IOttTF`ARb4c4HV6{^UM* z%?bRR?$#0HN*;nEb>pN5w>oZFlNOzreHv`^dcxDLwCP@1JD#@Wv3j)Xvlr8etTDh~ zH+qA1FPfNN=bV$U$_{&w&l^1_REHp7O4+=1b4=r+>{F zJz}v137f{^?qY}leL_mwIf;h)#KP2$@ky@pJwsMfjkzVxOw~oop1wSB86Z#E4XT z@RsOP5gsq4QI%Q#rAz&e71cMl|C^R(y%bQy;I z=SraX>8v=nGuK(Qwce=wMqWCe%!=cD?vBcuIAC&p;8EwnXh!KY)$5|VY9g~bYoanc zYopFCEbk`%)_U7iNk+F+dH6k@OPRtu!fW|{B~$mW6rG`^P9mMg|(`OwEA(}UJ(8eEa{%8cMe z%`O7PK5(|??Uy0VT|B4)+wy5mxdFml#Mz~8&TD!I`8A0Vy9 z_LYqv+(tyYkaA?dME-0IVQF zq6on(SOc)SW|R7tuYcQIk^a?H%$GdpFj7aqHr3b^DfUK#a1 z1%xQI+DKBV)IxZTwM^89h-xhu@a^wm+Hf4=b(#WY-J3M zntBML_NYog>eV&+tKxaMLl*~)Q9x2sae`0zr?5OP9ponQ9Z5$f0xfVrUsEr;ZEmLZ zzu3Y9W2TT=H9Pe@c?1a<8hSkmdIs)AmE+0`hl$i@S+5i(+8GNE>~;xS&2k6 z&H+5_A3=)xrPCLtkWR;}m6~bAM3wdqP9%TAHz4izE`}h|E6c!V97&vKp~gD3BR}D| zq)>H7mlts>H9RPj8PD3TEl9gcM4ub4xZqVWCTHxs&b}jAxdIp?eZ+&1i3cr|bE6eJ zNt(*JjbP4uHo}2$*i)qYnsq_zoNa9ui${ZSJP_@f-1>9)PibQ?0?M|6b-x(+1)Y?f zW*)*dZzB(^lAMws+SM-aZ(W6Kt~@AzN$b^?E6^ZY6htkSvC|S{q45O2aUJTNyWuGr z%RE(3ad~f1UNkvN9Gem&2`a(A@g-jV=Jt;wRv&hR94als=IV3Vc`+hRq#?sJ#t86S zRV2}$%8OgA%)m{3f!~o&zJGE8J(=}OEs+NbiN829N#(8n-Yby^$|$iNS!8W!ucpP2 zh@1sXVW7MuRhd+mt_t>)L-!~K4+Os2<%%7S9VZ}2CqF1Ij&~sytX# zm#$Hiq{;({!UaqYDMn3;hhD2bhQhpsaK+vjh3_!~%tE-2YOpH34hR`f@__ApPq7XR z6fA=70*d{S?l8&Uu&>Iw0?@tlh%6j+?umfI=!E>h!V0uVbN&)Fz23yK*~(I-)#@mv zhx7G~E2PjyyG+L)KSpRHeo7bg^1U$+^^}&D0vrpJw4o4iDNiEJElS7|{c#Wtn*zy$ zH^+50mDecSgrdLqtL*>omLX6;f$9i88pDAxlnMZ(CKMSbj&n1u*@uQ$EbBR0gBN_i za~iADLC8Zzc5udg%(^8Mn6m^kxHlhvlwT@%L+j=^&k8)FB8(p!Cn86|wejcDAqU;U zqr?!T=T`OWv#H>7z$QF4L@jNekHMRviw=Qwu5_My=y5gvw<2x#jIX>(>)h;pU;HRu z4!v#dCsv@do11eI-U8dSM)y7v4}B_g)>g?C(}x2VBCw{Q%=c~lx3{eZ@BI9z)fV)r zId5^Oxu?3(`Fp{XZ>*3Z3_K2^e_eM6zd&IQ@FQW2#Ob+N*I9jO!J?GJd?V6w@6ufM z2J(rQNelv%U*DODS1a4gBJGim|J+X8o`Nu!e3$2^Ij1=2*1ZZY#d&6sq__z0ZtVVZ z%b@`1Vwk_qejRWsHAN!<@&$7W%XUuQIX=*1$>iv>QAgDw>wv?W#}9!x{`}C2k$JN= zCaTH|y)81ceo_0D%K(8}^kLz-mYD0%z9}`;ALHZM>0euyk$Uf6X&&!%s^#-yDBrCf z8c(E+J?KL(`pMv&4DAlE8BjDo3=cWxRLd*^?lAzOuhp#56oxs`%_8+?z2M1E?yRO= zQ@i!sAJm+GC?7C(H2ZVUN(XadwV7^Fw|nXA{04o^3?sonr2X>u?#Yj!@t+x(RoTJ& z6TPNhzMN7k7=bS~_a_Pxq?eExi;EG+OK7L}E$!b%_;Z0ZlUV+=-j-PWd00{RGlh;?}k=%CeTjT3gH8S}klO z-cE{TlvhYs2G32%Ul`E}R@0~Cc;<7H^_E#ihG;W_N+Zn02X1Gb;|^{|d`gISN$vPb6iA3F7=ul4nrMeB6Y z*XQm7VkWpe4VXpfU+eMFaM3VIbb24aSPZAFLbS5=tS(aa?fUf!E=9uP#EzhpbuBPY zQ$oYO7;OpS+ttUSoS^aIlk6G?U3Qcf-(;O&w|~pSomd(FQ2*eZ;`*Cg4Ht~+R_;U7 zG*1wbjFGjFzxOaEddCv@3C?)J?>!L=pYD~CkOjz=7SenIVc z)*kS@Lr_avssNX67ObD=zEWqrym-PZ&h#5;d>goL@yeXy@sc>Kw{M&maZ0mb1Dq7= z{6`er;eHH;iOH33AW#bDI1sRT4|Q>Z>!P*U!U)Xz*6@&^wfdQ-jg6m~)r>vHwx1K5 zRNTV1ZZdGK61l%&K^-sQMq3SCD{x-6wMMlUo5U!}^Zmj<$*ePHX94rG_1O*t>`^JS z0mH<^inR_zOl>sxm`6LmKR7YhThXi3RMB&PllwK#Z)ue{h&rb({Q!uxKDj+GFHFA&Z ze4l{Gq>7VX%s=>geYaciqQHSuR|i%1y&m=(u>|Z?eHwv{KTOxa_W2G~&0f2}jLm%* zObOC9Xt+4r4eny%jmM5f+OPs{yf1`J0nyn(g$@MlHp=4b`?ixdO=}c9>CAOGjc+w6 zKXIuEBgQZ>Id!8!F3N3K0v4%h$g1*YXU0)~8k4uWS8wtDXRScS>lk&cJHrXdZxaa*E0_iv+lS{OF)}dP)V5I@OJP>2nDX zo-+~l_juI0*DOc3Ae~K1WW1WNb{8dL?XhpZgMSCsd;;M7t=eohrFscoVM9kddRA<> z4j_DA^}`RQ{cYf{w?(O1QEZ&*yN*Z1H?2wk-`wgXYdgN!d(4dHe{W=Gps5=uM& zs6F0!cNRdrQoq~f{&Bh)TmuqoOE7yfbaw4920bEo4KRPiPTm)k1NFRe4X;G*ZrTQe zN?$c1TWqgUorX6^!WMtQ*YhxV8~87K$A$rMu#mwxJ~l?O zz78iaDhNkh@=@Di*Caawo@j|?6aYm+*ZilMLlU}{gtskV88Cs}0V(j0gL#x&Xv&e1 z_7lIvR_c`sNHU&qLy8%+cu}=b!lm%&IhqnaCVFS#fUS=zl`Ct>yo4vk6u-(>U!;CX z`L&M0P-kEF5JOLUV)5e6%$A9xs$tc)^R`aO$RP00^a`i@enBS=l`jHG+2!qwpKr36 z_39rYrwrQMtQsmXcLJxux%04r>yAqrqfbnDi~EUbF~ChKf6IV++?TO?nIM~O&1Fiu zAuLZP_NZDiPKs>~!Vd=GI;gac+@dN+$6(;}cwKYSwj*XlT$m930rI*Pqr^r@f}Kcr z^X**{tEvE!Nela;kw3UMBNfPkRf#U~HFq`1uFg_FH~ZEXkPoipFdUIOy)&u5ZW94; zCOIbOR&{W&9kirDMstu9n~WP(V>?NGyCGbU7_L=z!W*>ZeW-*1VuHU9nR+_S&CWS_ z9^4@yQrXnl*Ur9^?vvj9smcmYKq-kZ-jI@VOCAy`-Pzor;FIKC~AnIxkg#JEFRE_du zH#B0&q+aZPUhF6-dB+q%QNXQ_XSDMmyplN_Y;5q}yR-|V~XBWrhISFaFAU8k6$!ku*yc^EJSGK*T z=KmJrv-}|W)j{&|Q29k__J?rgrdiT*(u&d(@*R>&7U2?b7&pUyR-wDvz_&Qyw99Xw zKbNE0@4L&_{_7xztJ>$S{4*m;MhQDpY&H;4L4auz-G8eDr11qq-w*6&e^fA8@^>Br z!b$u0v@3qp9<*DRuxmmcu?6CjG|@3k`KVi=D)YuWFKW~JOaVbnFj(b%KK&4}xuml7 zF64CBx^)%E!*m~Njk3gPT8+5sHpJ|qDdP~aq;(PO9%T5M_-^B_`~<+cm8-v=e?OG8 z*~-cl?h1o^ZZvONyYo0m+b^TgXw@OB-2?`GgGoNA*A^e%{NH5$Z)T`L)kW06IxI=<98b%6lU} zd;iB+CHAF5u!l=cJK>D$!T?2$D0_BP5;hA=VVhZf#%kkFlZ?@=RQAxazhDq`AhEds zgq7{P%O6U_+S`NmGG>G^_TNOB>Eo_1pG_M4=u(X_vqNHs79c<)55!(1c}OC*V*}wO z8{dE%PE)z|3zSu&W$!s?u>Xg-9gr~?|U0uB@mjb^C5Ev3=!e?GFI*zjmb|Q4D zyu~u@3=`&LVB1jIu!OhXiT)16P)2N6vDfmM}z$}e0Zi01L{OR))P zfu4}63BO`^8d`|I>r7G-zM8sey-&v|J?^%A((R=D$5wrax+(Cr*S?+LTU!C?AKFm% zThH_E@opW=^W-w@Hdz;)ORAL#zf~Aa6PkSkl2;ipB!Ak2QaYfg45d#1{WD2wx+u<) zA5zwZN{xUE@R2E}ozxcj?YE|}u?71ENSjIfgV}DJQ@1F~XP8Usa0{iV?=qWQpO2;v zZ%*CsfgO2a=)0Qsufd);lqckn+HkfGu_YUS*8xkbMMbG+PZ-5pIx5W9xDWu(4{*Ae z;MPsxlNSsOfn>me1GePI-i?ZjASVHTm#mzJl7?24ui?0DtQoTo zs!1+h#mj{W!Mq+g-|#}8Zy>e5meHZgrj4= z8?!cubAI>-pzZ=nX>G6<7U{7Tqq%Fdj{ zJ6-jjMV`da96|v>(2xaDnTc#7lvUN*e}?e2EZ#%xDgF@TCuW;Nd)!MzhF#ilBPbjN zUh&S~9u>OfdG`);J-nG1Jyp5fYHt>9{t)nNR%I0Sb;+PHh2|qcnGMo#QJl8w2aXxPeRIhTR9(X3!3R|_iCoR%=rf{e*YNuQ9J2MWPNq6ar z4!pI1Hcme~o3T7?Cn}71MA!X4BthWHg7F$S4~b?XA~449yUJQg`8$lGAYb32RT5)I zYp5d03mRD>Vh_R)3Wq#$U)jJeROYo@y{cnAjje|rbW=m_5v zdRhre4peW9JI6TY%}C1-uZa$T%TOO)MRQaN5+_TXK*8h&?#~4G3<`vF_JKn4B}QuG zWJA+`gV)!p1{Mu(u^pqXhCoacn)1(OF^k+Q143^xvVp zbL#KqOr9Ywh(R))QuiPaAe%G_qZz4~f;t^%wO@@YTXY1Mi1bq`U5>vt73?g58&5gA zGXtii)TcZ5eX>j{;)dPC|}Y;umdv*NnW%@a{bJ%bE9HM1yc^v49`?q&f!})o1m8}dVgcOqEpVx4TXOF@ru2`4y|3%+mhgT=W*RK8 z6(O@ep%JM|2AZRqIayLNy6|@Ka`{9v@5Cqi3d8uB4@&O^R@KgztCSwA@*G zejM6|)v@YSADEAE&J1%pcDX={?om(r#j7lDc9prji1zFK94xnCq5@^uO7aSZC05 zUNoyxd;YU#6dH<5$q{+ee{cxV;hLJs1^_YMsC=+b2Myj7GTY!a-XaVP@^r~n;5w-WnAY*kzmT$khfH&2ouL;on2i6_id@}sdR_6ReKn5@%}+F;L77DhvpWU# zR~PA$Lq(#_o)&Wd<$LE~$tH=!EFUNI+jRfk>=llRTR6cNap8$|?)VBVD91|dUAvex z4XE1lnX>E3xizcj@L_rUw+d)z`dP94nYb?R{>wC-2Wlp;wi=T(-|~XCVfGxN_6vh? z%O@zB3xze{mlYEogz~r)a~g_R!$qCdnJxh~9m-+< zUmHO+y#4ztJ!HJx;|xB;xnC|B?y6|d&&cRFbVA{Cxacs%4@gSJABt?8;h}6>RY)}U zb}k9K%06AjC<<$gIWC|eRg^(GEI}<5tiQ&0=7o96u#nP;%kfs=YF1SYoL;_|fqk%i zcYjn!!PA&59|J*g$S^xB^IAkIuG}MgpS-PX%t$xj)nXn}Snn`HfyZRcbwbgi^)=FD zs6EYAuv}CSJnQ6K_r6wz`$U7Gvh4EHB^h>UCRfN0>oF8QmleUAP=ENiR0;ep?5Ol1bMx<)P ztE$4zlNy*+vINO|PA7Ftq~gOIq0xAyhbD?C3aK`Ca&m7+=AbkI7Y(t#-b~w4x4H>u zZj^{xVV|S9z?36&D-|;2K51ql2!9gKrM(;xDaXF~J}@LE+sg!Tq`(lp4;Ai?l>b_^H}p9?N?P7 zRV(TIQAf_v`BC%S#^2;KEadAi;3bMhZ=9n7j^D%HhYl3gyyy<+^p#}IH+p>p4I>>- zw{&}XL?ScctP8us^h=)3WUiI)AbUe~H~o+&(hV9zDQ<)?dmhg;tZSyNkSKf!btpCc zm31j1>wLBpRv`YAS8^1dobY9?6!C7|e{PfB>sVKWPadRukA#v!b(vRHhXx<1k}NVz zA&n@DOMSSa1CaEZr1Qc9y0`qCHF0z6pl^ZoF$ia4Lg4a`fI&`~0(aoLagn+LQRlq|N5^ zAo?@Ty_40YcT(~JErnoFdR*_*r;T>$0D)ulk34{L2mpz=&?+f^;>O=4ZRfvdPTZ#M zx~)lhvVJ4yn>s?eeeZjjL=Y<9{s&aT4?=5{ZP?qoUOTkK1S_$(jNz z*h0Td6Ql>gJg;ZuO-W6E2>{ur0Ok9R5*P^K&cZ-$X5avZT%h=U!L(!^9B-Jyhlz~s zj9V8rTdqPRthzZZx1Lg6)q<1a1_o5keeHD;K_r_i!DZ5-6g0+b0Q$R*b|>%Z>HMFT zUP}nh?9$2{7&Z-IJ2+%5cq_Hl;YtTzhIJKRG7Qe5N3Q_~%5no`Jsq7tz})-WD7O9m z1A&SYcZZZ4FE5lR#{yqqy*2uG&M%%XD>_(xw_5yI*1|4wb;yuWmVlRmS0?QP++|gB zKYxLG@PAH&(tK)a1R7t+O?NXfhvdf*9}gpO7D`)n|5rxvc=^t{UL!E`&pX(Tml8^17>keUn3>qx z_9L=9pXlpN>w0}2baie1xNG~4aEF#*Qx>e4uAb8tATslC7%o9xQ!$=jE_X*CVQ(cj zt}IhkSE-cMl?pfKZDh11MfN=`+faqx>Zx1Ou+!y=nyU5fY>MsY@k@|BGrB%#I&fMy zf7hQMyJvp?-Xrgd)H@t_M6Yz)-%q=y{(RZqbke$g)YT?gIsND76uQQ)aAI{;TV0Te z@t9P)qS(&4Bf{aTRn|ste}4HEdCt|Ps-evg+l9%YLdZI~68eRYJi;uE+=( zy^}oQq7v`}YQUPoHF>1bgKy<2UAm3$u`IoWwkzme$12f8jI200yT!cXn)Vf@plwr% z-BhJX%=S6ry14`6?As!${;kAcOG{^H#qcJ>TwY;4qze*QhNm77#{DRX9CcvsvmK>v zXHOd}i_?jQ0%(1K`;y*ys0JjN1KW}kq$CXAMaKJE)9GT8$L0*PTpikq$arjiTgC9c z0MXNIIk91iyVMQ8uU zLx2A$raTpYXSZbU+t<*ba!q?oSJJLW2WS#E{5i8%_eRN_EOSx@h0EWSdPq0Yde526 zMsj0FOZ@-%8sBdjQ?B9TMqw}+!xpW2vVoOo$3vn|?*Dyxxe6SAQ39 zr}o=50!rC%N7bOy()6@2%<7C^)zpoujsV|rSO3JAl$Z*CT{W0^43YrJ_Mn~?;Q2Aj zd3Dkz=BEy?I7rBkCljCkJEYP;yF5|ucJ(;9gp94ebyloA9_F{nrbSsP7Au+WbZ)t^ ze9qsp)l0SXl?>D$-RZT}Gb)M87O3hX+x)fy_TH-_BOCf2@VMIzlF*J$*=Zt8L!(BR zTETTx2nyZ7gQhq1?GWmDTs`;EhQ85}V+55CSXm@0=3d%KPU~pyaU2D~hiJ(>hp_C2 zqSERdTekq`t%i}cCBccsRay4VLGDNNIGk-8UXIXnAFZ-=7uLeIlanMi33PpWqwGzZGc^&=nRnea|NaiXT#nC$KguRg@; zFjIWnUqNM&XRbUl%s3GJK&>n3u{D$lGy7*ta5~oM@T^4#>P+7MLU#X4uda)UYWq6k zz3wU|dWDqT;HmmB;tp0I3qB5^%}2CY9sWZ~qv}cWPqOz#awYkt zVfMKTxtqb&36J<(y-k6*{Go|<^2nP?XLx;d4Oo1rBJAW;$YLuQ?P3oWpZMX9ftu~R*EY_5 z>qxKAn}=;AoSJlH)-f#}#G4B4{I$Hh2uEFMx!joWsF~ooB)hs%I&KH;M`>RX{u zppQp9s+yUpG8&cB;`Wa`y;aBL<&N%mu$7#ct}8v{IlaZZ5 z=Zq!ATK!0?TvF(_71yry!WnJoSz3fFUExbel3UtEw-Cd>$K)?;JKtu#>kZqP{YrS_#AOR!cJRfQ$C&JWVVDMyly zLYXAKMK@e#{8`quROGJhxW@|h21{q&-^sT-qBk4wAa}2+LTLUe`D=yE%`~!&m;dQp z^Rse1!g_VVt8}YVd}~=Kb&KS0C0xZ>O05*hZ^(wj(LXfpj?Ltv2gj zo8?Ha&UZ5`5o>v?l+mGht-Qj4$}B;K*S85};;G9chJ`QG=>2rtb9JnpBl?`eIEl08 z=F8#vJ7>(744v9t$Nn5!hks;X6vl6}u0eqaY>4|9XCt>DZ~Z{tULNz&c1aGSL$$ev z65-Dm;A_w05pn{E{A-9!a0?dI)PUjhOP!6*ZEg-q_%@``%^}1Idxd&YNmfpta)EM1 z&RUkbaOAbpSEY9-TX`D!9r>%W4Jryw`9t|r#SViZe<6Rv*rQ|A?vR9|{=&j7ajm`3 z9#wZr`#owb!W-}fozU3pz0hm`9__JPUUN*ob?Iu32|rp z;kgF3`_32QV@_zB`;`4u!hd$xDOa20WWvcA?On%R#~mt3*&W9n#uA)vzN8Pqkp@@8H+}ttZw5(A?hRnQ>%D5kf1xQip0-5#VERy0HuB#4XRgf zb-G*_%N++ublNIM#GVdz$~vmkTjRb=*K(NNEugEZdHhGvZ3=6HEjCLRzdeFE0oX)7 zxkqdEzTys>VMG}2Y&qaOYTX-Em=toaod7orjI7}FYP7j3?FLS4rMtiskCPWEIKdHW zkTR6eV&dsj%fKEjVTzk`^Y7?1WFRaVrU76Cf;a{N8y;#fUq(YJxDqy{6sL(Qzgr|< zTp)2LI~YSUY(&;c()klTBjOkFI^I@rEht}`=}2MBxg?|{J$Jt&7HtMYDna2fN{boQ zP`M?VbKqnur#jT(B?*1#y6e$2szFjX?!3eW28EfE_{ z5Z5feEJ4dm=;L*?TbY`i`5n))QA#!1CwiHc51K$u)Sb^-%!#K(M9x5?C{R{pY?G{9 zI8Ny%ES#_@NnN&NtLCIm^Zw7?Sr#}eyUL#GU%Li(pajnQ?EiJ*rHbr0*CYGnEAue| zWbHU}Hi41@^`6J98-3-YuMD5!(ezb$i}Ge;kinU_E6UXSAt{Z>rnBBLo3|CdTj#P) z>#+3d*L^d`u1QC%+jU)z+jxH7UWLk(m^2EVnVWHB>E@UNxLY1Rlq`Gft}!F=UNfri zNks3P>pkmn2PCm2@}SA3!t**oDuLcZX9^2a$-%@x43$EZhDiO6m_Xzq9#n4qn-$u3 zwrt|f%dPMg*kK41v0d)X^U18T!x8iYdNmW93$@Z1@d$f*-xkI3G13H5CV-D@o?KVa zpOpJ&g7BCCl0`|`k#s4C9-;_@IFM4PRB$Q-SxuYTi}&+2B-&RZr>_BEkOW6iu0HSQT6zh@E+HVE_|mVKdIxxk8`>1o!DGj-sSrnCDQ&I zXOi=DGG0uOBRfl;Fg`o7AH&WekdqSmQ&UOR$NU5#A+Oa3NQXY4Q`HpCe7r)w&$Y$1 z9#KxO2rMM47A#8d%Paw{pLz3Pjy^%6@B;TDR0rTw=z~q2&(;o0mcIVc?FS;mN$jhL zoGYn2JEhaS=%ril>EShyttwvSo-rYb-8%qn$t^8EcVb>;nW95!=uZ`UuXQ+NQ_LD#8ldFQlyV_ z8HXb>1RRuE-_{gBurj>nfll`}UR0XDDRo=S6+Sd5ZX@FnDtDj4vPxo}(%t{AB*>(d z)E=s3(*NbiN^unI%{*&L$8QE%m_qn0VNpTH{VTY6%{GUaZg zuKcylw5TpaOh234XZoLP(=yv!^^_y0E?1bU@>yW%9UfOlfx$jY+qzNL&<0zYOH9myL{1h`)?iN&`dd|p}^n! z7iWqFt?}fCgs5W3CA=oLvS`R4-gv;)OrWhPdkYsRW^eYJf9z13NEw#vp2vP{7nYM9 z@z^+`AT4w1v@^RXAqyE^1G zVw`VIzDvSXlD}vkciQLJQ687Z7k>%5uqox8f!!zyy=j=owihOFIgy-@n4H}nMx$i+ zNr1riQ}Ca9vDMU~rRM_Hb#a>)6=&YvwCPqv(OUE-VECHS0RM1( zorRg7`C$_of#;R$EI$ml@aH&?&=3{}=9!!PONO3bm9Moo%xB_11kiGu5mzo%(E(|W*UN~m%89UW)1r-Q6OpSdONsqpjp2Ot(n^TqzQUf6`KywCiL*z>t6&C{%i zl^o^l9z^GW2ADjOt;6+-B{T(sGCl4f9rw~S+mk;$^ z{DUY6{rJd1(1Yq-c<;e!@mgz;u;U~(pzH-z+=z%j16r!JPW}TrHQZXizX1Y6<^?BO z>fEHteIFEep{Lq@NJZn`0j*X}C-YA_sZz!L7^r+oC9Dz@*r6B#%+y0JUf{XM+K%O5 z%i3qnkSH@DwvS;Aj9W0tm<|xay8t7gsAFAfq1ziNn1Nst8}HI`b4nqlDr&X`5))(f z2xedul)Z1uE9MQZ@9iBK85=uoc&NO%c>jSQwHz`$bH)`l)%uP=gGf}ueTlDLjo?s$ z$T}5ud;K1)P$#w5?b-M*wYsf7Jq>*bN=t96o0S<2VG8A`>R3+Zx-H=ZzDv3TI}~_K zKtLVAwuzKs9gFZR1mcOv5vZ!nbzL3Lx~ZL2ELrwDN$p|S%de~@7J19UTnUIAz$3Xb zBA{fs!4ZjJMc%bOP?dhKKW@dKc3pQ`#P7^m*Q^50?~bvs@PM~rDTwCYGo3SZGSKnk z?+^E_RQ~`_rlfhpY%0L9PhA9Y0^}0ZSl-pTiU5kN?3J{ed?992iu_-l6d{b!&^W!t97dh zt7nGy_wxIp0OCNv9gF-c`XYb@lTt1dK~s=an=7sdI8z6JnXxl+3Q#O@-IZ2egk}Z0 z0NvAKnfBV9U1WS~unHP@bWsc3!=yc;6FTAu1aU(z(Z1hH`ZnY_K+X}&rnLV!+k=fM zuj4ibZPja!&x;?05_)@ycKx-r#X}Mc>+MGqt@D(qX?TwE6ZjpAfQr9ybd8y6PZFl%4DfeL*&Dg(7b!f@w@i zj2)gy4>kF`dEl4hKLCM*hk<;r)>UOKhti_VXkzQIEM2{_TZJ zSRGrEJGS)UgfvCVXd%c#L9NT*Y8S5)TFE?oI%csOp`rtcAC`KWJiqwjRGUIa5yKXTRWOv{SP zW~}#b%gqQ$4{p!(NZ1vb%^hjkaaCt$>W$?o(}$)MX&&`08eyybb!p7YG%R6zo*-_% zStPKyoB2rXYf2eo)Xqu>0XRU3bTL7ad5`M*r8uKfQO+qS=MBMea{fHE!s)9gRK)+3 zGEr4UzVlRwsD~847orT*s|ud!(keteAq12X;-#2i@|3Fuxm}VlUf-fCJ;$r{s!4na zUcM4f{b6{cyC;|9iA2y;QxZ}&f_wc(a05#XI2<80k7E^_AxkZi3@j^aVRxL^>^7Ob_S6Y5u&tBC9%x@o1b>UV_z88v6zBou;Epp^(tqoxe1)JWq zLX6^&05_3NIkO?P_-9EVGV6l`X-`5QxvUGiDtpMPA-yKLM%)l{sKHaApYP%5ZFJKr zR>ta)V`zM}lFFitCJ;qEqpd{*mMenOLQ0?}Q6evK!eo)(=gmy#4Aj$-=1%U@W5BBMycfgJo z<+z#TBC6zRsx;upeL|I~S2LO4tnTCPTW>U3X1UBFiyi*b(lapwM1ODEl)b=m!Cgax zs)TUQyg_+vu%c_pH&Y-?uFYz}stxr(**^XGbNVI!@#-+!DRmLGLAoH_IsJ$&UV9oN zc=#`&-lj}j7GUBqFRhj+iQGTJs9DV^hS-~73XFG2d*ZER&16FeF|U=j+1>c<+K}2u z@Qh@I5^9OOJeK2t@fz}^Qm^YU@G50lL$OYCNhp3UmL))Y2Dz9MFs%#?Dv?0Jg6 zV$n;z&Aa&yk);Mi$il9-nupzPd` zE|_1o6$aDR|F39^B74{v`DgM++YxH6-RBhHc@PHS!WFHDJ0Vz%JBr2|gZvgl3P`Au zDrfd`Es*{@GD$nKf$(JG`c#tFSn9+j5?tM87gVhG2bG)0no@J1-);F2$1UzJERG$^ z!aG&4y;ZW?-}$i+#C9!vg{PA}m2OW7If4M4@@s$}5mm11m5`mP?&6aY9t7@-65;LE02$&Il8gBz;kB!3emQ*ocX3=7?L3q^K^<&Wvva# zUN?1o&rq%0|9-~Q#t=VNTzFlgZ$^f1XC|I^HBYD3 zZ|f{GmD{RpOjP}!*2A^j8HP@71^HEAdZ%1e7tT#@_oYT_{jk zoYC=^^mrvQin?FQ<(`=5GG{>kMZlkz$!CV7NNT&wbm>j)`wods5$ZPfMozvB+hbn3 z$_4P*vb^oB@?(+J>#Tn*O5jA)U&jS5EAgRBQEY)vkpl?AWaR*0b(6cNAG|xM;nt>A z{bKECm@DWJeNT{G=H|2U?!oXA4%&&swIR$Ie`08u3B~;4AJYaBj>ma2FZLvTEi?nZ zt&lAOf%g)qqT3vOmf#tDkbYdp&o6E1+KA7wzyu&(gd{Qpp3RivH6z^TzQ9}$flyq6 zYgn_i4vfEaculM+#+4LLYzDw7UielyW-I#?baRbryb;>S%auyJsS~XD3||t4~R3@K@<}WEJcd zjW53+n)c0Z-w?3!@hQ;xFr@qIP$O6}Klwt(hO-f=DT_4=G?taDB ziL0FtwWGmVSeAtY#6csIUoe6elBkN7YK0{o7b8l^^Eh9nyqRV$=kLVG;VsUJUdArq z)+Y*#WOc#*?BavacnB;#a{um}vLlgYv6Hr?f$}OrTFuJcg~bzFQz~l=q4l-I?6iRN z=txez1Q%4YvL*RNorE2g7WsCJL4xMUV~SGWS(G+_;s9jp%)6^u+_C|s02>sC4g&o2 z%I|?6ij7Am2mcvk1Bg81^lzS*kS5}6^LKTOy+2GyT9mVtZk&y)O({e#^HrR2*0MXl z8}__A>JJ4CkL-_(?hL%f_GccAx3dwOxZNoM%F*4Ts-LBd|GBq$4tIQBeq`Tl1Fse) z$-Y42ook7pXevXu7dHH!|z2d*cX8Ip# z{kDk+QwQJGz|@gMRJxTHo|TnN72+7l0D(^>NgMu;YJ1l~a zd+L1`ge=mW+&!(obC2F`jEOzRx=%?v_9TC*?$U7b?ZPK%CTolz+&8Y-`n^Xk?)I?~ z=KYPj58d|7bo2leFzOp}1-0l6CmpT)Vq7_cs&apk+wKi)XKGK}+AVSn-2Rem@dINL z#q5j2H)&&SE7Ktrt3;Pw)%1zZVKF_?q&0DYi);pejt{L4Z139!)uW>&5tWg&8q$&d zYQzag_heKG!Vh)=FQfGN3H690_Uw-zsl86#zSUmA40w~A>_VB_ic2YEP&jVFGdTLc!J;94=7^~+UF+< zNCIV!sC4bz6>ob|mVG2|MHFKDu|Ju^*%g7ytnQ;hp$~Z#vu4}=nz2JK&Yzrn-PW^p zH+tlfj~$O1lh9a4wsxVi)&APsEmuCjxvgJ*nQPCZl*sXqh?JD>zp8fba>$!$f+iua zDk*`p2pw`s_3YAOK;`VJmL*L!(4BLWAx@jU>pj&oXv8I8fgM#d2C|Ni^?6o&433TD zaEK2G(`zg?uGZD9id`#v6ZZ7RMb4L8z!TJ7+0z8d)&qHN+mtRU9Z`CfO;5A))xZDg z5Jc}0?%gNsRF(fzT%s_TS5+r9`;@*qnIqw7&V@l0CCWuwx5}I~Vzttos}wd(F8f|_ z=hf}gw%S2n@nfyOw5crG$6I zp%;9$_}WhPcK~EzdnHly31gpm*wJT^{Zg}@pq#})IePD)ShWX2PM&-<`Pq@P5rmcNLB753es^X2f~1W|_^o1I&Auz<&NSHfmi1H{v*L*{8t1yQ(X;9&T25C| zsAdqu9a^S%sgey+x6K}}eIAnt%=gsI9;-#y+M;z{!1t|v+YOnluowS5*1R+1u|q-Z zY(re*qbEfU&Z#NaE{kF=E&9jzM?(Cx?wr_!^6p4Md|E|^d5p`g(|Peo=iEB~4ErRF zh7%`>ScUd>AIUQ&yLs~hR#8eXxw-$ENnYvG#oGz$Cp22`|5;lZeLnoelWrEDoY?Ec z(XHkg#iMrUtNv7PXIFaLyts14F>4KdP-E~eX8OgQ>Gl%) zOhDwfUV|;&&^PdKYJ_j8vAdjd&7|=9MB=uz3vh5tbn=1119BAlk5zrjBxh|(bdW(% zgS5kTt=-EE9B30N*|O!$n=SXX{aVm=CdFh(t7?2Sw@}6oIiU0VvEDyjU4ME7cN-Yn z?gAhY0DuS@cliIKOq<~k2bjRxdd(nuz=i1^xS-IfA=UUU1uG{kdYoc7`|b#Xrw=OM zt|W`z>W0p0&W0?4wKwWwL*|76731rYZ=NsO_g%q7tY|A9x)Qe|P)@2D$T|%l(#JfX zMB-BrUsE&?I}Xm)Oh+HAu9@BMv+P!1{UJxQsW_L2%A6&z_W~WQXK`JycUZaH!W$S8 zTzU&#h(ecFu=@;$&b!xo{p?gz`F5c6Y}3l{@X8Q{hE}*MBl?Qrp`5C-G8-wq!WLcaLM{2QQ?{dvP@$dI>&A3HC%GgKa ztTc_@6Pv%q*5q>Gt1sfz4Kot5m6GO^s4?rjQ(CK~6i zdwsMs1Mz*Gz4wgQ^`ae?U{VKF1Lt|CtO#jtqE;LlZe@7ico^8PsAKnrVR7J4wd7P6D5A~O2YX{c0+BVIFD-`b~(KTMT)m)-DY;4N7F!3bYEvH=O zw8lx8O++`GPZry{(&MdiRr(Cd6gpAbgPSotJJJa)tC;IL7~y*Bulimk@o|v6LcUr{ zicv)C=*D{m(wCNa$8TjNv?_26*A5mpe6=lfJYL;+*rU*5RQ~NMZVZ*>ea_pNZ_vui zp4TYz-2v~kvV*4t*Vd0agHj&rli=;pMSiD$>gx*yz$ZS@6+m89wm$!o-B&dWfWRd) zBUp(w^adi|w&%FD=xuj@46e86BP{5DEU`oNIO&#!omY;}Pd&uD;)WR9NcS5z>*GDn zw#CdEIxEo);gg;yPUWmT&BAUXT|3#V;Y11w3M+?AeFU{xVAkgs2kg)2)5z)!Pu0FclNz#B-?$EVx zRIcV37GXCe?rjqKeH@89VZ*=wZEG&XG}9j3=QpbHwgb3Jblr=TLi>CC5Z=!p^Pag{ zJ)@C-`z!cKp%?n5;pCV1cl7<~lW$I`F0YVM@gi%kPc>+=ycJ=&y+f5tkT4rhuZsO2 zP^%<_FS~nj%XM4964t<9X6s)fE|7QRc_i#ODI#xJh&waDG+HO*@{^)RCZ4SHZ`tfM z8=&%M$gBxl3p|iOUUic2NB0~0l+0H!Ij%(Fu`Z}fizb5rLM1#qf zAN<)s3GuptNw~=3G(7BVoI@h*V86&V=lrF?-ZvJ|iz@iPDW%5_Z0mX&NDg0$dQFsz0rFIT#po}Z_E^|Zy){2{g*c?4<954(@xJKZV&hT28|^%(^pbnZIM$^O~b&S73B9a06;F7-`6OMF4A)GeU>Yu5D5g*Vf-5?5YJ1dp zePd7h?(6*{Rv@AV`yI@sDV;hD&+cZRo~S6pz4B2W>hK^O^v8hSDyhm_!_~E)lC0r= z#4TWG_`oqKI=_g+1%}d@oEW#lZVx~$$j;q?+9y6^6DYEu@$b(*ET*ZkkyS8`E>WNE zuYc~_FN~yfRVub?qTZ2GF(xKEdz?Kyq#g-T0i_nTkYvM!QWY2_q?H||u~M%Iz@)v! z;-^MHA`*$t_7w<*Gp=CAKV9D zzVQDa3?B2({|te`TO+C0$IRgnyjljg?%FTFgb+DcO-7xl+lPA+;KAHC^8OwI$eEC_ zoZ6}6^v~iOw=0STXoj=H!~b(cW+5Rj*Tvd-#@P#d+_?16J@xKqFg%GB%&8}^@X zR`WtFMQJ$6w>hlP$ud00$Wwk!2}|3l#BkFmhr@!PhX;TvkrmdQ)^}r9M&I^hryi)D zOFzO|K}rzW#=50&H`KSh^I{;;X@~gs%S%ksU|q-SXUUFmBy1^%ar_IpqQSA!jaIQj zAErZ(Dr4_}{7bKCa(aIuku&JphqfHHvwSe)-$t{F4Pf*KTAM-ynNePz_IiCHA=Rl( zkFNM~A`8D;-WgJ|j2iEez)e5x$M6q^xF8d~A2*il3*iZeWK3inNGn*=>GxD{ox8U6 zmmfQwjNiLgwa?GnGmnOAK5F`>S6!f6_XPp^(SnyzRDSpeH#xOMojjXz1(lI$@uwi6p;$ww{h(GIasiWY zPNqh$6O~Kvd^tH$Q0JKT8e(BB{eB806#|h*7H(LOfIm86E^q;6E*~BO3n9X;L*ZtK z0EFL!S`Q@o-0y(;z84DW;nv-rT-b?fwzR8_a(2>Un=$(2z(zC+3ME1y5C|W+LJeyo zy>hZF9VDmpB<#ukT!}YJm8~`2bNBOZU&IW)(JS@!v7;4swY{exitI@gyIAUmMv+dfhbcfG*UTOs)P+I(p#t@!OC)kW`bXDpV+m32 zQe6$9zg=Zq6+<8pcMx9c%DT+}@R6RcS2o_NeM~}p`RLNInW(ciG4q{L3=Oo=aBe-4 zhYTGIVi1%aK0s>*v;G!Dwo=#E#*9J?z&vE@7DUWXOP%N5XL?HOGKFn#1;5>TO>PB6 z=Y2&>N5EH<oBbrabh`Y z3qxPPeo*Rf*7fjVt(nSzz%lTYK4RCYijmXYY1Vdz|C=^58FgO>oXI<8Y90f)FEJ;1 zuo*eGL^zva(I5q_x^62LE?U6y7-n(*xjw;K4$Q;zRFIk$&Y#Y#1od+^r|Rj;8V%R( zAMK!bqgD(btUxLF!RiQs_TYCHF{ly#yR%@@XzvLFrhHm=vXG0ahWAyo|7r8L4<2Ez ze|z{{=d%7Hs+SNo3y4_vAg@jLp+s0_Y{_c^VWW_Ex60Z2C$Kp-5+SFwF}5mTn4YdOpVi8d2WxACwK?(wTJ7cuFiuCig@(&A zgEey5VNpsJ3l760&i#KYjuu+MEUHha>Cb5GPYvig`Wn_)6$d?Fr%%7;Fo?knjuhXE z92|_iS3L4g9n3qx%6nV0z8;+X9Mfem#a_2Z=g7|8tiUaM3_89h9Nd=mR-qOdPaZvV zU54|#wa3x+G{%ohMtw0+tXBb0%6Z}wKu@K9YxnV{Tkk7@xnrLZ3`btN%croh%9}h$fRAg3r~5fEUv2F?ew`DbVpE%N4HtN`|X z@7sX+?i$ArIa94w60cVPfgw-I8luvbr0HO2z`8%1FPJ@_r1J_O@NdWYBKMgZ29G*8 zg7`r;0#-}LBc_p9t{=9DpovLw^l^_%g^umqc`VVmgF0SNL3I#*-`(pn%^z zi(q7tnQSt3*xDWcb`3V2HDc2J3z^5Qt+0Vh)Ax4k{O!>ek8cZzfQqim4V`ZjqnQdx z(U7G$5Q^v!FpB8NO^p2c?FoNVf63Sv5>6lX`~{ZOCQI)--3 zMF?UJO4^h4Fp!i>B9LI@M}JzM(bsOF*+^DaN~^NI7L!8ku06qi~X2%kd{V?eTHWTz%dFj>j}T?yx{aH-F$- z!1EKCceWN;HRa}>-su}K6gHFpzSEe^>d=ybAhaqe1GDJtfb)8{M;7W+JOM67IU?ua zLt)M#dW5c{id(*Z#ZW$)lHIgp1CiKTLjR9q%rtBs5W zfodp9m9*8I8?rixaawOBIU*p86`#rCgU{hKX~5E zfLHS{O)aaXH_{p(*qNT9?nrW0s4@z-krW+C>a^}W```%c;^ru~+~&Cz2JH`=4K;On zcWOd(h0Fit9Et`(k+84Uk8c+bhV@)!8#7tqj{3DsT<*%cYiuKP|8vmGf0Pc(ugn`1 zM-vX{V*f8|=Fr4KS}>OKauv=*xoCw%*cx#;;r>_a^PkdsvqK$>9XKFBtjQAq(?b{P z1vHU_w&I-e6^br5qrz32dtawq(GY--UwtDXe0r29F*3MMhmW1F1iG{Q~9EjEcD;1^ddH6j{7%L#klChR8DOCnXZb_w0aTTWQ>@HiwDn zXiP?u3auGPPhGwKgofVdqYaHs6`kSkBHP?m?b0!yP~g=H4_grO9=VMrfBomA;m43jr2Z+86zdY~WEfX1T?JdSS5b7@3(9@(KUv&Ewa!}^=C z@YNGDZC5VIdon8r*r%-S%XE?#V(@^K#Y&xm1eRmh3j`wSy~_nT3&qaEkycKV6N+Hs-MIds`6X-C(Is)myLbJty^QX0>P7dsg$8M5?956AuVueKNd@&q@_h!q62|?-?G{EKJ8TgR<=lmw&r=_zjry990o;ft^oeJW!XNQp~8D2yN6oL*2$1klFP$Ib8h(%=6y$c^E z9SBn+mem4qOQ6W_fJ7dc+W|!Uqze1UnhX5!>KaXmIYQROG)Lhc^JPHsW{!T|yE_A6 zez#XoYYNvxOabWejv!Qq=aqb*JC@yc=qcimvtdXUlD7<&z`5{xu03pdPWlw0Q(pS( z2H$u`hv}~{7^($k-^O?$Ww-;zxGtJGm8QVrTqp_$|0r&6L1|CjK($AN!?Ap4JMQH@8Aa9@G|DGS zJp4edx_k(Wm^5C1aS43oT;+fJhE^3H;_VxsF>s&{C0oWLQ`GO^BkV@$i~8dC&)6ff zs4b>Lq)GAG% zCM>7Si{DTetjkQUS>fL#IPk!rKK9ZN(LMOWTgTRS+&l&<2}2lu&Ljd{n5CXs$yqo5 zn^z=R;gf%{tX`0uapFcLMTOSc*Fn=1R}->PsT4QLd)4sht&fTkWD3zq%%hh)4} zR8UUkko^dEVzQ6B)SQD|9+UZIf7 zZ%2H-o#7)_Duaqe{pm=d2+@aDcwKEI@7mRmkxNQV&kr<4EvuIpZ&B+*8=b1Q+A`6{ z?Xw2DGjT72RG(eFDe)Z^JT@+BcyGTid_zHArdwk|>N2V0d_f7hdvAZxF|CzLd+`P` zK^0(6t?>*SMmW2|JEzqrAij$^5(E;)fIwnW!(Hx_qsq6@aV%EaZx^3DD)5r}_-wrq zUXg+bjRt zs}9U9vKC{UYi=(3%kOp>mLxwqi|>i1f$!Xx-^IZGV#j;m6U||I1Henb!|L9nWSK{6 zc~;i8yupR1TKTWdr8>9FCt8jbb7z|_0=ofETo*4Z-)Z|UgrzlV%04Kejtf14|32~v z%XS_L+w^xmH(Y}>z8~4(--vnf`hF?c$#EG@O928G0&}Tze)2hgJfheOYYm*>w|is( zhNj=vZ~4QXJD;`3TIh|0umt8o#8Qbgr*?9~txe5=meI2L63T#{my0IyUp}>PJYifW z5ZzK1^IvhFzs+wAKv*JBT~t-xFnPb|zIGYlcC-t3*6RJGbjn@jRn?ak?P=c&hddQS z)8g@Iu6R9TF?KgOiYR9J3hYhlYxCNKI+G{bstUVF>WU1N2KQimdCmwqMD4t$@imfe zj__3uI=VwEFFrX{$3`e4Wl5BLl}jPI+TqZWlWZ`kq%$_L*>1;7N0((PHcn*?FUyP? z?bMFf#j0v*)tcjX`n0X{W%b23a(vN(kl=)r_nW*Tlp6uNXgF)(=TFq0c zLvjk%ltSZ4o3d_nhuYSDwJpsfTH{u`f4kbqcKX&G8%(mSLIE3c`KKZ|#g{dn*uy#C z9)LJj2EOXJc&rC#>R)7D%Q};Mcx_h!D4(}}tKSX!P3n1pE2SwT5+%xlwV5Av{i=nX zf_~nwz83q3(TR&HxAdg9#Y+>Tlvs{~ukSqg&(UYA`!@i5U=V=K+SYm!u*OI*l^nFs zX=_=SJu=4@7UbdY`{iy8U;Ec}|5(5NM^{$TxsHyrfmvNIOFT;MRAg=zow&GJv+d^f zN=-IE;OBDPjhq|vPWxhNzVFjS9XPdoAkD%jgERm(*b+=Y{vkc#Nu?AQb$@#5Z4R2s zkY2spNmV+O5P<2JWdDuB-HZ}p4nJWsXaX;gu*7NZdBr=}*KP(;x{3JbZy?z3kdr8j z{(-f3BUf<-_~!{pVJD6ygusKR@**+z#_9 zUupR8uaaG&#iBsBkip|rei7U`8GFp^9aXe&t^7^>*;pOdkf8-?`ozgo>6@unIy&#s zKvoo!R@uIQMiy^b`(7xJK9Pg5Ifgw}#EUkT$JQsde_T;h7pswSZdX`o zBSt(hd087`3w@5%ml>7RcLn^BBO^zV(9mOrW?HmyHMOy3adL2Lc{&>mzfYG}-gIUR zvQ(uPmV|mCv`7+D_a;#4$`4*Z79Nbok%`0Y9Sy^dOFK>k@$5R(jS-`_ET71?$G^1j z#hG8oLeZ3y!I zIr!2KKxMG`e%y50jm)j5zrxdGk|6RbETSD?hO(x>^k(_Cb8uRYT*DnIqva{A%}LW! z%?zE2exenF<@3*R@AmFSnk+t(IaEI3HZ91nt3`wm?IQ@KIu4F2GPNIFgW1w-^5Tjr zzliSakOP*e2+4~lXJqpP?xT`+QJ^t(OKNuLq7nQ`U_{~f^uX0Vf+JtzdIy!v3*TE2yxCq+3 zmx2?LZ@vO7E!oLXgADFuhj0Py?`ao@9K$>RJRZX#?8>k$SNF?|r3xP5aU*ScE6enB zWo2B_tEVq_xcR+Q;G}N9c<1B3U&`F5BT65Q(LlpRp!gFOz}T3DZOMUSZxE8V`)k*N z1pVct^9@hQl-|Lh@LZ@r5e~>B@eQk=Zv)hL&FJlozmJ^-vaz?bkE?{3W4|B?9Wl#rhXOZA@F^c##c(~_f3A^44sA8$3F=Yvq)2`RJ&I76~~@H!P<-0mJstYKMk^W z-sKgB0TZBoVR*UQdEOeOoXp@X?j7Q1#^VJ=N6~R*JeikR;1#*8w0Kj3_tfuvYGkcg zlALYL&ie#>9tu!z{eYXNOosb&YI;j2*As}Sbr*4<{#7@5yMvCd+RmfXXPZ>?LQ~cW z43IOF(h6MlNq0h_;<>zwepxd2Xo4-M9|&lgk_ExSSZyl2d&6@uXGa3mru04xOC7_2 zeTxNLP5zdtLmE+qnSt>7%*McATI{_ggapmw$ba4 z)47KnvtHpDgRN8Gd6DmD&VU@!V-#;qkolx`T~Nfvh6ST*^iw;4i!0=K2GrR(yB425 zx1z7lCDO16g5L&2!UyWzO^JT`w>I_7nVv$&xDn16db~&w(;2%dxz5GWS!@?W+l%RL z3d>o2*5&Tx_q9OdM5w!~h?hpmOUgYmi z>Vw5{pBc#t(lo#3iIUn=PL(2~eA%106>GSzBJ4=nWSQ33(9U#p+#cGAG;K6Cc${!w zp!zL!oX6YK? zPhI&O*L7gLVKK|yzjQ0m;&LnK;Ar(MF>(?R5;318I+O4Ld6FyC$%e^z+pvXz{l~9jfQxHf$)q$Ogb2+$5*WC2&13Btc zb|lHGdOF1yW+UPX`?*(dB8OU(XM|dJ_Tb4nu{2yl-EaSin=LoZjtvhQzi(aj{?xA2 z*VWyZZK&l1(=@1>ty>FcK=r+|ygG0RWE?!6kGnY(sWxIc3{F3!r2vugB~K?sq}csb z*>s$l@E7}ykdc*@i7ikw)1dHV851~GR7?paz>g7f2uen=i2HLeyl+Me;22Ebi^j89XnvHWgModvFZwFxteCyK_{Pfc`AnRn$l{Z&4W~^yrjq~P04i4Zpid?a^vu2|4`97BKQtU=SAMAT@hYg!+U8x>1a5l(k z(q}(LUBdg{{}lW_cLmPA9Z(({PJO5ffHP+-XyQbV#q3g zT;LT1k;*N|TQC}{og&qHOz}EtP5mBAdbb~5M<8m&Gg_RNN?QpvQB7oRPq!G@8=J>B z8VMwEe~f5`3lqY{!Q7CL**EZwt*40;t%UYAGeSk~8_lQ|*+?I{(Im zM6Iwe%GQCFR)G>y@jLRz)B3 zs#dSsj8h|R7nSjZdgw`zOOz|qmmt4pks!F_i1;7XUbJ0Cz(oD zbOuVKkK|Bnk6Kha)c7r81k~>!B zER=eoTxlpY+10w!Bfp91QnDKHMfQA@lk!iHeX7{aKbI{xi%wg_XiI~7R5UWI*rr`y z^!fLsU!velyQi>BR}f)mg6~7VNUHx5Cl^>S*vrI`Z<0SPWEZ9&R|YV50^yR%glz0C zj^_?F*>#p(F`47~xliY!W(4pzl_dS-b`I^$h8ZYJC?-nae8$odxYcTT=i}WQ7mjw# zgHPv--!4z-8`0NNptNVs+m^UC1z+DSj!*7;(4E`?{$HGn|LQS+j9Ru$Q0Mt>bebJj zeHFCu_jeXCcIaMY8*LR0P}}X-l=Xj{ULfjIKh&6cNM6Gwm|=tRs{v=kVXMiX@6%dx zLr+l#>wYSMIwgGbo6<<=B7&|ga_(B{^Vooo`bkYEnk}vvDj;g377=`jAcR>i8tPZAUT~)gNk>lRbaFvK3 zWD?)4LaDVe;q?lv3x8skl7JoX=$CQQ5$dnY{d+OuLt=6)#YesFT(Z!;@3W#F*j9AdR6S@TTvC6kCu--xuKO z%(~|<I@d0!?Ze^g<`QT~8HQx3YR;=bu2MQm^$aQ*E}bi|yq7K?87K)e zIOR1`-F(r=sugj$^Ap%yeFiYZEoM{$$&hb1?k`=>>__`<5w)(jrLeMxqql7GaA1fgXZW_ zjvEU2!V#?mf)!f|A`)i0DSej9*3%r)yLVD@COY^44&(BZIhx9)@DVSl!MaX4p8KKq z`fH{%V$bXHe%>x*f>;tBe-NyB%F~m+M<(j^NpfhL1uyMtySiU9cTqyg`L1$AnkFsq z6g_0PLKn?PReWp!6$rgew@b@KNcI;?fa7)yDh+sN-vlFNb@|nwtz2Jv3>5G&e8d+0 zMCAq-v8Y+|q9y(P|LB1B`C^m}GWACf5Ja1!6V(gpsp~!%B}ww!q3$(WywZyIjim!W z92<}wiR&_v5hXwOdws{{;_Mwm=RE(ty!y3{ zO7313dtvL9vSs+|`jZOodR1h8n+I1VWOEFnPHv&PBLo z|3{e!zMSRyk!UU&*;xx-4>t=TA8X}|NUNAA>}1A@a7(gcyTggq!|Xi6)&Ako=o5S2 zUXOQo-+_dk%60*Z#ar~Lti@-T#T;J`U16m?8+_%l+iLiq_V+N3ZgWJrYDjU*$!)(2 z<)_E6eG}h?MP0}LQpqIG<`=jx|K^w2m{etqeH&7+1yp3E+52@f>Ge&c|1`!taDLo< z?Ry`q?!;wX3uJcBLmiO8CU-{@6GP)Jkq67jz-m(rI6PuXlqD)Mo#Yn{ChH^3JoTrG zN{>9^GkZ2n9r(P zVNJskC(vRmgm0vq83Mq~zJPen*TUaG+-9HenJyK%_2mtJdY=h$hfPnamJ?W$iA~csmYBI6DmDi%%vn=XSWpGJ$OI5;gcSJwdPv?1Bd?m)mrlW zJ$qNanNc{sn=d;)ub>`RBE8-p5O^f22~?p-NblrO5jkR>OJA>yzx33)aJQXOhx}y% zAT(BNCoiCnwv#i}>79@jCv4(F$c?~cRDW&gndWeF8Ks&EB9o7GLV`kfQjS*W)b-~v zA{NyEK`xZS&V+yB)1>beuI_yWiYqJKXzKy?}t9UZbjUEgSe|1tF`&$~7NYRvxz?25tbyRbAe27dHI>nK= zhFZv@J7UY@v$A8IIK8!;uFzE#&-hkIK)?Oi_omncEP)ih?^`@WT&zmKMw?T?<#o4U z0E8)}taVbxW+J)BL2Gbl_xbFzAvr)iZ3VB&Fx9X_9~Bil+GY$LJS= zu(5Qq>zQjyj)t^d=5&>>cV)U2e>0aOktkZ67U0 zzaM+qMdXXE-m{SRi^~!+B(O4a@kAOIV1Yw%G8S3NUieQ{ z@`=%UqY^ok@;kyO+gKB^0@B;C*l44)wZBY-*1Qa;46fTrGvSyB$(NFN(RSU!j=aC& zs@kBXkRq>@lPtu5@(S57qR9%?Y;QP_pGFKTOPJJ*b$G#`g0o5Lpng(K7L6wc3jJYE zWA0}1YjK`yIlTiswHaa`F{!pLv7c&OHR$c#KB35I#*r8{HOF<>-pm@HUn(9)gb)Xs z#151Dy*9Tqou2zX*1y)bliHDNv75X?7#8Q}CX<=cF^MlxPJYRL z-p&K{r<)xG@b8_zZd9^98(9sDS-EqmV61Mjgy?!Lw?{N4=>gDN{UaJDAK70tZ2{p5 zlnkJmk6~^j0Q_QM{ws;j60EQ7!~I=!pN;eDmxlL9lSupqM)~O5%<^qqBZ}TU5>iqk z^EYF-dmkjr4syM-(x8IJ>>X(~z%px4wL7VW#aO*`n;mmvcfSd%z?`X+%B-wS231>v z(KrLy%EF1C)|2f*5E z35$#~9)VjnVylbnQv7s3OXUi`B}S%VL!(I9^)G_4>bz0 z;Zt4&XL26;b3-Cs&%rH#+VWH+|IFIZt6OJVs}Xt1WQ|SF3I)v=1O12#J3fXC^gMC0 zmpv6?TBJm5Yhi(*-f+Zo2%wfnq>>3@0h^QXZa=F2ow?#!WWk+S@+?L|NjKAE8<$^| zLkfCH^7vpF7x&a36OtmKKNt5TLcQHU-^bSKx7K|$sy1u`od2T$QkJv0L!HFkrb>?h=_O48fmctYHQl!rtQL>13-$W5(BbyiJ}MoRrs*1IF91XV7YsfBa{aVl2s zx57pJzH2CNk3p4**K0Gw{VaQP^R_d?eA^{SWqYY-VH)tjNX6$lns%fag+BmciwTD; z{eVqUm4Mgr3)34~grHgkOhHM1NIlmK)DJ;NPEBY=^bL5fof%EdN2GAc*tSba|5 zd%Da_mCezJ-OR#}B5eCDOYKr|h*?#syewp!p-?V6K2h15S)NpCOho4^p0%JDK5iEh zx5E`Egfd;y$Z2-YWKQw6dL`Uh+8l`BJ0L5q7U=v+RZic}Zm1hu}UNe`mO z=LptzGSdq5EKUf?`+YG^;{mRZ>MEv&WAW2kl}mE-NCVt17>JK7Wgxm{we_u2<8t}k zhE3`2yO=e>c54;}iy6mEDa~O){1F{NO2EspIQ_)1BZPC>#dQK?im_j?!XC+>TvujUx`O zrP>n6kf(ZfC;SY5DVK1NYw{0LRH(j&?q7GP^!vy~O?pd-yJBaRdj5PM2kMk9%57Lq z8{48QQJxx3-?aAE)fi{#%_G-5f|VtP;dT|evh}ysUl}sn2)6>_4#d`5)A05UZPLX1 z02wc&ab>YE*| z00wzTjq#4xcwee33dNraE!<1rf#}rrLC>Ne*Hz+OPOl;ShcE&{W3yKE(nV^p6KB=` zRMYM@Oo1fB_Fum@?w?s^yJuO8^%W-k>^AFHd7i`>XSn}I49ca z=gHReK08-Pi5@6RFtZAuUM|6SAmr9D@_T~cKyi9ccIdqOV(_+7_q`0!Q~}bIJ)p&& zW{@X%7USX^sK)VIDH$%xZw&JAFK)XGZ*H5^hV7)=SIL`3%j>^td5j9#)xL!K>sfi& z?cYH2ZOjQlvHR&piRSs_6lh@}Fy1D3bWyLXRg>DSOkm@f2&XQ#-T~XVg*Xa+Hzzm> z(gA&X*`GJTi-N~5ukS-Mho#wx7!m1QlKQ3LjFDcuw^Q0VZ0*zsb4BrpU(-i{iRjxZ z4wO`zbg%Kr_q%?k8tX1bhjnJ%E;{f`!2~Od6BuwtlWYrt-E_9gK&;Y|FbP3`P{}?M z?*aFreO^3N5_5SLsoPEJFHiDa>%XbLV$8Z*TJ?HoymC7LVZcg7WTsE-x}QtvjkteE z)emmI$xS`a4?+LBe*!!~@gDlt&DDD1dMDe?TRB)09>_d7wn* z>B%%mKS|5ch9vpQtJwXuLJjOM2Z}vQpox06_V}qN{w1Hf;cu>$RMe=8G?PF*FVnZ< zlGv3(nC%)xH(B;wJMqlj{ebX1v|JYhFlX+7n zbOM7NWBYsG`uS@hqD#v^z^BId-Y#pPr(%W@#^g(|t?qMl-|B&F%?8!`c&j(aaz0d{ zGRmQ$2!<3KgmgVe;%z+tR>_L5{q2jsae_f=KcLhRe{PNxD2qyj1QLQAg#pu3`yOas zD@2DAgAQrzZLUC)(Avl_%KNLYno*aAk#w*|2=AMjyPsokxx--ms^V$9V1_pjI3=1Y z#8SZ|$E_JsT`3M5xPrvD%0an8oi56j=9s90h3n8&sNajoTxSRe2822S-r=;hF%2DM ze8e+Kre}(!T_RZ$(U4rL|I%ZzEV~EFNNeM@N8t6~7*%c>!R!d8lVXBl zVJWn=l4EWf;4AzSakR{LSO?S*SHc4=Xh6ACdK~c8lySDg_f`pkFa*>HU#k^?Mk*9{ za)hMXOej0CYjHfP@rr~g=bzpZWd>K)z(RWS24$;J{WoGXRRr;k!7#8hjdn`O-U8}5 zo6@7Qu$vlPAwxkd&&~X!a5-rWMK9dA?DB9=jmEx5D3{D5oiT{fXLI@`D=Ux#grhuG zD^+!nEA~NcC)v7i@}e#|#_(t9O%4YG-k=tCW>)%JiM~ScnO!i>TNad-?#I#}>v((J!f2=gHwtwVc_EHLQC){JFeq7&ps>W$Ag5{AA z5%-n%)m`Uk9s6B0JIB6kaJrH3z;!O?qLioid$n=1i4lrqDOhOBjy_{)&~}-)5yfq~ zDifYQW_zyMSN{T4L=Pc#ME$CI0va)*OlfjUkgHml<^y$ie%U+w2tv?6msX5G3P$2| z#}ZAU`GSWiS?V@OD{M@e!KF@7;%AG)l_V?oK94RRx+$P-W{4>of3`BKkt$%=Cw)rH zdIYbw;3}9c=gIK<(6$4kYGoOTejN0P^d6Erc!4g3XYGDqwO^ERSQsi+-!=}GN!)X>w*ji{P1H>wZ{UH6 zX{an&UKRFSLBQ>AVwy2F&Q`XK_T!efPgBi&dArxpzkCbg)}*sMQ3d!ynYcWix z_|npYGkjM4H_VCfl1lDfoX0C$VNvA=MKO()qiafz$U5Uzd^r!`sw6gjbZ`=$i^_!5*E*mpvGd zg5%DuZ3wIxm4a&5e0xsqmgD* zYGLt_w3+$h0%!yaVq;0um3t$XEA$yK5Pw|pv!C9zSh@wc?lNT5)5EG6KfIzyluy3k zUv3{ba}*4FG$(pmR^nCj0s#eCNQ4~D zqf!&>E;YJNTW#siz8Z?A8ZLGxgC714l~`@O#>4Wd5=#=oawdMM<77yT(2db7k@4Wp zE%_OM$dm`us47x}?QgqM7)?HZM=$E)8)}u-P|8J5me;Vs-QgJLa01hjt`-GZf4WXYs8)21~d#k7r)eGs%T zoTM@mjdY}?b}Wv#jHbE*Kz`zf{tRkAt>Qc*%XqotdNs+gjp4Eba2n*ly|eRwCt$ys zh~nX>+L&#zD&EyQzPT7a-T4FSO1;b<&IKtjfrbAlppEY|+K)W=f(08x4LSchxPcZ; z&=#FTV)*|ywEy4&Mhf@OGx`^f5+SBVpmLE zI=62U*W>|>NHHU*R5SE{tCw-<<`9FC;fkJ1!6_8;hau))x%lmF$sfp7&pD(kD96H)c$SxIVbZT_~A3 zq=}nfv}2Lwr=d1$v7i?b+##9FLkXQFg^h;+o~eoUixID_yyG_rQYZ@APz*{54#pA0 zKa>pR#RSC`{ME;>CYUt;d;KKSEM)0R4s_P8I^L$4pB(rX9NTKK(#8fN{R*CJBK6fj zg$x42U%7H@19J?CBoA$x)b)Wp621#55p_mM7E4!7(moooafA6ECF-Zt^1qol{;FtA zId&y37DAx8Lw|yrU@Kx3nm!Z4dtT`gHi}vb$}j&kSBP&eGZ2SUb=dNsnEsur&WEKT z)j_QnLZ)5KOXZBcM8xs9Gw{W^CwZ=9$>@IzmDQpcEd(2W&^0pw4EE)QCw7R^@bLL; z`;jKBD-xYQQ2yd6a!O3cQ1R6Y?8$v6opn%hlyAYLdyZByBqP$wt`$?@3G?GqjI-WI zFr(&N%W-LTiVx^1Ho9CEPW9Z5AOL?Gi|-iXg08;`9bHFOX<@)jh53F(ufGo7X8;-H z0l)YvMmC@|H(*Hq)5~Lc+wpVu7B-~+C=Jcxyn+Svys26)m~PyI-+W15v=_={`XO5l zHTRU5<6Q%(;GtU{_)M$_Z@txr^r;MoqLKj!*lxsJ-o*}P>e`FX{w*=TWA)e>mkquq zR>aObeoL>tvlW0b{B)@!*Q#MRNDVE1iwYTY0jEF7nOpwz-CzpVB)}t%DHnxnklM&j z{5nE-m_I0{MuyF@X{w^ZXId;$ZzxX3PofMm&=br2L2ZV2EG&HUL-^jmzMYczD$O`Z z?tN3awcrjqUCwXxK5<+SI?>|?PR!D$t||ghxxLKVr-Z6Dw@24}CgX^Pq}kM_7!5qg z%Z*9SS}A#;Gxrf6Yzc??{fJaAfRlxa)hoqd(HC= z7O1`LmWceuZ0Io0(jzpSr>;rS>W?x`vcp>fVVJl1r4thU;2&FV>(dCwX&XK8S-%w< z9R&H4wYnRLSj%_btvh@R$#$Oo0`rfNf}|CtyFYe$!fDRQ{TCn#B2oP}ys`rt2n8pY zPr*hy=n`c2!FY)-Q6avwsaI|ld#8}B@=2^@?xy>AgA!eO(n7ietiyp6B?7 zzEjdImQZsbH{m6+$_l~!C_p?uVA-?$aetr2!i(>2oJ8*9svS$rL?LjaYe}8@!`*TQ zq#ig1wLj@;6j;-piPNt2DLzE!!*!-C3&;{_h7O&)YC#HO4{G<&N_9zob7B%}yt1NC zn%`Mm`%Yl-g?yhDxiV;rXh^>0f5my?!*A)t)TMO`3`(N+D9}1!YxNnLK)>@{8hpI5 zD`Qq^)g>Q(N6@}yx=%cj9sNvX@vp)=nn6ncK;7JEiZgd^P2j%)6VR%zgBZHuTvAw6 z>wG|E*}P>alWtK8B}_gAdu^xWy(?U(@8_IgZ{Dg_YfH_i| zcEU*ZONGosHYDv&Sy(wA_rub(!|ZW;oHgD9RV~OgubHzEy>?~?K2bePVezxt2%>;P z-?ra7<4n?x&FYaE?cEGI)-)$tD$5+muBu}U?sPHFKe+hV5?aCTUXV`J=9AHC=o-*Q zXUuT@-0>M!)m+!o+T(oHaeB!5lJUF^EcXIqSUNsvI7$4;|X#{w!e5pUJ_ zak1J+C*mxrK*L>l)}}XDmB5!T;U_ev;jCB9B2`6t)Wa`7=7pam>YPepUHy>E1}-i| zx=cTq2|P}#Ey5pcy4D8*2oic4dykynV%zxoUkQ#ZS%}$Wd?mL`_nI;G*TmEF^KJp z_vh{DE5H7`9RZOzAku0+?DJ`Ocwh zS7jB5f%YHF1(sTSKSuTtezZh?ey859@nDV}*wx8We3^(^>c;D^k{15Qf0gLJdBw#% zK4AOfnWngIHTLC=dT)#w{3rZBSpE+*HU0+;Htp>`-fzW8*#W`aU5e&a;9&m+kS-Mo literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Bold.eot b/css/fonts/roboto/Roboto-Bold.eot new file mode 100644 index 0000000000000000000000000000000000000000..b73776ee3bc194caa8f5839e96269516ed65cb55 GIT binary patch literal 20966 zcmY(qRa6{I&@DQ^;O-1M4DRj_+}+*XonXP;-CcsaYjAgW_uwH3p7Wh^@4wEyU2Csh zRb6ZMOTTn?^_eOFK=2=+|1%)qfAjwgC_wLj0T7^|at94K&<6ul!2j=5Ar#<07fKoZ z^W*w|s{b#e0Mr1^0JHz#@gD#H1c2Co>;SO%&u0W^0W1M-0C#}xe>tcBWY_@A|AF;C zV*_yh2Z8@`?Efd?_^%%C|EC51|0n?fV(QW=|992@$Aba5rvcdA0qi~ihAFJs%a{po zJ?%*weOI|aZ-{xf8>2O&v-s5i0B_yn!6#ruG-#rkGHVBzBv-GDY?owpEnz3@_Y$?Q%$O(1h*HrXz zcq%#WJ)Mo_*gK8o(hF~f%`&aEbByRA_tdHS{=U(nIT&6hng(X2>9}>YxE!qx%BSku z-TWH+6z$`5xj`=2z#j>!T%C~10^qot!A3eSkWI2~?kEEo1v?$ADbwUs*FiIpCDf$p5H?nI^n|qUmkX#iD z33;R5D;_O!&1g(9Qu^$2+ki{tR!3vAxi-U5!3hwg=d6JxE;W03&@95~wq%8pYkTp7 z-cD1-3UP@)RKt0_%RwWq0&;1^0X2XlZ8Y>^^GqUdB77tqO$z>>(lPQ@BerlX+}SnC zf^aaQo&pjD4*Jj_5ia6J9p0!i*c6bFp;zHm&Mbp!LY;t^fV^YG8_GM8GO$-Eg~5=G z*Yp*{_4gq~H7r}#iPVXG4vf8~rL2v_z^mp0^ovUfF_@dTr@pxvvj6odgm9{C)95K_+JQjl{N?phXzG56%$zV7nrh?I0*A6 z$f>j|8x0%OCJ#B;QKVtMky+>_hQYURS-AI9oqtBeA%3Pz&!lL zILBcqCRE7>AvOTPKp|8Ov*le#N6XfO;m8s{K=GlNnp#xDfSg^NB*F`m8*OD+Vj=%h z5lD^3LuwPt9v~fBoHf%F8l#n-hHud3u};e>1k)HM6^v&oO0*=o!&pjyvlOzzS;Q4Z zb4}TeTo|Lqw8z5~7?HaQJE1LC+ z+Ld+5v-FP9?Pud|enERnMTTeMU5@?3QNj=koFW?I`K$*$iUat>2!$+?SpaKOMXiAi z2$Xr4aYw{tQqcHYf&j>C5nVJ~PbqZ0auWjf(Vz%K8k)4EHe6&!2TX5l0wq<&SfYmj ziDDNG$BZzy{O3ODNb$%Y7G@J#VqQYpmUZ14Mu8|AE_PH}TJbnZ4k)+43(60T6bF*( zniqzqrFL6j2oiI`&-tG2$A0mc`n|iM_kNVSbR<}%IIsaTU<)&Od@Kc0Rn}S%L2w?? z9JJLCN5e>{hI3ILQ}sk3B~khe_-P2oXi7LvAQg3{k|h;%_WDhLuI`yYL1b+jh5AT9 zK?mrCAIB)hHx+lpHe3Dbjv*jCo-$!PX<3TQ#Fuoj1)^sH8AGV~c}kW)T;HaZpMKym z3EMm2r4+U|7$z0A7uIVkKc&7;?;aepSTk5YmXjvGOwQv35C<838Q`nfXUIo~Wv8ae6*M-Mcln$3iB(YnZShL&WUGxx67zyUMmkwkOemPQ zf4*?~WQ-8M_L)V8ev)z;u81){+5D8}Y6ABD7)i5{jmb92z(O9uqV=2^Jw>wr+sdU0 zW^4`+FqJb8>7*)C(PWbZe?mg$5ehJPAvrpjGO#qkZ88djIZP$=qZ-Q491{BQ7+i(q zqDn0m(D^@Ja6esQaPk%nVF($}k}r@vQ2ijzt3%FxhPbWd!Fqg(c1W0CL9GV89%EJG z1|=;bQN>jjb{~9vOHmR}h?F04Xu?8tOX~}fszG6u7d^0Hhi$kx6UMj)%wt8sAF1KO z(etgtSecWEk6M9;AN#_T1(M_8`EJ?+=Q)rZL5wpb`2BMr^fp$NSde$#v#`*$D4=8?6tMncLHk-P)>$e#g=D^yA-5aFs;()6 zb*pw|I?`G6Q?guuEuEt^=hbuBmM}?p_+Zl(PDKX7Z>Z;q$y~H

                                                                                                                            $uh}9|_)vlhC+}uEfuy+v4Ii* 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 Dx+ZcR literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Bold.ttf b/css/fonts/roboto/Roboto-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..68822caf2421c331497581f9b80e49401189b996 GIT binary patch literal 127744 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%0AmbY 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ⅅ%Qy$40*tT??~S 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ℜeN^a{BwUnis$8D! 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 z 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 nA6}7f$Qwz7U3eCvV(s;fI7whq`tub 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 IZdj~7U^(uNF8}}l literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Light.ttf b/css/fonts/roboto/Roboto-Light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..aa4534075781ca6567452f1ae8ed0d4f6cb453c7 GIT binary patch literal 126792 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 W3o|&$$Q&Ur?yQj~$$;1GV(+Q7+ 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 literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Medium.eot b/css/fonts/roboto/Roboto-Medium.eot new file mode 100644 index 0000000000000000000000000000000000000000..f9ad99566d1e19ef4cd8629304dd20243eeae278 GIT binary patch literal 21364 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

                                                                                                                            9AxHZ~IbT3h=$85=u+hltSGXC~N5kVn{GK7RUy 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 }9naMW3e6&}Zp3`W)R(pQk(M3v{RU3Vo5jL|>-6 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 H=d=F@iuu`M literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Medium.woff b/css/fonts/roboto/Roboto-Medium.woff new file mode 100644 index 0000000000000000000000000000000000000000..1186773fd0a88ef19e2d374f9740e0467c285c17 GIT binary patch literal 62980 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 W)JRRhj$au6(c?2O1cmssXa5HETy$pu literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Medium.woff2 b/css/fonts/roboto/Roboto-Medium.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..d10a59261f0413aba05f86ba90b86e93090afa1a GIT binary patch literal 50224 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 literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Regular.eot b/css/fonts/roboto/Roboto-Regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..9b5e8e4138917c9ca08e0004a0e8f509c40e7bcc GIT binary patch literal 21320 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 G5dQ-=cGtK7 literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Regular.woff b/css/fonts/roboto/Roboto-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..f823258a4e6e66ff781f4446303823f36201a2eb GIT binary patch literal 61736 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 z zdLOR8f2t(9?@DXZifpg=m1oK(D$cHq=WK&aKei3d=u5}58h1t>9V^*ZDGBSo)K<8s zHSD5uWWEGtq!cQflB=11(5hcP^i(Blx>-DwrS+wb+uVX`X>~%yHOy1sI})D23GU3D z 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 literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Regular.woff2 b/css/fonts/roboto/Roboto-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b7082ef310e9159bc75fcdc0c35de4df22d76878 GIT binary patch literal 49236 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

                                                                                                                            IzrzT?ijDYVI^ZDkHlQ<9n=p(c@aeaq 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 literal 0 HcmV?d00001 diff --git a/css/fonts/roboto/Roboto-Thin.eot b/css/fonts/roboto/Roboto-Thin.eot new file mode 100644 index 0000000000000000000000000000000000000000..2284a3b3efbfce6ceaf6288f38089f888d69bd23 GIT binary patch literal 21659 zcmZ^KWmFtN)9x-Tu(&&cg~fe=;O-vW-Q6KTfGqCr?i$>J26uNSxRVeF5+KRV`+oPw zcg{U``c!q*Q&rD&&#yT%)wx;#0G%cPfbegC0RQ^}0-pc5Ab_&kcLczmAq1cX`M=>p zAmE<~d?$E%TK9jU|1}W-Gytvui+|$vPaps-fE~ad;PNj6>tDngU<>dDI04K79{-S5 zfX+X}1K{~D!}VVd1ONlD{}axC0|wyvCqn-)uK#-6|FymTvD*Br_Wm#X|1f*~%V7lg z{L5ko2>h%14+9T?4Pg1t`wtJ(zc|~!dqM#G|Ft~+>9_wP|3T&c>HqNmkLUZ(`%mqE zBJclcnt!X614#dy|AScmSKItsH~s%-kC6XohX8=2rkvXUdOZI%5di^U08bZyrysxx z!kamd8TU2Nov<@>SN!NpW7*}wYRf9~NdJf=6|zk>{3Yh$=W80cLA>ajUR6J-K1pwN z#b_9srNe;wH+T0X+*DVz??$wOLsFs@zFm&-uUj+|w8OVWeq7nX6LHgUHpFduoCzpW;%RKc-2WiJ!E-@{fU zW<<`Z`-3jMsZ(g)NVr{i2wv%Le?6{IGbzL)P3z=!z5AR364DzVEz8CF)oB+%E>%V# z4E>&OgUO1K)br+(pvyh@glQ02Gn6nzWrHy42cvoacXfd$Zga0l2q$N>?-zOtcEq1y z3d_&D>DZH)Pn>fh;5cLl_NGb1YlL6L=)$x!wWo;{5X zkxFz3?GMfoSKK^viW1LQ?%Bj<-)%_zcdTCVmkBdT^tddWTR^EN(%T726-={ZIMg!? zVD}47&RLg5bL=yq;Dn>VCTGPBBYcW0`GT6Yk~d2fhxND5(7({=_mA+gHI83{r|9X= z2rq0>hC_~YmF}J;kG$UGv?v7KSUE3s9y*2C%652nC_wnxW|l}-5|1w&lBDpOSV}Zs z=}-6N&XWY)itn$}!Z0kD1R2C?0o-#!7L=!Hy>^2ot>Y5OB}JezA?$6yc9U`X|LjK7 z5n8}ZlO)3uXpROU-ylbf-dqc8dda5n;U8obLbNbJlGx>h7khX)F7n_zMdoBeA9eU! zRPY@`q_8aIC%-hP8d=_2cwdYsm4Ce410G3E6AG`)ubRP2(;1y)!~5%}o5*9`{+qBK zf2P4jkOjY_886j5zl%PWfxiog>wG*3>{!mRJ3yJz*Nyly`)KP8aNx8ZIoGZ=On0Jb zj}eWHN8@?{56Jnm1s9+uIR-S-r)CNHE;%O|GZ_U24K~+`1H#bO2~uHUUa&>+69aJH zZjKe=$M$G>;!~Ie;4{0aXA+|L@uL8ct6tX&d zkRR=^m*_C)xw*c~Y+e@*( zoj{teG%D;r3a(r>gTR(YxiQ@1CfHy85WI@Wkr4>t`fa_yuSRJM;KGwCaVs`?1K=W) zDngK!^#a+yA?idT%3aCX-^#>t;kR__IDnGZ1XYdC`oie)pfW4`if)X48rkD&oN6$& z*W%yOgQAWFpj_4~T2z%6QVh>+mncidAJ3(6xu zDY-;PN)|7}$58A)0N?!wJc&sm*wp)h$9dmj`=r`tSw4|_)6)~-WXLU4n{+PUsjEWwR^KVG)!Q7$a~r-X zw^#b7-!=H4Rt(^PU&4HTwQX7r*o027RtF~_2j1H2q6HZ&$>rKHTXMR~e5`&T#O!2| zpk#yIXyU5b_q-#hfFEdOR->?M8W6_6zq(*Ru%=WKyi!%qZxR0bW@+INVYeR!cqqcP zu4

                                                                                                                            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≫L}7foL|{oU!;W^iZN&+wYjHDmXT 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

                                                                                                                            $(!at=3<`mujoM2yp_khnd z@F;^m=Pqocp0x;3S_sS$0!!f_{+uaX%g)ta0uENzJuo?N3xIb~2K_CcYYg8qe#3-9 zqwFTfaiPCuKK>Z!pd0AmSv?&X{kO@9X|l3M0Lq(zt_O}G*zbQtFWOWcjBq0NY;g7O zgfL29db*xzJhLnvh688;&X|%dF!pXl${{ihm_Eok8CEXQavJs|l@L=UPI}`Qd0iXa=%{Y#G0a`M-LZAVlH$nphD>*>}Mr-DM=lzZ_J;H2@ zMf`n(^@v5x)vIKTL5|}e7WVq-u-Xhfm~6SEC$M~Y7=D41zRW+2ssz>p??5~`2{_IO zmKUSC*?@_dtSC1gP+@AUB&`t*>vN+!%MxvE6U#cIa@RLTFrmf$Nr~X!!Gsnq5H7@L zZgD+Fy4BLy8lA2tR;unk0!ETsT+P;o@bHGMHFsVM?LQCx%%DLR;zmrgMX$G=+<*!F zy_Lj?sa~F`X)e;)_@3^~TwcR~S-2}Mt}B<=hr4y;0@y)y`+;_qTV#3U!T}Xr;sacD z`G%U%(3%b9cU}`(h0N=~k0n@$(Mo1+60yQMg_g)BQ7I1RpPED`J=d-=D3#p0=PsjR z&=$Uv`*mU$fI0Z~_P3ISV4qeIIx%v|duw1#VaN2W(-Xx`3CN14ale`rvE&q~58TRM zgcGrIz@4F4gO~xMI@TDxb%2`#LIp_-K~g*Ls>2 zc!?0Na60V%WPX6i0f|SVuMm72b)0{L;Ximmi=}ZS5bqV-!ryRrBhgaGkDyHn!~dwN zB6CgR$WuQ+!7~JJ2_jj0LRo;xg2E^$%;Hn#s}oxEMmTyy!_7r+J_gAf)&ph~erPp@ zZQw<;4ZtfxS+{||JPCtmBWS-!oCQzNkO-}V(-H{FLi-@jG^9!+O}k)d=nH%TjKOq$ zJ8>Ab1Of&dTB~pI_%c&_-vc@PF=(%VScURPODRLMjg>&V(G0W$S&~Md5;|~%Ukdx@ zd;0djh!>ES8@eHMMZ>M0=m(f2#3UA_C$ZWAlAk!sLRFJg)BcDI6p<;c;0uT*aai5D zv-$upr~P=JN5K`3W&Da)mR(_9g4p|h)HmY~p&fS9?a<2FwZ(FLiHnjKudU@5p_PSw zDN-&KKP64+E94h}?s&Tg>=ZCB&<2_air&J0L8^8|op=TAj z!QbA0M9|9l+Z9|YaSSCRBgl%93K*9_qT8{VXw#jeIbt{h|32X zzUj0LVx?iDH~60W3xX)ISOTt#usW^rS&#s1OyKjc`w!0z3vGI!143x$w4YuS@15G7 z{NV0_O&8nqn6w~UZzjfhmNX+Sz(rG)kViCUQT-=-7JZ?|tm}2=iM<8EOi0!G3Zt^T zVq?A1#!KZPiwgBL3pe+V&I(YZsN4bz7iJ1tb86HGb%$~8hW^w^0ziY5e2@MZUFq-F z9il*(=*`ZiO%?tm1qA;O&E~ zx$l0srzz2mZ+%OBYz%NreLU{@J3)@~3XD;X*X5bQ9K%^k!1lpjVh5H!kN~H8trNm9 z17s*gR1<&!(R;E?iam!uAWnyfN=6awduwa=&efpt^GMUa_Z~6m@a&wGr>d$>t;`v> z$Xb4?rsmZ0EW)D^vFg#6K{pD1eU zI^I`1R#ZesC)Gqa1zQA^<=!HoYA6f(LHz=L=%CAovIMx=B(t}t3JP4ysK1p~B)9~d z&ouLOvG(%vvgTh4=T~XI+_w+ESea%i4y0$A&Cx2ydl4N0u|QVd?xx?AM8k-g8T7YA zX-oEwDYG|Ke~Yg`ARaiT8@0Ii)!&MzBjs--VfCwj43AC2{B?q#>5KPh*WIT&)1gvO zrV5(`&LHjLr%yiB-P1LV8bivPC!t-N?>N@o*B^-j`SpgR)yxk3qw5G391(UiAv?mc z1}sAY42Hz>5?uWR^U!2*k{rWWz+nn8ag3V^>^R_yPSDGs7Xiwo|4qc)h({bH>))+e&;&-F>u& zd$H%}WLf!W4~`*snDEA}HQb9e5ZZ`b5u~;88pn{U4+7>WLKSn|m2sZd&O!MxUakRQ z0j}T9aF+Ty*EdO-04Zn}Vb=CRjG1xqSHPcZM4eN{$sl8ssk~#Hj9MXbBoll!ZT{yt z?GS|U8X}YzP6*}j8AS0QlWZQS7t)0r%kMWz+`mnuM5hwDo#*eA;}IsG86w8>yiuT^ zxI&oRL)P~kqMLUO5%7HBEF`%OD-UedNCol5z_uu!LQRv7ACoS@tLItFpJVWEf8=x| zIjUASH~;qkJR%8ggfkMbA2T6G4y$h?c3?_}|AS@qk*r zawY%L|L5=om=gW~#3#Q(&ikOJhWNk01xUsoSeFwg8nXW@@f&Ra#nq`KmRFuXXgPg5BHo@)#^*Wew%W7l2#D5!Gzhn;i z{uq3pZunkKQW0{0@`|k$C(c>29t>^M_`UpP2`fGgd%8aNUx#S9Xt(Gzyn6RM*iF4- zlmJX~b&qGJzV%1$+@s_*u1r>FXcp_*J>9{_#l;(f0sh^U%?b(4W?g$M9DQ7z;Z~|} zhdgAsGo8OW z-+hPs?e07L7kA$gJKueW{{!U!O-$q8lqjn($JE0LD`NmNTeY>D#thj^FiJ|~-yQ!P^Uo$Df0Lf3=stQHqEG$*=xN~a>19;Z1BB|(q4B3DX=%tFO7Kxt zzd?~Iypv$%A~(dM9TR6@W~+ak}+^M^Ac>9z^+L5A+L%% z!&x$vFC$)v0B&*y%_satuq&&@rv%<+c#=|c#~571=xuq1=U(K$7JL~2>jByv!rtyc zJ_^bP!N2jl{x^0O*##!o4rkYFt_jUrd%o>E!RL{CUc2i3{mkHkj{Hz%(fX6cYcDN| z80U$YPTFxBL7p!?#@|rBJ&1JR;leURp+Gu8Ox`CtU)Yd?-1EmeX4foEbH!Bh@X0#8 zA)GG{ZauarY{|kpJ3pI(w%)L|?N$EV`%oy9e;LN)DAWaK3Udr51t^dFC*aLMa0jTm zANEM*zH4FuRdJr}N1!C)l$dDKPzL3ALG zA8KSzu<(BuiUt)Y*n6=Rq?>gxL=Tz4|Ac z9Q%KV+mg8<{CF}1^Nj%F=Q8j)&X4oazfWv!1fwwZeSGX?7SuS;-D!ZPnMr1N=+7n4 zquhe}XA+Ht5PySE4Ga+AC#jloL+YYw_y}`zl|FruzFyGRi}ymkQ{DrOHlD+~=uODU z=tl_PuQwy>-#g3yX7&oyCxiaphnmPJ&@a9>m7WYfpj6Vm2LbF00 zQz(j5K|T4%y=dwY(sIfISKXVa^soz(m*{KI!(9PneG-N*CxB3579nw4@tzMx#{=6WdM=C4>|Yrn3#1LF)Fs z^^N(%8x$FBI^En1zm_WHyjbqt(UH(}rL#wLu_~fC(rv~ZXLo7g_N)C>O(#cEn3$g3 zWi_o&tO7@x3WRM?D;ZETHZC1*jlioOBdO?F%Jk0iLChp z5`z6B*a}!vWWyoxWrT$flaHR}%g`YPy~76>!GH_FqldZqJRu_i5Qs$1V7n)JPOyQK zGVXZ4mOqa#!;is=PXl-p?9@g(zCM={!4gu$k`F6e@UxtXD8zseK?mI@g=|ofVD!On*@Ahl|U^EzB9a)I0dfXvX-osNt8_j{P;u&7-huBe#osDR$8l^Sd8k zq_ZvD^Ulb%>H9bKF1Jvv{QE=T*74bf=4+i7#`5wK{oOTzbEqU`@6~NZMcZGU2ko*1 zELsB4x@K=j1{K&^{sGxj za&y-<>nx`0lc+dat?DgppVfS9F#cY-RPcHsk4kLU&SE{k1RA4>@4-F!C0J;MtqhR6 zuCY`3B@c-=KE!d!l;j=^Q@^#rwg!6||1au!pmTCAbffI-A^5Oq|1~r0maw|7lf{T; z%Glhl6swvgsgQDrY{E2pgJsX5*RpW3Sk-o@PnMmZm&{liw&ERC0Z7>OEYS~8JmB8b z1w1p*mEI02ggQ6GvH~YA=nz5f?^xxoaKEu9u}wR` z4rVV{L-eKm;dcO9i%JHKQNN5j%eN@Br6W9-Bj6#{xSZp_)G%# z<`?f0IJ&asp-v+hy>(|zAdA%yQwOkEeV{AV=>1zjwPM_u1%Kze>!h9?e}`(McsGlV zlM7;|R2$j8yD}MEEEBjtX}TY6BcAwBYe(*CeKzDa2nVT#_#(Hr03AS#4D2I1354#0 zu8yXNBxqMK`EDJ|Da;Y%iv1USCr4LrZ@)c6zJ;R>nWGpG_+NnW5wO7sxRcC)F(>{X zgliC1Lakx=l0K4{Z^4;9G>;$a+D{Vm?eC&|@tT`CM!yrz5}#Y|c9q6&tIB>X##Y zW>?9xB_&T))NZT}X6|gm;O(y@ff7fs`=`PxF`U;S^n-vyCxWp6+9$1$7-J-;yn_Uo z$OOLvPG(4sQU)21+_eR&0!TB2vBFjD><_A+xm$`GSI==ssacppCW)eFsfvb*No)iX zEg^HTJjNPhJrvGeogIQ7x~0qQ%k)M`OP}g#xY~f~t~RfKb4>znSrDA7^&p_Q@sQe_ zFoK1%Bk(w%_zIP!I|*|q3cdZ6_&khhEPN2Ggn)6>r>cfsRZrdE-lcCkIGYHAOajMx zO28oz{}&v(@-AGy^jat|7k)Qt{(jsyyEi?iAlzQ6EezK-=EnFrAnflJG1Cd$-*8OV zo~oFpR0V}rrwkMZvqz4^cV_xAkDp2$s!y0XJEpiZx-_yO*%$dHR(C9nYIwaNw7#)f z+5g(s0_>H&*uZxKZhu9;1vD51J1ik5{jeJ*pR^02nad~Qd3(y_`lBWZ2H}eE(b@i~ z>NGG0VJuhZ$bd)IFHP2#L_$F6m7n74Nge6(prXZD{7ng(QMtJxyuKT+FCeJ7>#jLZpAmLazoY-H0>$VDnh;!s|eDFC@5~eqGC&{ zN>RQvUk>P+qxW1YiqZ{rw2WKz6937CDkk>?n)L!E`CjF)KK=pY6bKEISX(-C0$Ap&A8OSJ#I0pYDyoq-BJTkm%3Adp?A50ago|YZKu^V5`T7|6d(PqCIf#Sq0}gm;)jS z8sblwOon>v)MO@r&kejXnw2&B%0ScJNITuel6mJA>vW6H&8y$p%mU-I*VwpXoH=~h zuIkaxRwBvD&mOIkNh4&QrMs`q=YQ>cV|OWH8#kAgJy}}vL`BcxE>;--Rj~KJ1TrbK z1LE_rz+?{da7>(0wlGbGX3k=#TOk}#zb3o$Xm4ah*MXL@WeUfjg-MMY zEBr$ncF0gbY7G-H7@=99&0ClwFWG*%-LL)fwh|XF^7rKi>j@`pR{zMp{x zh|H-!_mGs~Mlv)l5S+w)K#y>rAgOV4A!I;!U3A-)B4ELO6sRkhTc6x_F~FSbpsqzg z`(XPu)OFAKM%O{-ww}*$k1S9L)2*jCTMIJX>+*!kXt4@%xe1kN=kBVmxln_GYiepj z7o6@hQaBQ=1DXFS%yTT+S${wFi$Rbe_B9CpLXvRcbq7yo_UHJfZ@4np^2~-jCVA*^ z&EhBf)NKD#OP_jb==qVjxRGZUwx5A)Z2oCY{mXQN*S6)MWgDOLuuUjwji}vPuT-~e zugqOq77|tl&L(|%5PBtNxRl&r>(=C^4pc$D1*T=E5Lav;ew$uJnTe9n>JLO2Z^V)~ z?H%}S@uP4r8LhtEDiSp{K}X2_OyIQy>Ldp%V%BX3h|Lw31w$%oq&JCvl2{8qaL`{N z!INhrFir=V{d9)@m2gE@wN@twZxix-COs_r8{i_%VSG#*#NYIcR=nH5L!n~wZ1C+g z(F>w4$g`~J*%$QBHW(gV25oDAGJk|JlTkB@6^SmAU!=`7^d@u!+UA3rZh;yKHHpsY z`$7++E%3Y#YK8~R;P;d87nAx>t56@D>L+T1Y+1y69qgfox{u%0gb`y~2)z*=)74<0beKksTrqhLLuY-TIk32fS!66_@ zE{_Uupu`?pe~9U)^+@v2_&GZIX*^)e&fmTX*~42wHn#GCu@PCJL&BKBecH)%U#`DT zzNg@11k?a|Ow9U$?iC*Z@w{u)VuS2On4t0diB?Vpgp0{~g*7sv z_L=&OjT|{pP4eW1$iU3#V9VKI5CS!-F(Q-;9 zwgr8Xh=tMYB>h`XDg>I)fy(tU@#7HA0kqwCzwrDJUXMQ)KO@9yGR1c`!kdL)O-IZX zYb)YA(iJL?7)Y>H5+6K+6`$FcS?ZZSKNq51V+e!hEYswLa-ULg5{35G!`dM^zQAJu z$s9~czJdYFrj(PPDW*jd)Y(CX-{W_R@5uHge)}!S)mP1?B>XaigW4tuYC~UaGbR1n z#=fThvH7l~Uq7l}gC@afybkAe5*M4C1wo4=EYEw`e8l(9ZHO2YVLZU`9HNYFsys(s zy=U4(T*-m!aO}K&cm4{x^i_yLz=&TTD@9b5$DA^hNOj( zB+hOTxysPg5CYkHZ_H?R-e{y7o1^qkQMm?JtSolXwPx|(!kN@7CnhJ)E_T7;rc_sVm4_QH zEFG;456JCLl~!LkwME&OzOg$22P-!|bST|p)ySg{>F44iF!E*Mi$KjJ>OP@j*j@g} zSOaq*3P4bSm@Va=!wK9&|1+5k{|z(#HOo@=47$SL{{Nj>=GI1W+D$Nu-8?T&hOz4c zYn>L>+YDj>LzE{)8sI{_4)wM*2!TQ$3_r*wo;j1qa=#o?A440&8IW}N68MBV@hbE> z_fPaGFGZh1KcT#>AdiiKyz5T9#=M2~AmsMY11V%yU{-*6K@gw@P8>mqwkmw4K4ta% zngnk}YJJ~GT=ThAS)7R7kX3cQl;4y-8iD7i)>f&aeAAj1Z_LcxxVS0JH*eF+eZl80vaed=|cYMWn?K2+v3j z&wxw<|FEbHctn`^CdBE9g|P)L=HLSgX~GFWz9Dhx(L`zuVVO>{Gm#BAh{A~(D>{m0 zW(j?dG==3Q$GE%BR_Apj&ON_2D`okUovi@bOk8}rt$ts7M8w>^^{oecv@>Gb_E5Z6 zOtJDfqD~dhau0G-SOxpJR=&c&{P&d6f1j#NTM3TS#DkhiUGy-V5*}WZTKDK*`$N4O z%D{&k_Jwo&_p}aZ!VEruL`5VdTE~ok!ce39_mXwL^-C@a&qeS*&>P@6u%}Fk*?NsT zPn+F3i3_+B5VQ4%@i3f%6UM(_{3*yENn*B+Ul+=F1iwxF1LR-W2gxd-{z0;P;kOym z4j4!37?cmP9l?)+SwuzhPoj;gFf^#)RpH+aJ@W4dAEaLd3_o56uRtjqZr_+@1N0XP zc03Sk4P20xTZ)MUWMqc4L$p}1BpP_4L}eFlh!;(~vVb|#b}HK-37IRqX*Mx^M_V&S zTJoX;EG_+`^O{F8+K%+c#Pl6$%@}UUi-EfVG5IYc8Lf~_oC&MnQ6JY?k)~ES&#(_p zZ(CQ~u%jXD*Du2wb~F~PYfTTapW)&gky_EIYuMfphQ;ldw-$%yG|g@Fl{d9D=Y$q- zz1$wseu>;{oZIB<3*V5Nm)eU@tSbUBro1FUf&5T%$C8fJ!gVK0N=~jTOob20a8r>0 zUnlw%tvdm6F>lvGtp7Z~G6BE{WNH$CRi9!44#OlDqA6j(cas9GPs$xoYI1cG2b!`7 z-24j+GthP;8m6tOkKjxh4^k1BlNcaxHy~G3|Xu7S->{%{0GjbE-5;HAqoMz2-wVQ!* z6Zz-v_%im6F9rJBD%wT8OYhU$6#;SsI1BKel-W3tsK%6xdYAkDK=9U|k?pIz7rF_T zXgdGitLO)Gj{m|D(G03(kc%VFG5mu9U&sI^x|3cnY61>e7AuO41Fo_9_E9bbcu$)M zgKc9od?yoCn!bC53x)Aa0OGv}v@RCV9t1C7PNT1s=pbLA3mLh+SWZT@GOcmE`9f%l;Fz zEia;lq*!4bcHUMYYtejCySM55g{(t-ygfY_aHsc|hF0ma;ZbO79JF=5fRU3CYvLq9 z2OJGdf)03mS}FPGo(s$$NRL^QIL%ERnHUh=kmQ5h_|I@G_&!kVs=Se+KqqPVOgl?6 zdFtGRRe&yl#sbQyh@WTnmG~5#t-L@!O%SDtazsU<3K+XKz|_tY^+SfUC8AZLb)qrR z7SRqEg9l8j-L%ZHosB7XBZ4%sp8Aa+qyZt8J?wIVkmN&bmqdjP8?PN0mWh8TagMa} zwDX4JB!J891O+!Jh;4}3*zkiUUE3(bKs^iD{S1;H85HkH*HpMHsz4cD80Fy+S*TRP z-}vY1=K1-Bg|}AlE7EkaX=!n>snjzS08#TT>8MnPD45?a_gohHzS8w;2U1-Ye}kB= z@rotk%Fs~pTgV>VM(nr>WQ#2(uAi&y*F;v1|EEXzXXeo*{6p`A=4hl+O-^WcNG`d^ z4dI{0-l>^B(X(eJ1!iWUl*Fv8#BTBnW%H|iV*(s=^MeDJfbrLm_G(YhRsM>^9l6dw zdUQVj`O)zwj|Rwnf-sdfU-dpT+`O4;4T8GD^DPkd! zwVSRn$wlroBQ`ud)7i;i85dH13GT(rMiK(&PYa-Nr2|PX zfgs>LiqHAA;M%nUd?@vi81bb~o_PjkT!Zzwg#HtLM=}g+$7y0sOxXP(Qoa(uqkxnk zNnKeA)>%`TpsUonoXI}}fV;5#NSQ1$Kg=^G$YoA&w1>@SWX&VdM*44}|AGw*_yf_i zLDB~BdD`gZ5a8gA`hreJP_rO{$dN&5WtKs}G z%iprMM@9TGdh}K=+JMJm$(AnyXcqMvyl)G9(rv zJKG}WHj%I&5zQNm_Xgg}HuM z%iZ#Vl)GW&i3(=HqCvtAp}&K-zXx&xSrR_zwI@c|;ZAHd+3;v=k=(n#y5-0Moo>O= zmg;@I$rg<5<;Tjmw`w9m&m z1cO?MB^o-~eO6-I=F0ZRN0JkUPPR1d?~FBP%)=|z*HrIm*FsR@x{SruF|%NEI=$2` zEWj;o&4s=*J?B@XLN?=Mwkb0xuK!@&g`|JA&dk>LYiCIHQ z`!nN^7mTuFun+ekJqq#F;hYH1zYf0;JP)!b*{c991Oou~({F!IdB7Fu^^9ADV5^5c z0>}>EU{zJiGV|BfG0efeF`YR<^yv6YdCST}6a`C))@@N_b|p@<#|z3KtANCl1e>!y z2iYT+80J;PXK;VRMJc%Y6rT;PYI+8J%KgR-n%<>q;9W8B3NmBLPw@zs2A(}|kF*`; zM;ry$fD^PaC&x8_PI)35`1>>B5TD5)9^%4d1kc~PLThjJVsGqv>jgTR`zQC&L>Y8A zT*Dm8Oeaq|oEiTNM$3(%mABr2x8I^efHvpB9DBnY3wcnd>K3N@N73H#i%z$2DAcVSH$ncRoqA{_|04;z6r54Rj!1aBT|(XR^%S|aF#M5K#) z(=2cTSpEh^Ap4X-8ya>shle-qZs3ohqRLf;zP^R4D&hK{yc0bdR<X@#clof(Q}^Z_%VdvlH5 zJNlFMHShNw{#Or4I}X9xH-kRv<7EhEE`!?3415*PL_hIrzK}ti%6E1~`KLE(QCb9N ziI!#$3bVox->7UEk9y9Z*PHJgEJdcaqXE3pqo6P?bl!)!46K?2?*&% z%$7+%MARf8%1;5QP+NRUH@DX8o*NOP4^KCy*Cftm3dX9som+|*=9 z59^h?qNbob-qllAM(7)+hx!)AgPcKy(SWnzw|peSYpDys;EvHndi&ab=+7_k9NFoN zo;h~}Q=op)&EH>MvATN7?Jw z9{7IH6qGs5bnb++=Pypq=m9Ms5X}cfuFcH_Y+x@u0{;-nj1I9^$lQq_?*cpv4vKJC z1^;;Xr9_8coG&PIp2F`zKXTxmYw!;61Hy9%97$%kj|v%I zL0NONNSMDMTEX~1`6Tz>_tet=4?m!mD(kmYS8Z*8C{A0dtG6_SGkyibMMc8}3co_~ zH(!B1?R$D8K7QoszBh~)bp3(em>39z{+GIk=j(LyAFhLT9)<=K(3^-p9{9Ex@;2iF z1_CZUJe^Klq+KuczZv?n7uxr`GMyO+Cws@gMJJ<5B3yRw&RbmQ&oB*}%W_s$tAa9W z!uXZ=4JCRix}`kVXJA7>*4&unCDp87PG1JoKDSNDFM+C{Jryt(>!2>so`81Cz>w~i z9}P~~f*r=FW!1yJP+w!=veH2B%z-?TB7})<9nC3RTLUMCQuW9NZOg{O^c{m4jJkex zcFvNbKy}0V{6^d%Pbdjvs*@DniS^N`3krh#Ay`g8ULrf&bxT*)!UBKag5lzrmJC1d z#KxG!x)@iOvlJMU4+NTkUBj4vlX%X`tjzGQ*RM0&D%>5*9l(lI)WPys5d%>D@lWv= zVBH}7d>Hz<7v2XXoeNQAQ+hL#kx_tUo1FhmQvLJEc$9lE!ir5P4k_F`H`2dqYm08U zCCQ96V~aYXPCpP>JdzhtoTvuS0}fX6x*5*)mSI(E3JXSCH1eEunkVK%$78G6}+B3}p!U&DmppR77BZL2VIOe$^FmXFqk zF_3ztWJgDI)xp0HzpL%4(9MKxJu9_8FHn)cnBK$0E`J$<0tGs2o7d+SY-x{*?ATSg z9$)t z1g1raN`!GFvZYo8M{2U00?NoZjD#Og%3(qo4oSwoO!?gJ8C@J6*^uh1>)Bacy1OUV z7wmH3MbRGGru8}5>sz$e5p^rmGgsEC)paYg(pS`}!S!ZALehfbu(0BR3< z1Sp$XYHL{xK&BfK*nwX@GA8vEQSJM|1N6ZX{FfW-y#lZpj3w<-zy|lnTIm{)t zeJrbBXLnpw--)gTqn{rrV$iC9q#{5_>}pg3Mk`Ubs44>5RdxGkJOF3BnF2CFID7%2 zFyz=dRd&GxYnP9VZCJW&y~+iwkHi4!0v1bRkVMIkoId@?YVu1AIj4Pn(^_?#V_VY| ziuBf4SR>0}J|6=ct)4ec&MB|YC{M;{EBz^cS<-mF^O+oucKBs^N=sZ^Yl@t4WQt=V zi&&>2-5Idw1!b~sZfs_dOd9~{^|aC_-qo+o9O&O-=pQIg?#F|SffOdOAYrkB*1|HG z%~!iRhGvEbW=6lU`J!NU7I^H{~fA&*-AC<{q!uQdKfK<`fVi^N0#` zcJz;thvr7OyQ*`;BkCP&8&Xtx5pFIKg<9XZ5a){Az!+Z}Vco*P4nIcO!F~k1#~Y6J z!~s)o;5}|zx2pJ3gbqaVt*9=53%zztiWS_y(1*#;9TDi-@j7@HED8p`a|fc;#CL>4 zyV>Sobb;^mcBqNg)Tj88gMUy-N{E=DJ=tX6uBP5LZ#KZo8tp_&l>C>o+&y%a8g)&Q zFIc11elY>|UCrfP=CkZ)!aU7|dY4nKpvi+B-pFh2sQP}q#(qZnNR5V;_GL!b=w#mU zRhsDLGzG!ZZuCyl`dN5H<%b5RtL8YXvMJXvzk($NLD7n&Y9^vS#m_IJB_;<_1E~4) zc3xqwk>F=4^NP#~49L`gx{ZuS9E{~s7>@})gO~CnYP5vAg=6r~+;sdom~<%-p^4Q% z6Ee`cq{53J-A-mRfR;hVWjTeb+{JZpSAK##Hpn?3qgfl-nh{W&m5}F~SjDo{Nxp7g z(FGx)ko?3msxT}B{yIq28U6w3th>89J_@KUZExZ#$f0B6}LlwTuB5i zmM{>(z9b|XfQ5V)YZ0h{aF&nDmKG?GbRaXbCf>^jU5#gnuQ4o} zb(^Eg^bILqloqb@Ppbh*F*D%Mw)Cn!olzlZnzJ9{;5-hd+P z_`fuJCu##N6|!<&9h49G4e9MTNb)dTIS3pJc!Jp^Z4_C_({n>?>yU0 z(ict54T+!hNotIZZA$V{Ij9PvH2L99|E?+Wi_4LlMK-1=+?0vF;xmEijGG&i9w^oL zJ30GDNUcgG{z~u%Hutyo3YU2)J*+9v7(o4p=~wYt$p)w&&gI6lA-IZRpb3Es0fT)n@N&X?xH==5y6Cj%MZy=P$LrAc( zBT*N>7cBs-6liAvKdIlZP4U*rUMBz9DcH-N3~o@A&1{=+xtoU-W$zW_XzQej*2!dH z9#*ciLS{PIyE;=cEu(aX?t^dbCHf2exJkc9w0o>lOq6tw6YbuwIsA>7M^fo8o_Xez z>T85H%J?+uW3X}QM8%>GXtbvrDC2}dl7s#fC>{d+fW6-^Yz34ci@3MiS9c*A56M~Nmcs#N+FT&fnV1AZgUYsvYg+b;^B-Pc#qCatm2f{cD(6a_UmwPR*%{fazemc^{$+Bj=XWJz`8_{YR|AbFrN zdZwAPZ$x^PhWHbpjX68}QcUR;6Z-ZPq3zsf+!xrKI11?c9;_Y+Y-y@W_BZ5Mggni( z1=zNHh(#CKLBJsg`@1aPN)2*D4ndS$bq5)OdP3jAbKFtCs`iBm11lihUMq=blezZ7 zylFE35PR*G(SG+KW3*CVHp&hZ)Zw=6CkJB1XH@Rml#19M{$D%%=3OKi1uxF?>pZ_Y zoia1ibk%0NFyjf8N0(+~EQOSU`5QXYt;Ock==3Fz6cfI5>Go~fK>b@&(jys_4y)V7MC!$RQhnfTb{2t$gk8=g$Gof`` zYVU!%-+EX81UC zVf0NhZ-HHsK)`xmA{wtoAMrNaSwh#OzD4({Z~9DznSp=E9lu2>a|O3$0prd2bKc~= z6R^fw!8S0ZK9L*4*y35KpqGeF!FJpYiQ~8u{TsBLZ;8N$u?M5pshf9zUQDa z*o7t%5d#~1<8@$zKLTQMmP{4rAy$>fdN~C~dI&smZY5=5?P}-jVKa@j@ld*ZhDxoe z07Ln}S2siX9)|M0mG|9Dgh~*O{LgfaLxjNNSbAh7^zktfSILvSrnTm8G@+^%jX2_vzu9euKW z{6Xqr@!(wkSN=JE@t5W0*HAl3Lb4Hq4*LkKm8*a&1KwiX2@Nb87>%cXIRLXaVl;^| z{c7r}i~R$yY|PHt^y)zWlOt&s%=D;^N9J`sF_M%xe6FkZ=;9PU9{q^DM&I3-QhDsg z#_!gB{zzGD*RJB^<@MV99e-N%{nGdM6|;-3jHR>Cmu1j~cLXe%!S(@e003VSf}z~i z1~7iSV_C5BY{#m8v>!E5+HO!Zy|(aAtVqs zRFNWJ1FSzp2_=9cMFd4f?1+ekA_6J~6vY^1g$UTm-v4*XZk8hO-t*`4_kSjzvvcpc z=bkxp=FFLLr}Pi)I_|FGArqfpFd)DZ(ABmkXZoJSJ$o+RGyTJF8<5v0KRdN!!P~^V zynXh|Ywj8z)oJQ8lSVC{5I64m3rpgcTzY=oNBr9r;x>6AZZ*z~@h_??-cyD~w3(fG1j z`t-Hq9yq&cM8=9w=FNI-VY-jSw{zj*iHFNCE%)dfC==Buc-|I>R73_QJu9gm?G4X08)D&J!eD)L+>~Z{9 zOh-PmY}TN*))#+T61nse*Vv_{Qa0{0N@4d^->k%>CZ2EZU#<3$IZG~V&(7X{VF~tY z?Kc19y5Ymuot$slHg2cGK!!Mso#U`l`_)mKzhByM$=S`Lc$r#*#HY&f6z4c!s>Sgj zxx1m>_2roNA%N&_>%saO_i;YnQoQ2htr_Eddhq23X>x2rW1q%-=8VXAB(IYtdB)RO zV;>nEHg>eblle9xKSmDhk#Kv*@x9vcMZN=;O-hI!HY+uA(-22@o>rm-IM%U~kcWE{ zJ~YY~*NR5g6^%gb5yWyYSFqlW4l`e$mz1&Wz|0Bnj<1&SZub1Q=Ov`gc_zD;KFAX9 zXhssJZOFNE&!Uv5=r%2)(&lW=%6mL341>=+&pSC@)Yl*`SAUsTKWeOweg4inIQD_{ zO~3pCtJx*S!d2P?158ir&4xqHY{wdQNnd>Z{_+*Faz%M8A3!fuw(pU)yC}1`AinFu z*QbtuZ+PAAuT09>I6blLsHG!E&FG7XL+@h8yUMKtIw#HAI-zjyBN>+XuxK2O@?6e< z$858Lgex;&+?g^c`51p0Cv z)n`^`k5ug}$HkS4bFUaIIxzm(J5%com@qeW^r}gnx=bks<_+CS}qPabr9v-0ae|vsn@A*#;9vg!vej;>67r?>1N-D3i{mp;<)UW z?(5h0z8AB{y>xG1OV^p}hYwpfGc9e_`e7s1&P=5(mwfV2_wEmUvZS5!!hhCl^AZ#1 zy*8`gEZ9xbyw_(TFR`AN6{CDr_4QeC<%6-*dihf}&b0KmDW(}hpPMiT_ID8R8Kz}_rEb^ZlM+X-n%uEn#Hjm*47zhrOh8bV zVKaIRzHej%4Z^N9eQuBL+VUB*R$0X7{ql31@?Kof9nJ7?M_|;DE=_wZcqxzDF41sy z7ke9R&{puDyqE6UvsiUtuc$+4r28htn`a~>Oy7j9@bi;(iyl7;dx!CFdO44WG)gPz z)qmd5wtXIWSDt6;+`?EMfVzD_x+ph1?iZYTaIVVWYi%2&Z^ZM>)vt6NJ2AH7quuWKnHEa{5WUAW7Ui!^blay{9A#` z?492Pt|OLbSiA9$jSlVCzc;>wC3nR%>4ihvK+wrT(AbDk_YO&)KD=}FfarmD4jyv< zD5s$9`$p{h{b(*GC3;n>Tdi&2ZGoQcavvF1+@fogOYo)%L!!yq@UeZPh2TPmLt*cJ zkX_WlP93TqrkeuMCQz<+DEDgPw%(bRb|*r<#YcR8@hFU*#K-5a7&Qu^`@W&#Y}j|F zWo}>8yZ55)nJrzX25`T?_hR}Tao@&Q%sE>?{Lqjn=cfkoypL1)DKd__3g5ha(O%ay5X(LdauC$}r!LtVlI}!(y@KxBme+#8)EmETDI}ag| zb`&DnF+yFrHP*ve3tD*+#x(K z+c2l4cd>f6lSx=6v+CXE(6FqLPpE59aK)?HP61?aI)UGu# zePwc&se2#j-LY_ePJhI_X->C}U0XJYX;w>b(`C}*gG2f*$>{)ln1OQiB4qgQm!lc6 z*5$HzJIhhO-XVckl_RW}$EnYExtAksXDye@W5%4b9C-%R4!|j@Zso|CaaH9=WSl5R zk3xSxq8-^%oR7*!3S?#xKyuFPu}Kk>0)nNQ73>AmRrHeDB3lRY|&e`IjK1tTKEMl3PyG5giamhG9a_g*q#^}tY7D>v%<*k^ZV$BjsAd}XD){M`D1U1E5hOulVDe6pp>Rdq6Nck;R6Rqal- z7p-h{%B`68kw@lzwsP>`m7mSSmXITg_Ac$yXX)M|)3zQD99rnuy715gJ$R!tdH$=@ zNXFDx=3x>p_dyRhe%0SWzNxyDdYC+j8fkVeC~xHRBJ7#r8STq$Ot@pO$a{T4S#K+eUf-E947k;#~M~|f+Eu_;R zL-M>=ra2Z&e|3H`Yj}(9 z;~I~NY|*`4NR#gQJKcXL_Z<-EJv$j&)bFJbJ_ZU^h^Nw^54WcjL9=&Cx4--E0!^q2Oe54y5 z7PD`w=DzV=%!C>8$_CeEix(qTOG}0gD=D4V+A$5;`rgC+`#=0%5wiGR`ksYuAF=W5 z(&v_*-8h22S2=OeicjXgFz474gDMyPwQ&)iTkKP`Mff1eP0l2_$1&Y?7R?oBk}O$b zA@`VwqoeZ#n#yGQs{6q+CSrN-J+5BDPbJs+SposLaqd0G`ze?`#-{&jahxXgv5oxD z%5%T6-j}zt-WKvB-zi$W8*138%`{TTD%RHV*TgV`Yfv*rq#PhbQ1 zl%+rE(TaxhQz0boaRcHp`5=XUs+u+OXUHnPGE|GkTT1>b|$ z#pi$vU!q|Rs|){*!kabg97N;9n`^k}R}Cn>AajGlKq8;18LOx#(9I*qH@vU~lA-X{!rwH39{nE%1@M zOdkT@SMV>?$H~w$C z@K&58%lSVo^v3lwSjAf^^5ts0jjVFRb9<2VE41g_@I2oo-m1+P_*U2pYn!mQ;ex-7 zWV+!wJ;y`;DF`5s@RR1>fR}!BaHHpTF6mcj54q737yT-7+>L&-i+&XuwKUQQ+bDzaMm zc}c&;MZbzn05!gC!OlCu&ShH+OS`UTOgL7EH+w?Zrg6}- zacrJD)^c_32Pbrnugeb*!ss~q&yHtB|2dwg^$+^ba$1N7y7jW-S7qB4%x<}H$2x3K zpYDx9gTm_R*GSr-b%TVse)s08{{0aRMSaBw)qzL- zqx>%Do4M#$!rr+(O8P^=^_6I+^icA5C7n>e9Ycm^i1w6hXO$Rt z@b;8}Rs*eT+6n%${wy&Pj9-BN5ctlbd`S8NV-hbP#zVmCru8oR0wcz_1pJS{HxlJT z(yuheaQz#*P_KS#deue0(r9L!gT060+_cWH_xk8DUfP$(RWieA{gyA-CNYe6{&CN=fQi zPY)ygXE_e-rJQ?}VHfhX;R~mPmN{*$Vle@yG>zZ-oyhcL@Gg_MPA_=)r%M!P}+N z9ag@_l9Qf1Y@8B!*yR=UIplNWSKH}iO(TIvJCozJ4FVtQ=;=8L7tZMycIz>BdJj|NWuTCsML z#6wO#ZZgt*8_JR7pF`$rw*fEvt-OETPUyLWG#CAA*^f8~yzCd0XwPc_PI^%vNcsX& zU$mDb{VOi|0<3=Vang(WK+>kLOP^M%~5(IaPDJ(kZ|z*dZM z4@eB^VGqvYg$37C4>cOKt(%-W;l+jNmgH$`M~z%JH5vVert6PiQ!&+xiHWT3-*M(k zv)JdCn_Ac9$HnEZvtnBcA=A_7V;sYF0+_uWa$R|1oTIufiEto$wVKt~OV`L0j4CU9 z=aN2mjfl3i>64!@bivSQpV(`wuEdV@)(^F|$yzm;K3my4>)wpeFwAG9zg89mImRO& zFeZrE8?B*NjPUUKhx!V=_D2hGn~C=$he|w|DDpv$TZ8}~FY#zc^ZG&dBRRe7FRm!U zW8ek7`BxXc6&|0{kA#03FZ>fE5dPp55ihJ3^O1NvdW6CwU!C-#9+UK|$iLj^pK;Nz zBJih9dg0e4Jue@k{Vw=_tLWjMW|;&%-ZGa9dFIM^SyRD(1kOmFA=-xvC7!;3T7diG z7xYg(tl%?W;Txf+#QO&Ym|J)T_heg*W+(<|tOoE#51`$;+Zu2Izme_k>3@u4|_{&nDAbKx;Q z)J4!6-vj@Rne&(QD~t?IZ=66q<|X(`ywzyxj8~5qdc%kl_?Kv32)&8*$bvs4J=ym-cAJ`#`ALNWy-cfpu(`y)=(0GyDvEj1ZtbuRTaJAD5N#=t) zz4JPY~&l_UOz9iRb!|cxOHcylI~czlzKf>6Y}=g)fHwc)J0)qWhXT zo|kXcn_~+;qVyyGWCirC57Nq*d&%Aj%9{dysJjTJ_w91YV>` z;#XoUn(Id5d731C6N%7!eHCB{Hr zHjJl$uOoCU@dem7HWc`SDBG8XJQBash==_V%?o|Ty3i$T_>cRd(~rBC9vEqzh}N&)n)d=AL-3J!UdAPUg|uL{B-z(%1zFF9-^r!J)i zCv>!e+$+)`>ldCkynaD{ZicjVffx0W#9O;bd>@pJ4@Dlopz?T};3M#&>`DA8(xnP7 z@|m9IF5C}Dv!xly_)dXyuJFQxdqy9O@us~J{RAeM7wCMxfS|V&ByXQ-ee?W zRgb|(olNZozLmoF5%@&t{ysAwEpM&x<3+!-C;E|Jn_B=MSwr$Ef~PVJ_zsgv;NvB| z<0MCGGa%0!0{R#$#o4JPti#4qqNeruwPUycj$bR#})ujsw=bW3`k z4o=VUCgXA7m!qF!66t$i;%Sb+bNlHe^bLCfy>mXmTfjFI{UxW*ewB1a-73aOFwU6( zyTJ^ZoA2kM^NEXC%F&7H;o;*q-%;?~?8NT#w&#q0ZeE(D)8y5eIcp}yH6Od_uDs{x zr}bL2V_c`X({p>Zv9#%q(SKrx z_E`gaG^(GHxo|k2=or)@arB&i-6jo)YZ4IF-^TTRwSE7QeLBOr-^$$uKJ?*K44e+m}{IvyjPbGbp|T*jgbi0mG};b@3SZ;w=jphp8FhbHSg4Y z4!4|l+Ne=iK8Je<=5X)5?i}vB(uK@oY(tdA;Z7a6mreCea1ZhxX@qZ3a}~roG>e#% zP%hGHBbq3)V$4wJWT4=;5()GbIu`N$(cA=MGQJ5^7j!+vd+;&LZaRW^zgPT=jB@Bw zj>T|WguIYv<#3arhlj^l4ilb3-KkE%H^N!l-NV@X^dEa+`j|zNSiU@`#lCDtt4o8^?oR zZN?1WpZPZ}QcL35SH=Xn;)kmQmgleB~KI9-NF}8!xL`OfiTFDb|hY9$80x#@Rq%U5?*UFK}Hi-1SEbgzaGlF0TJA^MjCepPM z-&(jYMvK*SS=iTi3O`)FZ3blt=b-;4@rNWIbouW!@tc)`n8y&$@M4b#kU#h$Jc7F3I1;*f5r>` zCzSl>1U*{9Y>sHl{wU>dEA{;r%FzZ79sc1f;G1c!^?C9=BIl;U3z-^YZ{|?(?WdV` zzurzgA0zC?g0mo(!Tv+BzZLXLmNSeXK)zT$_YLJbR2wGo^i6^1dVERLD_zBXBS#OD zhj{-pNvGc?@U8LwS@Hfk^*;0tz9EkDSNQ*p`YwSV?l^yi|KF&`N_tWLH$VV{bVOSc^uy&6C^#xAS0agz#kTU(W~h{(mr(3vnSo? zKf)|Z-lvuHSA4rM$E8ZXUtRQ1 zXwQ+EF8MegpbmlXd4 zpyz&4rr$XyvYGVv*QDP$HCdzAd|cF~{24uU^%dah4lkDQ*{8|K0beY@#Zw2yf_ z{5fx(@%)hbeFyFLGeW>-z+X-O5%G1=`?=A7gt^mI z^p!6DCouQks`$s6pK{7WPGBx{br=6q7yU^RKzb;8KQot8%5zfNVf@JHxqiglKAv9W z51;cd^2be2;u|i1kLMreVvFZeU+dAHdEO%ieE%i%$mbaG^3LsRk!at;VnJ^sYef70 zYWgISe_i?{tk~dlaU}hA7yk{W8W@FA{6&69{u}fKB0nU3Z5KUX3o+P9FXpC8`VxFI z?g=l)F6mk>|q+!x5h=VnQI z%zfc=Au)I4yy;bQfQx>k{;pF$`Z}H4tE6}8Cj|b3k6AkBL~PX8h;l31KSH0f{j<^J zW$-m8yuK*$D0b0r&{vTWz{~a$*Qcc4pr;6ZN_ys^FG2m9f>{T1L@J-KSaJGbV;}+K z`0h(?OVF|Rl8O9gJkv5Y`u5&fcwW=F9Gxu18nDZyc`q*P-uTLe=t7S(jW8jfoTH8N zx5*kBj`EcV{f|Yu_Brn4>+jI+mF=yAtjxe@IL1uZFuTyF81EnlscP>#)|h;S{#$Xo zA_w(g5ziLTe<$cs9yp%L_He9Yjr&|H^!sGLwK?edm}{tZLDH*n3T(M{Mf>p}+a&md z&lT;*gLIF;zYY4;LLSk+B?sB_0$&9B9fCh^-*S2Ox#;;Ae5mH6m+ekYKj#X1jMhUB zZ-GC~m<0VZ;A18Sc{dDro?e`54t%-9b9De8W1y)|AEj5hPyH(7zy!!@1H^{pj# z3gqi0)$VWDE`Xn9QZs~zHI!lp4LaGeh)gcpHmyTE)`2>PtXN?oGdaq6PM$u;@vru| z4-FdhP;PsDj^+2?9W5#c$Bw)sC2{7+cK-|U5k4X*&iM30>Ee5Viv^;5o<3dW7-GrK zXCp6vN;c5XE1S~KEp)Y|lDi#@Vd~HmKX?Ax_j)@Xu{`}Wy{~c$nMnOBFHnCA`6>v&IsESWf$}gC%w6wpbrN>@G*@P_!q#Zm!Ll{@p_iPHv--)=!Gu< z|9S%7n#(2VMc+-z1N{hJ3ti)DAPM1zBs7Dg#D03>pUrbPn1wkm+AEDTa>1AUl2~b+ zqG6`WPiPC1g{5EK!GY^pjT!Mh*qesbtl}f~V~=9qj^8ZQaq$<2tv%_5^XGcDcNG3$ zCXV5xL`MXdH?LU1GA>h@{}$vwzJUpua10*baSbNGvmQTe!4IS|$x+Ku0~@ISR^bRv zCdbIJWJmC~^yA7l^tH+)`mu#>sLZ6RD~Cvas1>-M`vZPKKatrow z#!TZO$&SZPE&Qwpi_Qw0RPjmAAJXPZGyi^Ro7Nu@J1)% zr>=?SOM0kls(F$@>Y8ay2;aAp)9YF-a+kU`X|2(cmUuJp@2G1JtRVPYU3+Q1w4S>5 z(Q43U>e^Qer5)6@pEjIks%w930DVne2Wq~on!2v0d9vG63-WEjV>4};!C3{9W)xa; za&5s~3kq`bvV$YTBcl5ij47}c49K0Y* ze!4X)JAX>{*x;i4vDt;ew%qLCgh`oM2-K6-!ER#Y+H8~Bw{1IZ+O)7tK^0a|nA0{- z@|e;#y<1XBul^}*Ag~gRO9>Mxz=2&h7{ypE6JaKo5U2&IFyjyYijZcz%6t z@Z7NB&Gy(xs;xFn{D*;06|XSJP>7sri@b7|V+t_o_~etMrC?D^fBd#l8g|#3GZ)cr z5r4*b2!5SE9rGDb{<#Oxv6HeHe#H|fQ+UJE_@YMl$1Vqf@Tk?{Not^Wt%V(fYU7JX zU3>+ouicIvB^x4%Az0Pg7^7BA(MD>9(TNuDFRd^N&;}Xb78xD^0i$4MF<4~~3loS# zvO8d=bw`}#&{^vO6(%A%$w*2nvMvpY>y9>8I(B>Pg>^H1uvVoX5;_2DF9u@%|6pwh zzPJs8Cmex!9;39;P}@3f0cMWAh8|%#W=$={$izyF`mNXQBMf`RKZ2I;MR>)>w0nrI zoz#B7>XS{{kJ=^eCvC0vAikDAgl~=aYHKh;zZ3J+&JmOL2{B___G_$n@x*xGcH)K8 z|GbG0#svJZ1|R_b^OW|vR*JUmmsrdG1qme8&_55tdb*mV7P*boCUr<%QV;73ZpXNL zLlR6vNF!}ED!C@4DG4Rbuu_2^FxiTxM@Hk{Tvl}y8T zG#rMAv$XFZv&o%g4w*~lk@@5VOgN64d? z#l8$%zc0s_%M)1ZS4>u79mHy~246(hl67P~d6GOuHjt+=(!GgnCR@leWGi_V=Xh@? z&ynZJ4)Owdk-UWOO)q2rfLF+?PP)4TBEcYt&aU#YS5ar7QKzurgdmtT94MJx6=l+Aq}P>v=MDgo8W}0 zP}+<(r!8np+KRTOZD<&6OT%ddjigaDn#NEIjiv2q9BofK(0JOBcEW!3U1$PLq)9ZH zrqEQ{73aiuqupr_Z3|7OJ+(8m7wt{^py%}-X3%U!WspVt!ee{@7q?G)UpuIMsO{Gd zz}0@N9nwC+$aN0Bavjl*!tI^KS&>$_;)!rn`II}M$#7%50w{uun+n%99j8dn&}M0~ zwL7#qI8SmeX64(pU9>+PKr`q-I*1O&oJj{ALWj~}bhu^^jgG)+C8OwQnn}mdEIO8E z({VJ1=29yiul=I^N+-}fIuYlo70^j^GA*Q2sEroUsdO5hj$_ki(pmHlIvZ#9%%OAX zJUXA=g=O^%=^}bJy@%dQ@1ytA#dHZ>N*|yP(ue57^bz_f{TE$EAEV3Z67#+x`94TH_}aXGu=X;pp8JQ~DWJL4Qt5=?Qw0enG#ar|4JoYkHb~L(Ay5w49!y-_f(w zPQRz;=y_T}f1nrWMS6+;NPnU~(_iSX^f&rDy-X{qgBna@gi*$r&P>eAJeVi*V&2S$ z`7%G|&jMH=tH!FcAXbCbWVP6BtTwB|>au#QKD(VYU=3L?X0tb9jad`cl!dZptT}7J zTC!HGHEV;NxZARD7QrI<>BB4reTrDtj>WO|tOJW@9dVFNXV!%!utb)`l35B%WnEbs z>&CjX9xR>pWW88#)`#_F{aAlCfMu|OY!DmFhOnV*7#q$;u#s#O8_hD=7?#DxvTQbv z<*;04W#icdmd7Ttd{)3FvB|8EO<^`x#HO-oY&x64X0loA4mO+J$>y-RY#y7>?qUnr zLbizA&F*3MvisQmY%yEHma+%fgX|&pFnfeO%KpWcvB%hQ_BeZjtzgA$C0oT-vo)-Q zt!3-jdiErHifv#|vyE&M+swAGXV_NuEZfGmv*+0JYzKRRy~ti-JK4)@7kh=h%3foy zvp3kA>@BvNz0LNpci3L`F5Ac6WAC#M*oSOCJHQUIL+m4Vn0?HSu%ql4`-FYUK4Zt( z=d6^SU?`QiveZ{_Jr`b0+(fM0e&d}pyXPKRS&(5*)tb+Z(F0hO268n+;#C~SK zuwU74?00sVRWb)NbPeAtFMPH2!73g<-CqyT1F^4pbv;P0q1V)F z>9^^%^*VZ8y`ElQzg=&DdF{b^2v$5a#tiSKdZ^w^Z?3n{TjD&x)_NN~OmC})>k)b+ zb|Z?`W3->Kxn!)~&Z8*biq>_cd17W(VL`tCr0ha#!C173ZP|s{WA(H#nT5U+atgDv z^Yb$E$6B*kN`4N@&d)LB73AkkG4;+ZD9kq%h~EtHTf~0_*T|??)0C{-X_@jaHOece zFmq})+TmloGP8FR*3jWm_{%T{9<6%rqru=h-q%19G!%ndbD&iDSlQ(!o~R$7`7CsNR2)d4;X)lPJk^_w-$g~p5!*&$_jG}%u_hK z2$KkyEwjj@NWRJ@AqHHU3MOXf$mB*PN654!N2<^w!su{$9~~a8?&DOLpu$8Irphov z@`;X6^bv|rM67x)voJbBy%!lJ@sWx?Qqe~$`bb3|sp5@P@kTn|Pg3tEt1v}{N}ebs zPn1eWl!`A(#TTXGi&F7LsraH)JW(p1C>2kXiYH3(k5+u66~Ac3FIw@7R{Wxs{LzYU zwBj4B_(m(f(MtYk#Xm;zk5T+%6rUKyCr0s!QS_E@nSP5(w?(DbqTaW}sOL&fi;~l# zxX=X0f>L=|tMiZ@B6H%Yypr1&SP_mfqa zqU1|a@}(+%sZ!rD;qrNmD$gKzu9$F{j+k&6PfWPv9}_O+j0u-~W5S($ zrMxlWQr?(wsppt*sppso5pN`XHn%&3LOz5dKM@K!5Q_966mlRGav&6PAQW;S6mlRG zav)6f6GI_WvI?z!L zrW6$x2+{}@eME#5Dyoq~w- z)dTOW0{H2$y!@hxUP3B}H{A#I$;8aeEM8^tC{t5Xg{D$dQ-vlGCVSYX6@)=h-ze8iJFBMPGBu^O)zYwwD6%k3%Brg>Qu2d8tk}=={?UN}}&>ry`n>odrSuow2 z=~ZaW&k-^BiHzgf%9|H5YFEp`$C>RmYgVB1n$zZGkF&X%fh*rlIboT3HvhcL!W=Y* zxPgLLsE*s7M^>(tKlc*t32`MF68y^4PyF@}zZ3YcSzJe&#Z6@ODx-4>>n4CpVxs&mR$`(kWV{s*N z(d{u$uz8G(C`$%oWsoBS*cBIIk_;xxKv2e-VM0^FW6gpxR%9|#Br_BjdU9A+zTTJr zWa7uqnKL3Qc~OQ>N;W4W+cRx?E;3#pz<+G`@lJ5%ymzMS(j!4OVm&ftXigBU%$bs7 zLO~8pbAm^v41JQS^1>&p>RQAcq1)3qvYpPZ^|DMzHNW+EaZe7m}NBi|gi8=thQw|sJ| zuFc(qL7A;0@aU!_hw~MZcaxG^rFOb08Lcw(?&cDocI!^9<9)hUG4>f>b?w{3O%h*T z{G8qxO>y4JM;n?4zUgj{eDmCH%;{1cc_Pr$5wV_!A9FAHe!hIam)k48`EEDnUh@5X zsm}b&Nd;4Eg$0vxvpssNBp0Y8_m)X65P@Is+#T5E&uc0g8Sd%xD{{Z{$WWPIBtxG;Rnq!Q zbGshmc0Hr&+B{UId!`7yhq_G1d#3BsBOygR^~lVY+UY$dFLO$+ye@FNmIYo`J}I_b zS4!EOa8sD zAZNENNGa;j1x(xZxNU*%8bgQTiA0^J;|q~yLF9#v5aGnUuV zwMru8SmguhRmF8cl}}ZK(nu9y6}Lb)M=Bq76{SGFC1i*U7dO@1U8%qXy17vKuJoPq zUFA8|12?A1X^IB{RUT8^2f8^-fvD#0DJ3uIA>~td|EQi;rOk_bMTwPOQNH8u6V=nI zcYKxilMkfp6W7(RaD4Ky^mpRAn!C4CPpi24NFOKgfo>j7ApH7YQGEJWy;g02o7a>~ zrCXEN(y57SU**!&gDP!%3vVXS)vs`7>NPjB2y}B`;%T6p=Mo72Ay-2#oCt?y8UR*G7RYMJWIbRh>(*!PrM}dr9 z)NoOWNi@HRp|R}io~VGUUiVe+2sXazp}6rDqiNz&FpQR6-SBAD)s9wO>}b`+j#gdl zXw}7zR#j?rxEcabUFm4qg$|F7P(vWHZ;E?0l%T5Q=m_;*gc>@CP(vOOYRE&i&7vdK z5J9BkC%ebt(NVJP79FMdMya8RD8(mQJ&#uJN2{TUXhk2R@G%M>kr*{}5u=7I zVwAiwDds`K@tdc~V32Um=4m4E8syA5uW8OJ^AJfmLk1JA`Mlva1>>^$W4*GcXJHr= zCeL#rHBk+CM5IdTBjo@~M2bumLZO|A6gfbFP^2OvRSwAEeUTc3Y5+zJq(rL$kLVbs zl^CVMQjPFA^+tkRLJawl2Im#pMVR`Dk*d6JbJ$tt&!RXUTET*)fl6eUNBiYG=B~j!jLKT0aia$}sF9#O!T*aTL;!jlZ%YjBb zSMevR_!Cw9&hj7!96_hzPgL1e0YAA5OA~Wlrr{U!T<|-G%)#%Y zWEp-xAfS{l;+J1}W6o1+jU=b04*)03eHL>=`4ciByD*>ch$!gzyl6i6O4s~*c@C&+ z`%)u!4CnOZDSX!+j&Inx_^x}J{e&;8k$Sv7QlE=eEk{h$)Wno($}>G|T5g_izQ?@P ze8j`zvCrc>PfyQAo~=FGdnSAK@*M0r-?P|rljlCq1DK^$+xq^dI2A$bXCfVgFM9vH&fhdO&>~F&iJyFJMi;u7D!}-v#;xh6Sbt_6nR7 z_;BEkYN6HoRGV7u(P~?(PpUq%`o5rALBTgVtzXqgM@EjVEd@sQFW^+*-$POTX>)+Tpd=*4|P3{n}sF{;7^{ov=E6>J-*_ zw9bolO6$_P&Fl86YpXl6?%cYI>MpL=pk92vq4lQMTUKvJy~Fh?>it$4PG0(C;0u4+99bSwve?Uhe9rdTyE5$QS(OK8x3eQ zveAM@TN@o|7ka;_|U}Aw9sCm144&}&TUq`S$MPE%}zHr zH*enjiRRmyA8vlBMco!#S~h6eyk)1Bqg&2zxxVFvRyA5#S`BYCzja<~N1M@Y=7-e? zYY>(eHZJVJu&3JQw!N?ImbTAfu4J$9pPr__l?hwx5bxr)H_b?_-H3{rzV}2b=uK6v~zOj7ds#6lGyv6FMJIJn8jv(T$(D3q(xXY6l6EA$pL8VYyQE9W-pMtRTP8;*4@{n(yefHL z^0}1SDV!hwr(}L4Fr5#E;*Db!=$nI&~ zH+A3Eqp-&vJx=yG-Q!$(jr3zZoAgZWnTxVE6mu1wztxRk%u8%!yp2_E=dsf73+*w? z%im#qqrG5!q`irmjC-*U$x+N^{K|MoyI{Oe!j07=&ghGk>9erY@cX2rae^co7qF7N z2zzP2j}@7{u?l@LS!?`AHUXYB-X+_NAINrNKY0$cJB&S;+U18?)B}t%ly6`Bb}=qt z$Ds4z^*!cN&V>})jf+?XRH40Te5W17{a419p#KuPdw)-!$FB1xtsCSVYJ3O272x|l z_*TGwWEf?jc@tjcC}v-t(P~20(~$KW$a)$wehnG<$v&rVfr5b3S)_cZ@fI}l4m7bt zD>FWU7GB0~NzY-|x5K2qu@4$qgBad{7EWV*;)mE-`a@{o1FVHSPgWV_&_o$D@h#b6 zd<)GFHP&OV%pg3uh$lbb$pt+50eb2HJsn4S1|U5TAw8XMLB^Y>^Vam~g?Xa>(EMs` z7qt7PaT0rcd;`rtt(`%hc7@)GjlJ;i#h_}hG2>Hc`URxrUF?*-Q=4Tp$GbhTB6O*C zk5K|`Z3UnAv{#HfwKt3$ZMShZ_+>+btF(QXS^J(bMSI^E3I0!F&S(I%dK$YVtwCHi z?W{2u8h%du)tHUlLgs3f#tg!Y+0ghLXnZ*|ew;Kn=8=}T4g)^icpkgO@Eo`UdHe)y zC=WSN2AL-yHy%cAJcCu(v&aA~0J-uIa^(Wj@+|cKGW7p4^#3yS|1#NXyox;d0lNPI z7WO^%2Ei(LVF8$hkGZ^EP!=+buP}Qy2-qEX|1-S*8Q%X4?|%ln^+ig$;5P$SGg|Wp z)d!$D1FCOb`Cl8lIRf2OXs^T8W%>FNI{6kl`35>U2fM8feVl;~K0(?(LApLhx{e`T z+`_&k-8Dawj`h2@NZX0$yCA_U$mv%xm-%%_@di$i*lm;}_jV!o&Op)+An9>P`YtJeWW~m2 zNU$Gi`~YeE0Gjv!TD%A?UW69ULyP6G;-N^}4)Nw`Sdbsy_#SVZ#T$0KVaFWm3n;}V zXudw)3rE-kVNd8T!}u6;toK5)Gmz|pu?##QAZCU+*8wOqk?^L~Ab&ULi%CDsrzCa<2z;n~B&TK+Xkd zZ(!G;-9|(0ZO1oAXDU`!eXqUesMOwfe1`JY59Q4S`+5!Kt($hn;Xru{LJYYmZ~iE6 zK`3t?C~yAIOEt(H58Z4*d8>)?7LW4g4?T@XdFuwd^o3n^CLJ9=z%Jh;U9pj9M4BPg$*BSvSbFoD*Nm;yit zTSbk`J&+lm;tZag6H@I4#a<&Ad3Rh$6>vpq*nCAfGA*AmpJTzK0Xrly)bhSt8 zrX$jqh?u$~#&qK(sK4Mo9xF)x-L-~EtBZKPf*)G&kU|%-^~tYJK^v!0 zs$|WEH8jR0RTG_ujhsi@_yRB{l$3B$Fa3z}aRw!#HcBYog8f`TDfXHn|TqST#1sXL2O$J?^9p4tXqvsv4NdVe3v?HOYesJ|lh#R^6r(i3g-TPd@D zTxU6@tH3G+Ur1L0>A2ljpzb+?_TvRnp1%V2Yhb@d&R#HfA*BbA{?9?*2TxX_yj7q! z;d@%8-vY%SOGA*t^S8j^&yeD;uT5^fHFIn2*c;b9f2`&I{1!@8>H2f~e19&tDk+_P zc=!H%)wLH&{{@u(3n=}(hj{_*@;A}Lw4;alF52gxqKApItZ;V@cknGPFX4f!^LV2I zZ@i-3cnLH|@x~4;hj-mSNN|5GS$-1@%p)4$%w z-`L9jk>|$xxwiKB?_qAuOJ2VYsw!#!+s|)aJ5`Ne-kkRDLLqCCKeq??U;Bpm_o2Rd zp8QvG_`gS6_13MGnp>|o{_gy){9<*ZyZ<}A+kaB}|LZsVYg_Q{m|Oc+|95Qj-{?E@ z-%s9~fBFA2DE|6(=Jnf3H?QArPH}6s$loug|N1@AZGDe*F8DsDJ-A|C`&=-%l%5?e|-6ncsNSvhbnQ~q&n z^yjrgZ|r^le~ag@vYEeI`T9qm8`sPK=;t5(+<2|=Kl=GcKmU`p>i=2xbF=o?|L@Ol z-lD%b#h=}7{D+n@Wj*P6SB?1I+6wCbd>#MQ<^1NJ;P2^q%SZQ7zr)Jh7HF0)s zuvUw1(5lmo2sdlBSam=Mpb228R-Fw8j0B9veUVm!%|>WwwR8etfaW;M^FuAbsHIf{ zG%*HhZ5+Sgbj})DGImQ!#p?R5fHXjNKtI3$z+kM89fCb@h65hP{W8FE;I`uZZGe|> z|1zHKLHG{fT|7Ggo`(S!ac^K%t(P&7)IeAZyA#w!*Z|O0t3fOX5kEnkq#K|=AlIlx z@&JZ_s@WSE9jp^ zxDDZUgwG*-9^npzFCcso;Y$d2B77O)E`+Zjd==qq2wz9|214xI#oj`=8{yjs_aNMh zIQ9YF2Yd)P05}9V3^)Qf4k!hj1bhkj3UC@w1}F!72e1Rq0V)94HHlpU`~>&~@EhPV zz+rr+YeuOOkhp>xJ8?16~XPl$;0k;Dh02%`F04o410jmKe zfOUW;jdLsx@B`o?-tCILF#_S?0^v)_;Y-TlOUmI(%Hc=2?qyq8$FA z9R7j(gmUz};+QiH+<#SQj0Ovj1Jsj$ng zfHXjNzyQF*fMtM}0DA!M04@Ry?08TY&;Vco;2mh&4sF|^Svxdqhi2{2tR0%QL$h{h z)(*|up;&)VTH?eLR!_(MBvGh4u4^Xzp%q!*x@hi@E3OY z3p@OU9X`U2y=elB1*jz#pf*~7+Gqi4qXnpq7Kl<}M=7zRl-N;9>?kF6loC5ii5;cH zj#6SrDY2uJ*ilOCC?$535<5zX9i_yM6SPg(m&hA11Up0y2fU1(;%WiLVTX$xfE6$v zFu}Nh+UO!`ql>5sF2d_ygg3tkPks@e{307;TwqxMyu+sA{!YMZKnY--aS@*EB0Ske zc(RMIl2H7%1VjR&0rLS50saNRes|hINB~L_1h@@Q2T%`iJ0J$o4{!?b72s>YX-MS< z04=Qz06nb>z&kVvkOJrm=mr=BfYfvtU<6@Kuzz#@T4bT9P48S`q4=^1t3$P5Z z9Pk9-Gr;G76M!!OkcUAQ_6^`$z!|_Z%XMJq?m3M%&uO%G zPNOdQ7F~xe)<^o)5p4>aagYjXpXdmqFgpW zxom(G?nlb@BW3%Ms{JUZ4Ny)Spqw^9Ic?ex!0gQn?=~+>aFQ zM+)~NW&4q;{Yc4vq+mZJ-w(<6L*o6Act0fG4~h3f;{A|#KP27{iT6X|{g8M+B;F5+ z_iInV3zxzRmuhK%?f{fjtuLS-_6qBdZ~$INLc(iw;cWt`3izJX6Q4kv_ypR-C(tH7fj038c*0Yt zT}oLql<^j5HMKI1!84vhd-w$W{4unLPoU;0W$Ad{6ZgFk_Qri5&_EW3ykLU?$Om}Q zQ_PC%$-oyPoQnHtxV{5$C$8^9xEQbm@Ccs6SE3F%hFYr>^~f=J+f%Frunw>R&o%+S z7qAcTKHx*Z0l*=^VZaf2~Y10r~wE8GzK(tEVKd^S^*2KfJIio zBG1DjOJR|vu*eEnWCbkpJS?&T7Fh~wtbjFEz#7lP>MCGi6|k&QSXKors{&S40c)y& zHC4cxD#$qOc$WjP0>%R-7{_5@6|k@hSXc!ttO6ER0ZTd$OF9orIuA=a4@)YAC6&UG zDqu+!u%rrDQUxrj0+v((OR9h+Rlt%eU`Z9QqzYJ41uUromQ(?2IS*?&4{JFOYdH^V zIS*?&4{IrfwN$`T&cjMdVI}8bA?INs6|jm5SVbwUq5{@X3Tr4uoq8N~>T%Sm$6*x} zu!vGvLQD_RKOxCUbrjJ7of$-NS4Kr3Ao7rpilc+h=wk>XPeGQ88?F(TD8`MT;;={{%k7&) z()T90gU^|<=UdgeSy%?g&->$jUf1W>RkypkyXw?Ar_MRux7%ZMJx14KbUj9QC!@QQ z(cLKqGKvL^VgVx-XT*vau_8t)&L|ZzI&ns&2 zN)c2jf(k`Yp@<&E=~0{>#pzL;9>wWVoF2vLQ4u{VqDMv6Zgt^D7k+f%M;Cr{;XxN3 zbm2c2-gDtS7rt}hI~SgF;W-zcbKyA`o^#~ zBNsk$;UgD5a^WKvK62qB7d~>~BNsk$;T0F&aN!LXzHs3Im+^NQf0wa$8GDzpcNu$^ z@pc(+m+^KPZIb{TJ%@#b6Ypc;G!V)O%POkL#_yKyp8a-c)p07sF69WP+x6{VMc$HF~@nJx&Zmq(jvxdb(Qor#yh%_*@s08^3D|+l=o;zx8Brt;oO!%fJWA zfcjBAooz`!Y!>B~zSxtT!}w!QlP_i8GO!%{6#r~H$Ls{Vz-~|mDnJCZ^xbOtjsHe4 zFWphVVJtGlRe0oAgKB@TS_9UB^?27~!5pv%tn~LfSs;gc=7>6usN;w_j;P~^I*zF0 zh&qm_8_dy2dIM72fD|{VRbUM>Cl)+sGd@BC z(%N9p%JE2S15(<6lr}V7Whv!lU^y^X6n+Cz*??3wG+q53^i47PrkMD{7I7MHvgL}_ zo*ct_Xvc!_0PB_(dbBV?>mt}MCB!JU5Tn?Fz1bkP)AMh!Yoctgrrvktdw~aHAPyS9 zU%@``1Nb}dyp7R}wy$3T6(jmgM({#x*AYv87a@&#lnwR+gOns`xx(qxxa+D zzl2!M7VKp+ik=g~Cg=bXk~+rFW$bEcS%k4O@)c){T*ks>99+i0$XlE-Fftd1_O;Nx7Mj;W?|ef7?QN8@Z8~TJi*M5f((f93o+9i1toj(2w!&4>!c&hK5Ex z8e`<+Vl!_o-9m13`%aZf^Sx&fo!YE ztrWwfS@2^Behk5nA^0%_KZfAP5d0XT#}W801mA_=yU>0TZ?tv1;-*=JE1o>>cpWhFFM=1Z9`UT(_@T^~{S1_*6v;76InmTL1 zI24tuCY06|}mdvDG!Sn!A0xotwI} z+O)Wg7MIcDGFq5yT^X%2tuj%giv3zuL8~fgRShjEqa_uzq=J@I(2^Qr!Kbo@|7k@H zEihN(z9RS7dSewWCg2p0-s-chd ze7A!64U5Oa;_;ZNVpusI7LCX36vLwNuxLCi8V`%c!=mx9Xgn+$4~xdbqVce3JS-Xy zE5^fu@vvY#A}pS|2h0F7ftfS=f{VatFc!(>dRQ4A)`W*O;W2B)n6YA54IWm5N5sKn zriwB9d(8eGvr~-O-eXpZG1Gg@^d2+4*DB(iV5Uzn(Z^Id=m4DS`cz5SQW|wT@MA2h+wY9%H+SQJDBdGB%NnOPD*%hlooY zGzM`p9I^l1;GY|RXmMxP#v9CCT61^S#2JD+u`wHGFfoN>JYgZ_WGo@LyBf21S68w9 zaB+lxeaEvo#t_``jEP0~otcb4rl5yVH;m^U#`6y2d53L`@>23<-!lxA!%#UajPF@Q zUhA*J6A$Bwhmq)YL5$J*pJBZ6upA6HA6|JFuRP4XyG;DgO#IJG{Lf7M&rI&u$GBe~ z<9>aN`}HyI*T=YDALD*~j1das#fS0Y!+7ywy!fy>SPU}hn-1lebHKS^7I3{FtNmujKnDJotik}CFFsx z8gAjMX5y=6;;UwIPd$de8gBGg!$b_i+W4#U*ghXD zucdw%ya@Ozn0^(!2Ked{_se6t5NrhRfe*lkoO2T>2A=}%6BC696NLy9g$N%e<`^bI z5hg+r);4Y1A#pnGxjJl9W(Y7avejiW5&i2=ZoR^xEFv6!ANi^cnmxN zHh>R65vb*fn0oSrzfbtYC4|V8UCDcb!GPoC2r%BnE5NbfIB+~T0Sp6NOHog89mSWV z)MzjUj00R(T@J1Q6Tn1p4Y7oy!63z&|ZJB?~o{06=gD2cN_@DFLu8w}f_xuHZga4*Kn;AUAU+F)?SBU>weq(wa6j73`j-U#8%H;=ktK=g+cz68;i=s`maezID}}WcIHI$ABgNOMb5Z zxF7Qu`49Q*^B?nX_cQzuUr96dh9NI){ZamW(UxSk3>D(Xd(9sIh99r>Pw`9q6a2nr zPq6U(pIic_Gg&O`0x0|KZeO~`*AN3N8yk4 zgK_M1h(-uFB}Bb#!Ttkz#^;XSk8k;r<~{JH@P{1ge9ha5#vgJq=in@sLy2^nvf;YM zg|A8qzFsG64|bT1K^+Q228eKWAYx>;)- zbtJL)&+x6p{$`I~<$uaJ#QY8Zho)}p#f}Xz>E^A5@BIe=qXuWO5Uprj8pqIbZ)0m) z9EmMymtarw7?Tq<7PRBdV2mvf+E%hFXzdEP?=fVq!H1O#wFn0E?DcpXb1BE%?eF-(2^nm;68e^tz^|X$4kW(j@=<>dOn zaj`YOvHL>@_Qmd9%(g~7q3mT6svNgCeGZ_Q|HjgiA z^uKM=U-$g0OSZfQ^%PO(HYD?X@^(U6O`wR^9V@gro)~)?Pj;Wh_tJ)8n|H-3AHnx4 zN0EApF=9NH>1CuN@%T)P?<(#%9xWau^%YN%`iV7SJ!g7Jyh3zp18D$$;2V4^^eyo= z=YB`L%Tq@0i%mSE{yFJv;@8{xQtM9AD6vcI78mioyb5f@h^Q9h#9q=bMV)96SBQP$ zd#?9`_`A4T@~Jm5Nv6mYaji@vPI#T{%stIt%YO1WF-7*5{lyLPBzcm!Q4W{G#WeX_ zY_pr>RIIXFob$^+r2j~H^ogSzM$#i|HK1XKibM-LUMGx1b zWLJH$9xZ$8F?zi0qp#Exy>i6UZcO3 zm+5cxH*%KVrXzB;uGO{jVI9|T`G~I9^>UH+9Y;Ruv~}9bC!91VO+M+QJL&R|PNtJ3 z|KxOXa^%xao|7k+I^CS^vcT!-^pwvyeVjgWxpS0rlzi6d=k${+kdn4YM>?E6Pz(}7 zkqHUMkA^oV;8Q#W&%Y#IhUedc!#Bd?AHv}ui()u@i}*@>Exr+@q8z@igs)w`16TuJ z8?N35H~X@uoC3coad#`Z3}K-tGhcJ%qmV2I={%)TIy)kr!$ls_d10e;_OQ~~(@JL_ zE1gFoEmw17Af0Q7y!S&EUl%7JiEndX;eFDH$X|&#Nqk8fAhwcD7Joq^Pq7j?7>V44 zHrP!Xf?Sp%wNcXP$YwQBeV!-dKPKOk&O$E#CWczMJjcrAxmGUEvvN7i%H;)CE=O9q z9A)M5BII(KxLDpQZxfeVX}jD?+Z9&YuC&s271DNsm}uqfe&lSFc+kqzQ&ygywes|w zm8a*eJgv0yw93lU3s#<1TX|Yz84Zo~}sGeA(T~ zO+PC)$62{K(aOy)tlSK+ax=ur&FNNduCsFUYb!UmTe-Qz%FUftZtk*jGsDWweO7K} zTDh5JDHhX){(T8t2`@LU94PXTe<3G(v@wct2fg1gXoQf{Y_+B8S8CjtT)otnJ8E`|MJR|In020 zNLoMY94n6%ZRK&yhN)KS(yY{_S*c64vtbW;y}VxZv~yw)ISo1F8Cc}7Cvv!luNamw z_h~DQ+DfCg(wL$$RiF~3b7d|ve5S}#L)B2~oTJWReXcr}^?B+%&OA&F<0vzeI%+uay3Te!b<~B# z?K<08)lnnWNXlkz)#!qYX~}3Jc{%D5bqVD$MD%jhST&aNI5m#)cr~8#r9}90)Me^2 z%9k@E=b%A;Mf)eINwjS;v$L|=L|JX3tTs_rn<%SIGORX9v)ZJc)h6w%Hfd+INjtR3 z-JIbbbq{B|SKUi_hMGb7K6M}EnQ9j0*=jazCcXt7=BPQ8=c>7s?^pLzp2z&2YxPlA ztB<-`ebm+JqZF%;Qmj5ovHB>(>Z1&+k20)2%CPz)s+oAHly3L%NT>*LtKrk~&9W zU4*P=>|!-zuGNfrRx{?J8F^|^4?;h-ML!Oq{%QI&qNJzmGq}o`+^g-Vhw7oUr064cE)ZQBl7fEJyvwn<20P3$LsMT6JDT|{d?BsQL-Khhsj-b9Q%M}Mq8rd&*{JV$?`KcW07G4mY#nf{FO=fuu)^cVUI z%A1Ly=jak$LU{|Z^c?-A{*v-n#ME>2*BU#@%x$c<>236VyWUQ(cjz6Icj}##zt!JT z-lca@F4d)!ckA7h_vk&8%XAs#a$QcjLRV0()RmMYIzkx>lQkA5+=zwA+UK9LA%`hU zq@W?LS!a0;_*8Z%fHb7;$@D?hSrGI{fo%bc1D%(iYIojFhl<_+fT z|E(q2?t`DNO=Ek4JpJI64!V^&4%?ySVtQfPZ?+Q zVz7+c!4`AY9AN0?*tOY`O-b8d<`}ajxO%p&W41NZpmmGQKC?HKaZ|RIp@XTNq>HU^ zh*i+?;991BvL`L82YbyHQwr!1>^FTk%i*uo1wJ+Zd2b81nzhM;rBhR>al`++%*0|$ z`gx0?TXHdWb#pq{8I#v)gB%Ab3p=-E3S_wDC>r@qrgS*mBt`1LaY+O`W%w#UpaYCV zv_^7&GEcVrz`R-e?7z=&S%6%wm)eAu_43d)`@`^V5-IfIU`V4*7JW0?Eu#tM%m<^U z+5UfbN$P<%^u{c~@0MCS=u;Nj-1ORvl%cE9VW}X{bLo^@Yqelx+Bcq$igpRk)dmW8 zgfEP~3bejLo0(rm_nRe`^BO8AVW@57Jy=YRRmmBe>1~cSi_u?!<_a{5Invx0FxoQ7 zho)YV=dv63nJodo1l(fIVfsfznlmI3Lcf}N=6u;`ZKvs+$#WkrPhR)XxxHu;zqaJv z=5n(PC0m>1(_m!GSTrNxRl~0>XQf=r=cXs7S1o%Mw4n7mppEIf>2=FHN=CN?^VdKk zT5{O%i!Oz7m^wtIc>=@kRb0WLPbrLHDx+%dt!GS|I%TpLIql}VZW3c|G3(23HS39Y z+;rWo;@Ugz_{9KmJ?oRj&8$xmcd{NR?qxkl5wI7`zaII530j@ZHJyj5i+p8f=Jt++wlP90NkQg8TrbTk369sNPW<)w}9F^}hN* z6{!!^M{1M$SQV>J)Tin*^||^&ZB`{}i~92C9i>y%SER2=TS?!L{zBSL+Ckb$`j)hd zR7%=S+CwTMRgfx45t2)alB!76s)qC(X)mdkU?3A*CI1CncU=BBoL)%ZaH}NKeLOT-M2Y*&q|_eUAvu zUKx?DjLIrmEornps7 zOkCnybNgPW`NtvQV38%26ji^qJRl${a3COMx?KHy2T4_R5g;JyQXn9ZTp%DYyYcbD;k5uP-1_ zOFM6iZ*3L`D03PJ82B7F=thL!kQ3|5vZhPSmA+$3TPE$PE9K zGu3-H|EhueULpB*5FpU+{*lBxnpuFReOy)0nh&4V(j(1?3L)OT4_^sDLzf@$%AtcKUa4_bs6ia`OjW9S1Duj- z0v0SJVid$g{6p?>D@iVmKYh^0ZmNB|$&wtQ^i`%Or#^nyHmvi`)XVMgvFKoYacC_yMb%ZLAWZx2zc+1o{B4;v#EEQJGl-6b1+`ZGJn)i@42b} z>QEAfal+8R%lxl>SaR4CdNqR|XJA``-d{jSJsM;fA!dLcn}DUpoOVp0`kWuD;T$cu zRS}h)#aXgbXp2?VM>;%P>pe$Lr}B;2vChM&7IwjPy*+(k*oiwX+M@-MTG zH)@~xR~8=Tj<&stjMeDr@i;T1Vfya19$TM6+@k3%#iQ_GV*C7DeJt#U6F;JOpK%h> z)!uOnvnz7TR6Si6)iHhYnctl%_1$KY(p=_|&#Q9ElSfee26)u5OSpr7co-~BDZFC^ z$c~ORxHXr@O2pgr3OL7XnDsbLZPFJrm&ASY+a(N(0?HjV1&`i&HcKy;vrpYWXdft! zY#+Xq&hGur6gKUrfbZ@l&V;jT56^JUh&QeHE4NW){H4(r7B~W?kF?um_5SR|ED^&D z@s+m9QXX`zB`Kb9Xis?;3J86H0&3jDA9OeAU4~v>k?xzBt4CV#W6qGd11jxbD>1=m z`Ba*t5@vCN0UB1ngiK-C2+WEi;_q!S2e9|>pR0b(EFTDW;Sy+;!F*)!7+fh)p2=V9 z4&5zXV<|fxSDn(=DmW^ixo@V? zT{M7e>Iq$A{d=#X4ABC6VA_tW@H9cQZ%}3UyK0oVR5$P1UzDfD&R_K57okssZSvfC!35X`z2P^+XC0!{Q`-aB*Pi`oAB;W5 zv+tj{pe^6dE*yXk(@h&A06p6zj+>5&<{p0osojypq zL_SthC-6rftnVLP_f19bX5!}xM~}@PFwae^pol8Ai7OPmywS@lMQAGG$7zb{$9;rq zBv_!y5``-8HI#aOsErRoIj2yCuZQl^n7!D3@F-p$jCJv~rBXhaNRNKs|qqqA&>Q{xA>%8#N zy)jcgcLf*3Pl-D^idv(|v%B~pA}iM)mefUr* zQEez$eKhd!W%fHf!CFXQX^&*0&|F=SR!u%h)|Y1=mOpnC)Aw-~bm1mgkF5uS@VVRW z;-nAqC+h(Fvkz zg8{hjuG1U*zBjml(htP_{+BVW83wK%G=Ut9KcjZB0jY(?hj_4wPMas&w5S;O9?vZB z1yu!&$tzk?ycj6SGbS^zb$`j*!C_Z_=6ISAzwI1J-YAIO3HC(M%qa604ddk9@)&a?JIU{L2{?CEwMFt1VHg#K0y>C?&6&F zoVh%+mOowaBqBK-8zf8E8bGPqCk}&HIY13@S$v77|T|;bR#)Z>ux#- z*c{?QpFCzN9Pp}&v9xG9u`jW7k9TtCsYoxh@QTS>{;hyWoLb#TIDCSS$*p&>Ys0A- z^P}Cn96cLPQR0C5Sh3)!hj~}r=~1;dwlizu!-H)rcDT^06aQD{d;0AL(PM`k14%Re zQU}(B;=Mqr0)3J*Lrvp^gskDqV|$i1QgZih{qL>P>0BF)Nj~t+?_+Xl(WR(-XWatGIw=%a|g?I z*=$0oP0G3SvxukB76!R@`6NDq(-=P0_2>e~0_YepzbGssS50DD6(`Z3q9F%EO}f3L z-Zl8>2#|YFK-3WZs4O=yT9v2St?0F(Qu!Rc<=HggdDWP$q^ZcF}Lj zy+k{yw@_$@Xl|OlBs*z2BA&#WybSHoG6x||8dhkUBX#OT&(VnMbkC7}#Y0yp`wNuM zG3EQwm61`ye^By>r#?&h(Fq{y$XJj0X%oSkC(xyk*Q+5U9n^~;q>}DSaccxf6OdDm zO5fVvdU+S{Y3GpikSiu{CnO!9ajWMr%>3R?IvTq>aC;%;7BwKPNft~JOkEy3JAl8H zcrm=Cc%k)fcyH1NnYq&=W{X?~B^qhB6%cj@wz?55=$ zeKKqEGj#Z!xew_Qy+LEU&(Wq27{jkOxcp7rrhAzT?~-fx`^`MbE(Ov&I%ZVET2``o zqE&9R=sa=rR`f;lrS3iRUF=b+sz`-K61~g>U1?wmid_f4B32c3QH)(WyR5sSyJT8r zVUhck&pr4xzg{9uue7p2*QSTwh zM`=nEv5ayt=``+CyGe*%P2DCzr!uAVXbILPU8mYWtc#nj;dX3EK`G9pJ@0{>s9IA!n3TRiGD#GSCOcFPgP@hy2MW zBDe51)FzgD6?)eTzGK1!sweTgE$f^QcJeTtdq;o?a|4k8Xy)c!<(kh6xD(0%WWpXpE`YR8bEfixG2Jc#VMzTJu+=2@WS|SwMEJ%6>tUNKPm$R3%PcYaqlzMSw;noydd2ABnKm!MjHVO`Wdt=2fia&7!7E2jioM?HOkI|a?$k}Ly`v4T=ApWQ16X+943$aw(2>O}zs3sWQ2wsQ~#=q3QaoyV1 z`pn967O-$xv?-2TuqodW?!jmedLgjJWKVh#utu>4+IU@wFyA~YVWn$5mmC%1F$)|Y zE)zt?bo-3^3}$spP+vzEWLN2@1QjJr4Fz;>4{y0CfD!{?+Lzj^ykq4AXM0)`wAU-f zBpz2k4fX{$J**fzZ0Z?Ft;VHV7CSTh%Ot^JFx2yJU&p>@sUxMU0J_}KyU*IH5rJ0U zi;Yr^XW5?Clp+|W3m@ua!D|PK-qa06`NWhFEw_KCLt{5wEI4Y~8I%Pgi!UVWGK(uc zD`YzNXl2u+&P1iKMU^=~=N}L?K%}#eR^m^t^?j@GEVlFw02bT$ber_Dlz$<)PkIq1 zsjtBZSPQDWS8@?{(dJgniG>T?4>k)%Lpe?@2>G5j+=?>>#{{cxkUXVz5G7S>7e!Lf zBv_WtDH5Eau9qC6^|>yZu;c#)RX5U_(?(%8L>Ht$nL{&r?;}H=G25-rzoP%a4KgO7 z^EbYnZV)jEoo;}?Q5R@>#qfA(@-Kv&AWubbiWx)DO><%Ej3jX<^K zR@{+t=NY^YbD9R%y2XFpb4Cza5GkRleY893wcv|E7kLPap_@jGE08$Cs8$g4dFWhP z?^aCkO1UI&SoLwl{~zI7&lwR4CIvDq`N(WWDEbdj3&*sW>t$okQAj%mM;ZPJBM3=% zMCI3$PE!a>{@WfuD1L4a zUT0zjpbj{iJj=uNME>Pue*Zs-&c8=FE0~^mQO;E2XA(C zchs(lyg>M%b3g)t6hSR8GW#@Y;TJlW2ahEz55KIH1^=z=NFp_dRUMcp(HL=N<^ZDh)fd>r7rp-idduxDPJW*iCnA{ zi9`(&xn6@`yCSDjT@g@j*`!lF@;7yFrxs$`W~cIhK()lIfC_XJrgqj ze}~!Z%vK;%dEkv8lHuf^q&I|-U!y8Y)uMxwNX)EajfkrFoGSmbq2yzFUwekpf{H z2Qbgc!jRTxW8lGi4=}TE00^72@F^2EWn~1kS#~W=aTuohq2!dsu7AYns@%RE1!>rr zlrf8n7P9%$3(zLjy~t0Pr2KxdWef3hm6qU+UcG95pdD5I;g`J~>EU~J-CA{vnJ>|l_I9lY#P6Y%jXn8F34v81MF*M68+F*SwjB$g;S}Meu9{COxup~5>Os_IX zEQ*sFyyVh<0$ftvN$tOJuv~@kcx)8+AK*AP3Pt!Y*djC^8vVcFaoH_H6WtQesGb)#0HnS=~vpCgq%HTar1-j7&sSaMVqNu-2=K4UK*4FDtYCl zjMipyZ9A>8yJr7s^^c|Oxvic$i5?NpQPy71KJ8v$!un4E$amgWWIiy1;u`OQBubwD zTMW&4d8d9Y(yh_HyNh6MZH8fbGRq_?C&nZWMt5BAG6Xg<=&+gyeGmKey_`}7U(p*^ zS?TuukhMV4;AbxST|2Hf82DObH)J|jSgFw>N znXL&!zDiuynXM5+esE3%kG@hI);8f&rwCh8#+eLFlE=BI4uiT<9OUO&lM`}yDA!^p zA7*$xm)cN1l>!4VJZ`!On^|&{Jok!{NZN5sXZq@}1m5|8u?OzDQ!PB?`tcwKUTJN9 z|1buEF>JPysVQuDZJ2^x-w*=IF?aAMp4(9#>z*MrRb&3Fgdzfu%WT3;8`$F7@u;}u zFfYpSusGweEXwg7QajfV0)%`}%r@L@IU-j`Z{E>0;py1c+~hGPKn8=Yd}>qigw8_P z1gMiY5JKh;Z&xPB4amcgw?5FIh!LMfbNB{ur zSe|P6qcQsgKfQhUY7@JizX>zSR_UtG=G6PtkF_i?52==bHN3X0UTEDT;)}OT5mMvw z?(PJ_1?>l_H~JuJ#R$sEo%1JiRsmIqd&hTL(JF9=ixYH@-P6fn?4}E-ti42!gB~(OBBTRSY||7F-^t; zq?rd=?$C=SZTjY+u|b#y!$(SxcpI=OB@jGC`SIM6eCIRm>7oE9)~_$sIuWOcY0|>l zM@KVH8yqRF>FQuITjSP3=!#KGQ3etn97#^w_E~-T6BSW`kLzY<5H;0gIk>T9P0h|+ z$-#62*p54h9h_vVprt z@poU{h41q^-kX7f`VGPpr%N~b^VW0|(ul7cEeB@rp`IN>P#1XokI0qg42to3zAZ6x zUHze^-z_aBnqGWIJs_NS8y9*Vp|;6*+pveO{=n*z=vr_&d!H((z^&aVov<9Uhyisq zK#%CX-5@KPKyNTchQQ~vLH^*i|1DByTG^8{Mb0;KAw#zqVOB{kccw-XwPBDghwPI` zF@!AY#HV>fqV_T9B&dKn??6NgYj z4=#sN6VEHxkNFwpVU{Z9Ax&i+p7@`UjiiV4x8@*CWgA}ZL1k?T@UXC#q>wgCG&}V0 zlIu4`AxOGTL!(r^87%YKRpWDJNtR4TEoqNb-5e})*j3|nrb*#ilF5=GW0>OMlv#&Z z6Ncmh;NtJ9uE}4%|wH_SPBG4W$OpH*K z9xNl-HKU1xAyEKFE|G~)B_Aw9`IkVvb@j`YGrc=gZd<2Jr_>89C( zL%k2Dc2}m|mORB3MUrRISjX7@rrE6ni#KO_=Ns!b*U?TY{O+1J6|v!x&KzBZ zW(Vp7BEbRaAIt_ya))v>Jo?27$oAdsfM1h%jim-4oj@l12b@NqlGE9(*=Ov)2!rVF ztNu^pLpP`1jxi%2f1KY(qz~8yXcu5}3QV@Ya709fzx+wp#ASs^rYb%=h7@8|&lZW+ zU<#_fff8mQU!yLnZM#IY23yeeFXZ)TbftGc4sWy zL|A-7YS2fW7&FYAhECNu-3GIl2OUsWs}SZ+Q>iN4)6b(`;fO3uM-m|pRu@5pfjmeO zGVT`#xV~GxLJHLqLyCqf-X?|!*Sbon-=a6~(jE6{`TgKPeYU9r==f7Wq`&SRVE=@w zqZ+p<9G#rTBl{lBg?aWWz=fy>WD#U;^q;TebcNto5Ke{oSKuE*{PU36f-Po2bb?7` z_N|zvI+K9ng2auOYlY=v5)LzeiD8z$S0omQQOCnZ4Prg8uc7u)@2EI&KSO^w9B$z^ zx^f2sF*Uz}YK=DuE_6d^1hE@|`sa&^3-cPu*X$AjCkC}ui73HcvsK`=v)X#i7!Fw0 zY`+1{2>|JGHR}mAUynS#7ngsQFUwj3S)T}Rx0Nkww&#Mso_arRy-*!R2iK8qIK(>P zk^k4w`yJAxvlU4Xi~*3mi}C@LqaSIhxx1R|1!i5(jJuJQ5t; z3sTJp>a1UOdr#`6MxLV_si|g?pR8p?j-eA7rt$AkT?57YHWHiM=(;7T;Ik#^=jTsl zG@3#s?67evHHoh|N4P$Hw95h~%!eL&v+nP=lwQW&7pC1OqUiH)@VVxACEZ=94?SJ1 z*O|N{DrIKhBZ@ov?9c7N$l{(zRQ&sk%$Y9@IW%jD1dIQMTW^cWcUvY310$57Wjk(8 z5NQz8H(#ojBx^ltlW3abgkv51T`sX%w1iJR`OlSlB&p+=`_V38di2}LOD;)v*FD-^ zyjDoaF@jPxJ%Ur{@;5 z*8VE3yKr^A=Xd~|Aqh!Kw;-NQvE0m~4a%-&Jzw~sKj_YCjC~R~t`L5{Xnw*`r1AQM z5flM6u>oOeYM!!81QMhLTIMG_Y|=2tfX8Q*fa3lw(|-9!X9gXgW$r!LU??5Kpxi2 zaL;B6WMtA@_Z6Igh;g*!Pii}y&}})UA*DR;(7Q7KrP1e5&4}^m70fV1xeJ}&>y`ea z`-ImBtuV9RPL|c9=BVh>Nc&Jm^{NX1$KJJQv2JDEuKAXy&4D|G3hjsg#-Wwaom}8S z4e-=IjSUbIoI1KRRA% z{>!k1;1aL@ea5%@p*c5LRd;)?l?}m?^^4mv0e`Z1MOKXX;SYCxDWQsPPER-9;n$Vf zS0|5N3>vAG<%Lb&uY=BCRIaZ|;;!^`No1+DZ|Fx!Pc zFE%!Tito0C*Xa4`x)v8Mt%^2v7+%iI&-59h)Efwso#J^HRZ$}GCLu}-TAZNC1?-~X zx;&21MGrBIS4VGcsu#308B(Agi6_ZNlO2Gd=+U3`LWl=kp9y(ex_E)qfaJspIck24 zsNe3zMLOp*Mz1M<%;SBkXFi9E*Sl%UY$ZrY!;6S?2im#?_e(}JK7Hc+E>)Ei0J1;( zSrX>ejBA##UtRKQ`b!uK#|jsibY(OSTWBTzqK2MGz5K4L@9x<1FS1h9wiX7c?tQ$i zW)W`s9xOC7Ki_K+8k*rkZ-ZN}VtuNhVITzIT>rj-Hbtf8J@u`2JX`pUu6J`lP3%r=FPUtnl#{GQ)=-ArNq{ns;RN zX5;kFvUxMHalkQ+y!H07B7W349Qn~bHF%rwxg}VTuBRS9-8GyO?f-^-AXzuFEfE-i znfut?6&L-f>u}`|dpGZ^o$=VsKQJ^3tcP}g*?&aRRPvsmb;L4y&}MfpZMshccloxu zezZhm>cdPiY(q|O=CuWCIOq( z(C-tVIdM?TuDbQcEn>!|yR}Z)klu~nHA1?eLiHHOQpdx~kZw!OAAA0Xw*lRi@{Nx? zc~VajhML6%2N1V=jvhH#z?ixu%sc4K5w;`8MYYNploVoxB}p zQ^Doe^%Y(g@%M+`Uv5RMNG2xYMMP#$Dt7*+f#YAHBTL<+UM24D%7cjFc**$k={hsXZE0~!s0HMQ z6=hp1QDP}4L524#?+ zZGyg1JPVdgK3y<1P{|z|S6ISRXwv#kC7Hm6~L9Y9!*5=hg!`z@1~6k%+9qHoz>Nf zo7yVZ(!VSWM=;gKfunwOvOe!VSzBTw(Wad!KZ95<{z*A+>(xp#>#^4$}N)+xESx;jM} zOR)wOrjhh$PncwVC^W{qNgTVW&GXaNjQB-`KV&IS=#WvUl~L%KQE2ta6xwAv-I6X7 zcgR}hckkVN>VL8;FrLsy&Pyg1)!Zk2CZ5B^2eXV~59$EQ&-xQ05_HJ$Sr#r-<*W9-H;@ikR_dQRGl#}nQ>Elm z=-^jE;nfvXDRVi1SKgFrEdR)?R+n@Q_Q*AQ4eX5dtM$&}oJvKC9q|b9 zwYy;3tC)Iras)uTNvDdh5CO5ax{)9Y^+c_%RIZ4|&ZrkZ_DIj85fbuPgdC$)2iMkC#k zD+o^G9XR%Imj8R6s;QAhndS3P?|5%7PxMk+aIi9g2&EVQDDUH$++M9oLcmk(^SVB zxp`{aCVZx&2BGlb@3B=fOL+M~6hee!5w9(9O+_L_o=&?aqq`zP&U$B@+$M)dL!DxE zwo1UEU-ju!A(&CY-1RiyQ&qL9;d6CCG`VW{vA#O}l5;n+dUozN4g4cm0NGrklA}Ro zd71f4S#{e8HnJ#Vl}X|z#75nB$#|(SKr@ySQnZsrrQH>1V}4Yx~zhIgZ<}wy`B6 zz46xH&ibqjk<}8K1%`!pbLq!cje_M7DH5&)(tn$-g<2`Okh`%s!rlL#*0SgkU_ct| zK%|Ds3OioAI`JHz@NO?}X|APSeC=Ak#1cL=IlfVUatV$RULf8u_+WNAT(x>m(mq9X ziZ~t~_%KeuZ;Z?0Zn(5e>hCi+xo)^|9+q!~Qp=Ne{1hNqr=kaadK0vZ1YCa>K)86h zst!U}0s_yOotnXt7K!25BeABTBr^13C?a*S2DB2fC8NfiarWAhp^GwqDE3>_k161V zQ*TH>q;E{)n>kaewncZ09TF5fGcKg}$yqRG;vL4z61a|85`d$zgNHH~6b=a0G;pcK|iw zmC6viFy))I@2}vTK`?y{OnA#ocmth#Lv45qZg|r)SrX>XR%Z~kDn_Yz^P_S{JL69< zekZ-HmjsSEe%wu#nrzi#si?{f#9jG1cb~RFLBcPU5*f29o4?XJe||u$txW6EsQ($G zOQ*jp5^^DroB0#zN@JKZ%0ityRBw>+Ct`|46ULl)ePu|)z?9N=WkSH?j^gd)OMdGw z5@cI}MmbK7270-Q`b}rK`jX9(;Bz+UKXc20zvsn+cx5eidHU&!qi}sbqH}woP+oS8 z*3&;xobj*Mo9m|7w>@q7UOCI-@kXjjXUX`01Pg(jK>q;BZ*lq!#>KM%3^^j~f~Uzv zl#mn9@kXX?jkg^bus!pH!0WT;t!rUvVQFb02_|i~YzRr_nvwVYplnQ8m!LdXNjE;% zXFzsy^Oa@J+LfI(XhKQpSeyLV-YxQcF5ml=FsRUue2$6?COR2@rGmoSHVOR|uuK#6 z*PtZ|rEU`FOR?5y-Qpd$D@hLN9(W}e_pdmT5Zv653-f1!^0DM0QSsolBnZ*(cf=l2 zRtnVabCr=Vwjl7QyNBcOr4LG+ z{w)g3ygCpQJwjoB$_x^f9Z@$dYWTwaIhn+y2|PY(Na!C@ewEUYzKZkE0_(a-7zilb zg9*YBbTZN^M}D%Lo`8$f7-L-v+Sc(^3T|A3rs7T?dGA`^KEU78Y<-w&Z&PYbw=Xk} zO!j*IE;D&~GAcy}hRN$E4NbZugxL3^EL{Q9L9 zs8EBPNp?JUm{fMysFv6$$=FI{|5#7mjAQ)z?P>~Zx&qQxL95%__q8!|emnDM69gwk!3l21#02@^>{tz>%AtSS<+@@x{4P7V&*Zyk&jRE=N( zwI9~oGRNY9r}CrfFkItIF{%V9xatWc$;E17{s-cSB3nUt+(kVSgyF7;;jD~5&nPOf zGca`W#et}Rvrh%ZDFb?&99CJssCp7SN076Lkq_WzkHlf z+go?fx1v35?x=DEFOczNx)7B%n{u@sCB!%&b}u))h{7bW&W;zr796+`jD zLhsMW0+dtmR38_5;*15h`XCd^3RtKFBM_~o$8fZOTgP)6lf<#!skZ-)9jLX8te96{ zN!`c)!CaPDMZdz6B4!QmZhhb1GM0AQC;#kuw?%CA==nNr!~fVddLgfcGRq0K@3<4* zq0hHBas(H{P$36h9fEn5ZCGKbujbM}OjxNCSYRmb;t9VaTfKYt{>)9? z@7w*vKQi#|S$_aVf~{l_hmigGB;frLP0Z$?cxyldJ>JFccfE&2brPTulRe}|1b+77 zYcEV0Q3v$!_D`G!M@Uq=$KM-WQYQa{?*t*G=e?I!ILEr$A%E((=TBH z>K^_pW)j@+)&P$XeCu%3@}QIaSsNiB_<6}kNRRxIlny$iL6Q{&TF8T)p`VfMhkL~; z(OoR=s5a;g$|&`GtRJ2WzMUom#RU<)08xq7A|)U}4DvLIbs={BS2^>15jrq(k)e2Z z$OH9XGT?d)aP68jv@jEY?y?>UfBSgzezG(Ui5w1VV%*Tu@v<6IAHw5vuRKA9=Bwb? zSjab%)$8^t_y=8^fq}D@MNYeFcv4u-uY>Ny#JA6SY`V0M*U#^;CnvkJvoOzS;EyW(1ntE>1oFkelTXZM69Tu(p zB$oAje9h*f!Y{$d?rICoJ`e5gwu#=p8-}<=V}eG3($~N!z&$`z2?5b83&>J6#-)riNJKvL@4X@UslAAIf!n+lbYM z#6|Krdb+feLoATchXO>PCb+OPsukw$GPjXt`s}N^a0VtX#IoZ zdY?j}`r(-w{}jcrie(WcdyAmdO2BCORZti%xl`LEd%M@Kg@#J!%fI=`dLo!l?qLXi zjhdE_oN;IjFC9{JBrT8Kxon1sqj+}w_*eD>#&PAq@A0_zB-89kPWK4sf%d9GOhvVh3h7SSWIEw!;;lPde-^ui4 zcOchSwSIW>L5Bu~JoAl>Bg4S^JSatcIVzXG7>jOw%yu`&#XU%9I`cc7K1GN^YohM< zww+;fH`q}7-Tg8^kC=1x^{N63`&nE{V3bU2sFR-6vTNmi6C4TGm4mflNLfAC7ySX< z;TSQ5@gw`w_f#B;F^K2!3W*^szG5*tTKvb9q7^@EaKxH;c)>#>D1uTZ*Ewm^T1lCj z3uB-daEe55Bp2J!#SZhSzYVyaHmvX)Nwz{)jem+tJ|Ru?fjOO>Ba)WN(Fs(r;C`ui zxxS@%Srg{iN1jMuP2{d7t&uPL>)CItyKuPXlA_7xK-e+79$hU^NLO3T4N#1?q3|Ep z1$zGM{5Vre22e)91>WiwH*VSyxVmUb*r~QG;Vn+dFX_R=tKw5-)S=>k^TR-?|Jat3 zn&2$&m$#o*m^=H*zK9P03ML!&3OkmxKwl)Lcaj6Zoh#CaoQ*?+x)g}zu&`PX3G~RXcG?A8OIe%Be=g{z`AvBom`B27EO>mo|o{*}S! z(P;mYsq13j1%l_MIEX&e6XH@BzVqdT<3J}oqEF9iJy z1f4Jdh~~4)=2rI;z57jX>^I`*{FuxHnJG}s@5IXDuUHtk`FUPCYW|EcrB{UTW!hK;94CtJKGr7E`&WDVPz6z2@U@+|{)rQ;BFf z=Mv>(@-Tg^8sJwMjz_aZQmVWC-ve40lyI8;^Bhq~L?iuX@YB+8Vnm37rDC{p^>`!7 z$XcsW8&r*i0Iz_#j5~f)#;Tcdov(SVnHP5PJMEII8n>J*wF*i_k7hom@^r);eC{T) z=ELKqsoY5eUL90UH<#xJ&!|T~uDjJqN#7_^-A8xgwfq-Bh@&1PZRh^;FxDU@$G+Dd zu;!ZQb0zhq{27gF#E^`?%Pr{W_P+jU-1>K;OREhHnuKM>6xD`w>ra30_f!eb=|%5^ zFKCQARxay>Q!qdC1?FE=rPtsWBObkPQE&D2StqhA+#7z}Wa~Z0k_SkdcvY^1LL=U5ELgg0D=s3@j=h%cx^qM``)Y^ZemuYS1sDC{GP%C+SMzY^0~~x( zUkSQlXHWtn9$7>b4VFG52Sm|68R{|Dn#s&-omc2yFN9JO(7h`!ooX+k#JU0q7o7NW z%X$I?Rh>Vee3qE18N-^;_gc(=R8C|ybSIq`ol~g01Ms@Nqo{-U+Hk5b%v+l|SG$T2 z+~aZF8m#>f?hmr20<{EQhEq1OrX1xM0!>{RGFjY>&7LEv(ceA2_WNDXSDRi==WvqP z7V)|`WEBEyYZ~3QAs2G{)WZk`^o--fG5jutC@BViNZ5|d6hRL1!5Zkg_>dVeyZEGC zf$I7qHvb53!8<>A8|By}ICK-)4t{;@+H|(F+bf^Ua;Jw8R;)S<9J+HMC4tv~ss#e< z1kNx}IVyo3%D&WumYaW>rd%kV<6R#(3ZdvSei}B2oBBXcKapkCRP7itXV!u@KKE{9 zjRoFd(6!D7_|WKUFlWGMjM!NA;<9Jj4D7uADNnwi6!9l%4~O7EpHip^usfciVa)lU78^SQ&EQy98~gUZ$(>DjKvOjzQg<5MxX8 zcV6iIO-P81cO(BSmgw}vLi(DT`VyY!383#QnXJql3Uj;dURzL*F7Wg9dctgC(rjWz zt=_r}Lq@Gw0}BQd(E%BVf*AP?$g05JQ*afi1mAioWmG~C!vxR;Z<9ywdy-uj-Voi5 z5S{>Vedn&uUhW%wpSF~+_tB?gw@8lJWh;fQ16k^!{qhcv67E#JB)0_8vu0*gRXO(k zc@&OB1PWz|d&mt(t_t~I;+Y_yaWqg_>VdCmHcKimRpGUzlWj)a2@``Cbz%%*Z+O8! zdWAPhB`vZCluw6nzw!~RmsJ=W?4Xh;pGI2a?oxZv=hzHzOQmKRfUEuP;J@IVP|ZJY zv22}%^JMAxbbBa|b$F%XR=Da3PNxjFLjxDSK-Ozf*Ye^&pq5toc7_A*9+nGE4B0Bh zIsAH}-qYSKF8zX~d<4G?!J%Ry`k>`193tM8Frn7x&%T5XjBG=U;>j}#`DG94K>{~q z1HqeFmuqu{M8P6}`;oUz)-58K1$V95JAoeX%IPq)bt$D&igjyx!BDaJ_5)13iPTMX{sX#W)VbPfva_O#ksq`N{&@Xpa2$<*T?Df}IpDcZp zzi#5|$vLgciLc(WypVJhmETm}rq3JAJFMdB-tn1P2akyTaNuGQ1kn0EPMuudv8LCD z3_}IfRr0NJx<0%(NG(Hf#qPy>^!1m8Cw-(K3$>HSF4JPCD4e8Eoq1Uall1aaE356g1cx!jg1A9Mf+Mg46Oq{h@wRO?Q@Pz#6a8Q-PnD=cX=xsO6sc zVbW|@-)K@ymj;&>;L5Si+f0rUR^N~8Gxs;1 zvK7Y+)Oy=FcG91+8my+dJuk@#@d?WuMA{GT~(K=M08g zwOx$b@$6n?lur?OV6-YEsnBbib7LULLi@q~j_*U!^Dzj?n)Oe7wwj!dZ`FT#lfI&g zTf5o{!-O$3=Ga7&p5(3$9FCc?M_%l_0w#uX&bfIeUUmTj%#ZEY%kJ;o#+KmttuZSs8DFsN7HZb>@<1UVA+@K_SyS*Bprx! zK&A%nej#VRSg&}5EFP1K-c8jbfUlNd!xY;S2Oe}Tg~$o%{0l5;hXhsn29}UlC;a$- z0bM|%zm;=VEsoLT=Sy^1 zB0`Wocv1ih;2w%&FS1)=FaKcKLgQhRjst}zA0w$B;In`&e9xM2MK%pW7f8p-ZOoha zap&5|NNTany?@kcuBjWTI}h4Nix#XNr=K=!)-cy6;oug+heg2L*jzy#VA&~fEr(x3 zE>0se$hCZuh`4cM47|q6blcIs30wGw2I zL2C6fV9@kX&VLc9|XLUvCWEr=}F1dOv zvm7ZgtjFD>QUi4tm``4a$c-`S@u<9pa9$)UO_X3g4s|IU#}meJn9I1t<~Mbzs;^q( ziiS}Gx09Q7DOWyOJf};&Vsay1xb9DC0#l>hZ`P$@_4zVEm*RCMH^Xt*p|}w+F`a`F zAf_YNFP7M4jg`kPgm%d3)h_-EX*-gRu3DC%Q_yi=4$O!c*hV+h$CI#)gx_o9!pRA= zrPAFqr<<$RSBFK_tSPD5+$`rpikIaV4rfZ7(pPje+*27OZ`xGWxT{UhGAT{tiu{Sf zAYkd2ou1%m7m-@0ifzga4lNi=jjB!$k|yT(2c;*l&WZj^aHj4%x$Exp1~IGlx0&ky;UPVN?F9nrJpO zzc;yZrZRdycdD`@wCUggc}kbpw7$eYEVo@j{(9q8*dCM&>Jiu;)DC`vB@Dg?tK;}8 zIbR)DN_~CfRrp7U2Pejyh93nR*iL4Le$Cmyy^73#bN|Xn_$-lsh2?*eas00=|Edzi ze)k;(w0iXW#;a85i!W;56WW9JKeZQryv6A>KLfU;@LTz9DPRjfqb4iC7rKAy z-UnKqCWFaEm=3{w7KO&+4#$nGae=hqKv?fY06{-nfRT9KYoT9aW9B?3CwmdFaCER` zqO!Okn`FK~QEX4Wd&AbJB98+UP02`#0^YH?;iu_n*nSxt-vhAyo9yNLDN_45`I@er z{3qm7>O(F<< zQN1X$Q|;|6%a4i4mpS{Sb!GDD9@V3>c|Rq#Wk^+0O>5%Md7H;;JVKodx@WR}j%_K3 zU1%Lw&=UJo*2>O27r|!#7je~Ki$l4(%Ch{wM9&Jg0|CdE4aXNk5H={@COG8rIN?4e zj7sJp7;|u(+t(Y1;+@i&Xosi#jwj zH7&p|AvWH(d4Tg)wWNk-r=>~#6XRmV(fOMN#r_JyIKp%-V1n2$eZqHEWe-)tEJ0`4rdAG9-q;GparEyPanSf!+-6jUeFZHmxN z>;T%W=ydWYpjD2!`8!zwtM}fqjILi>RJpM(l9iP$QE8SG1Y3eZav%Tri{&gkFDAbx z6lAeL+4f++BDQsNN%>U1e^kTf8vaEV(r{4!4bx2j6WYTl7J`(Iztlp?!Gl#a%SkyW zL6>t*I6Nq_aIyeq5i2w(dTqfU$H(6U`jh zt)<&v>FaxWdui$Rm;3r&*J2TGAY3+ZwA36RhkOu#u7U-g6GR#NEp`3k%<;()vdNLPuLO#wS zaU*}!Ev7D!|HXJiybYZO*Q$VMzda(xnbF0V`EvKo%+Fscq)vDl!oPG{P~JdVVuQ*j zY2@M7%9HDh+1$xJS#{f6qQzyqhI`LVrAae8Q{pNUypu+bv~@l*tYo8G?`>$?*%0l&oJaAj?-8q(zgQ%a(k`+UL)*&}ntv7g!J3#O>fGsaKMCWA;i8AX#K zmg=vHEO1;Y14CcE8(*z4Ht$+E-|_}D7ROw87U46 zD<09Pdvk-Mr$-Z;)DnrhDRFd4yDGeNblby~6-Ty?m4=6xj%__sQTgz;(bDi3S@p_; zk2f|xesE>A%=|Oio;Q*!jcMInnpZm88Y|5m$z8P~x^f~lKW)5HwruS{!`XeyD7j zBcic2g|lstDpLUL)tJ+(4mS3VPFQEj5g4haqn7hYo2Z10fbr=gyB}?8?wMwTvb$6< zHEO?w3;E}zIjRWDN2cy^49_HAa8r1@M)*1o*7Yn+Z67YLl9ebWlGL_T{?*9xkU;lf z&h1=rr6ev0E+x{rTZwIy2ep2&Kc(^ee6a~2{n?v{0AkSU3oN7!T?og5@#WVEmo zOXso^hVHgZ9A3#uTJyf7fhf4)z+D#$LzDO?>Io*L$e_MK{GDS27g z({T>WW!)xnh*>H}Jg}eomh6W#vO~M7omp-Mj$z)SclY}xl}1JsC;CA_jEF2v^5fhi zR8s%sa97vxWPhnD!kzwOWSPp}UsVBI=0El zzF8xOX1!Z%i6TH1;aXh~niyb*$G4pR3QQXOmNH5L6snivnQQ!i(cg~2GuxBU_VmEs zggMI|o{Xh}$&U__f0mW@Dq7bU2a4Fh`JrbwhF2A)xkS@(y5-{ss(oWy?z;Gs zJui1m*o9`Wy2qJM1llw~+m;k^zu*!YJfaFd?7oN@$75YZ?g3{6A2HM&7IHrsIK%z|{4B{m z;;$g|{6#(386Ip^;P%Ii;0AIJ*|${k2cAIuA4J(P8-#9F17S7L1v`j;Ng zSXvPkRk1V!ekhNMDqorr*P0y?lHD3N3_pa1!Vg&IO%ul`Yw9@Ec^Qrb)Oi^o#-Ixc zrkXjmSW4|DtjXQ*-z;EH%!3&BktlNz;Y>iBevFevdLp1aa*hfK zD^&VPv->rgzU%;!1u^w2GKyDKM);-F#P|i+QKk$F@`;#CWqd$LQT<3>#!!B6Xkov) zYHekRykTuY_GC|!%tIcR5)A4Ld;rIe^9C$}ZT$&SEHN)*iQiN ze;N3<{$~isv3WedAYtBs!sEIXJ_cSfgNGR5aNZxA!D$nIH}MFDBb^q5+X)le*FS{e zUqkp`%-~~0D~3ajL(a$ThY9WLmtr{7J!Cj;U%>CyXJI;3!hYX{bh1H_GVE&e$y@{B2qfqY%pW6EOCttJd}{1UINOjuixiq{s$ zs4bEpJla6Rcu;%?_!!{L;K@cfC+|DDG7=Q9+f2UsAMos;W0^uwjT!CDh7X;gE-n>3Ivb4A>!VAB&AcevbYk(qeq_C z^r`mXa9p}D>-1+upRf7kp09H0 zjPzU-onG=v){SSQX=erxF~T98rDky2gx^j4Y?8%8 z7Tyr9G_2QCAli@zAcH)%SlH!ESpdkUu$xN>;=xeQ(Lse`@MsUeiDki1$IklD(E6Pn z%xV6$gq|H`WjneP__Oe7t1d;^yiA$Ayjh9%jl=q@v_GSVItTf`k-oznKob(1k;eE2 zWv~sPDT&QVVSo69edK;cf0^9Y)yvg3rnsRvCbe@_LP$+Xn!Ss?GOI8kZ3No<2yWxz z;bIf0E)7fW$PA=MpL;z()0P;niH}LljgBtJ&=j?)vquVotzEorBNux*FAB+O=3*KegJsQ}icWf*xov94xx({^%pDjDkSyUd=zN1<_R2I9yEw5!vRlBo; z)BZiIVP{9zkvLDcX)Sc-R0f|8`~8EeHwT*iiJY@XbgJ3AM1G>A7rjVc&1^!F6;GofRBN#X7Fo9 zI9#uX%-}B@;BZ}r^{8L$#nLhFL-RMS4niM+41UxE7ZGE@-(mcZAp8pRfe|0- z`6Ps|hq4C#!<;m=)2&~u{|?IF2`IBRqCj|pNQ4-UwsR(vaXrzs4dmcK;VdW4iHi1@ z8-fI;lz5-yq=6$xgw^K}Y{pxhi6*x>*_(+OHXi(0*<0 zW*wNHC{0;%pfZ2&SVrc|6Wzj^;J6XqRGKl}u;dCGNFS-fmHDG2Z+n9Z(!?mu| zUv*!ZTp30K>tr-2F@SUnO&&-J@<$(SMZZLN!F@X3XyF=m5D)X+MYtbjwxK{B2ZRi_ zG8EcM?2jx?Y^v)*;VngbcyVH*ET8jaog-31!Rg?pSQO!+(w#z*gZRRtHWc>~;$0rD z$KOc%ekTrjxj3D8-KT!!o}8qyt_m?V=IVxGUhzY16+YSx!6*=h*XO8-*DDR{@Yx;V zW8k0}{O?9MT!*t}@K;Ru-NZ@^$NqoZPOYJxhPk+#DR;oAkIdt5;MTa?7jv<;x%eA- z<@UH6HEs;GIm`v%Ebi9^+#&KdH^x^CV}x>@D)270Pes>FcIy!F8pt&1=ci11euy|s zSefiuTa!IoK|Bf6Cj56zdb@(yNzf=?mmj8IhI^|QI%!)1<7ogXV}PxHsE;WzC9woz zK+ce2-xRsGrGu|qK(y^*yM(Zmd@p#;zF)}g<*%T;UX;`89vh$RYb$YG?6NRokw-?h zI3+pW4V*v;zuH)84a&FShpCt0evyWvCw{*#-{ww(yCnyw)#`WT;M_I`&!}X+<>tH` z+P_2gdlGYQpJ`G&cWbf^vj0&|F}6hm3^o#hZBCp!gLRF@z?+j;rwI7TMto>H*_+{C zHR40w-)e>rO!$@H6Epl{Cj3gM>F4kjCj4@EzNs+be{I4qC+;UmgYEs8g+GJ`8sKkW zzM6pTyd@$Q`$MgUPMUGlKe256|8_1Aa)9VEbTJBB&=OPX&s+i$cIV3+WZ>5LHC=Z9 zTn>;aFNnVf472xZt8UK;V!(C1DHF)Sm>&dY+1Fp!es-tKAmh13iDfv*Agga<85Z{P zCrx|*5V4oAG@a#aO=r9c;(1JK0skG7O;AB>Bq&q+*G%}8;67|m3;4%P_?4gwLIH6J z$~?*k_cP>!OYSK3H)V+{Zj%|0h(xi@$}D&MR!Q(qPK{poZubA-B`jaMnV8X8i z|2Av?mDDeRE>>aazP^O#AK}@dW$L^d3v}qFy)-ixjxLYm|1E3sZ znbm&)nYIM`8U#N`jeZ&OHR$1KigaZznC#{neX{-+2!9j86S0g7{*fVlKaz3%RtTq= z!zO!rNH5p_2g2bK>4RllXum?=hA!UI`YX9@GKB$7ZP%1waeze>j$bJ4D{EPR0YKkBbB7nswFjr0vC z9dSDc_$(5hhafx`!}Gwy7>;c38N7bs2A=&75JUPl@mcWP^P;UkC^nsY-bXynzlH8< zK>P@UOpNQ1-|jg74$7;8@O%S&v3@`DyF-}(aA*sJ9S8EYOh~ueaFpZDg6~p!npC8d zHoAY%ar^@CAKgE6AEI$RkM4Egc}E)jZYqG_Ct*7$EZQNwzyOZ`%ka25&^-_%KJ0&~ zJ{sNU<2#6d<8c)TaQ&AUZn!sM!jA)=>Q5n`3tVh(yiXSx;A-REWR4GY#7nwq13o#2 z57*~s-4QtNc@Y0Ad`F3}^K)SE9$_JeEb=p`;}4-LDi^ zU@z^*It|hZ-Dxr6Lpptd>2Vy=?0f_-^sJRtv}nQZ*$Tsbn-feCZ0}Kc4nR4MP|w-nBnfQ&nzbu8PsIF06!Fw-*-T~V zt~Gv2pM|z+pT4oMf}X^hH5D=|C^=sYtdjSiS*i;XdRw?>mi%b^V2xiw>uQaz9A#G# zCjaIllYesvSb#dy`SpV7{5k}wGtY!CHTg*^h+pykB;a2$or5cggLr=u@QY3OwUEn- zP58VCzZMRLhx!!Ovzu#LQ<0$`;InCJL)-c3|c) zMe~^4+1JMTw?|*wQh@zh@Z4mP2-ibSWTBIa-QB!bg6)D2j<@7WnicjiSuoY;gk8LK zsL08wsBdj%eQOdjXzErA z=kBPQRRsmBYNE^>RyIBn-a)CEQPnH+@>fp6us~yW%2S12%IF0yFKfS9@FtzV*#E0_rDVDnj zaD9WX4frBZ?n>hE;JZrr+!SLN&%2m+aDFEqPq_hJiN_=0CmZphP4ZVW{Hq3h5h&~B zh4y(hx(j7$e;IfM`|G;-43s}=YJVBX(Q8fZD@^T|6F*_z7ux^Y)PDJ-Fn*5DL3fuR zJl4?884UO5bI3ZT7Q!n8IPtxJkM25IcpC9x`+oxQ2w#7VtQ9#eHsC}3y%Jhib9bW_ z8TKK=4QzB{kQ)1y<-Z2*=$e%7hhM2Y?HMYM1wXMYKc6t>o-Sc(u}y_@Ptj|4%0D&c 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 H5)}XdkwQtE literal 0 HcmV?d00001 diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..c5bf761 --- /dev/null +++ b/css/style.css @@ -0,0 +1,11 @@ +@font-face{font-family:"Roboto";src:local('Roboto Thin'),local('Roboto-Thin'),url("fonts/roboto/Roboto-Thin.woff2") format("woff2"),url("fonts/roboto/Roboto-Thin.woff") format("woff"),url("fonts/roboto/Roboto-Thin.ttf") format("truetype");font-weight:200}@font-face{font-family:"Roboto";src:local('Roboto Light'),local('Roboto-Light'),url("fonts/roboto/Roboto-Light.woff2") format("woff2"),url("fonts/roboto/Roboto-Light.woff") format("woff"),url("fonts/roboto/Roboto-Light.ttf") format("truetype");font-weight:300}@font-face{font-family:"Roboto";src:local('Roboto Regular'),local('Roboto-Regular'),url("fonts/roboto/Roboto-Regular.woff2") format("woff2"),url("fonts/roboto/Roboto-Regular.woff") format("woff"),url("fonts/roboto/Roboto-Regular.ttf") format("truetype");font-weight:400}@font-face{font-family:"Roboto";src:local('Roboto Medium'),local('Roboto-Medium'),url("fonts/roboto/Roboto-Medium.woff2") format("woff2"),url("fonts/roboto/Roboto-Medium.woff") format("woff"),url("fonts/roboto/Roboto-Medium.ttf") format("truetype");font-weight:500}@font-face{font-family:"Roboto";src:local('Roboto Bold'),local('Roboto-Bold'),url("fonts/roboto/Roboto-Bold.woff2") format("woff2"),url("fonts/roboto/Roboto-Bold.woff") format("woff"),url("fonts/roboto/Roboto-Bold.ttf") format("truetype");font-weight:700}/*! + * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('fonts/fontawesome/fontawesome-webfont.woff2') format('woff2'),url('fonts/fontawesome/fontawesome-webfont.woff') format('woff'),url('fonts/fontawesome/fontawesome-webfont.ttf') format('truetype');font-weight:normal;font-style:normal}.icon{display:inline-block;font-family:'FontAwesome';font-size:1em;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.icon-2x{font-size:2em}.icon-3x{font-size:3em}.icon-4x{font-size:4em}.icon-5x{font-size:5em}.icon-pl{padding-left:5px}.icon-pr{padding-right:5px}.icon-glass:before{content:"\f000"}.icon-music:before{content:"\f001"}.icon-search:before{content:"\f002"}.icon-envelope-o:before{content:"\f003"}.icon-heart:before{content:"\f004"}.icon-star:before{content:"\f005"}.icon-star-o:before{content:"\f006"}.icon-user:before{content:"\f007"}.icon-film:before{content:"\f008"}.icon-th-large:before{content:"\f009"}.icon-th:before{content:"\f00a"}.icon-th-list:before{content:"\f00b"}.icon-check:before{content:"\f00c"}.icon-remove:before,.icon-close:before,.icon-times:before{content:"\f00d"}.icon-search-plus:before{content:"\f00e"}.icon-search-minus:before{content:"\f010"}.icon-power-off:before{content:"\f011"}.icon-signal:before{content:"\f012"}.icon-gear:before,.icon-cog:before{content:"\f013"}.icon-trash-o:before{content:"\f014"}.icon-home:before{content:"\f015"}.icon-file-o:before{content:"\f016"}.icon-clock-o:before{content:"\f017"}.icon-road:before{content:"\f018"}.icon-download:before{content:"\f019"}.icon-arrow-circle-o-down:before{content:"\f01a"}.icon-arrow-circle-o-up:before{content:"\f01b"}.icon-inbox:before{content:"\f01c"}.icon-play-circle-o:before{content:"\f01d"}.icon-rotate-right:before,.icon-repeat:before{content:"\f01e"}.icon-refresh:before{content:"\f021"}.icon-list-alt:before{content:"\f022"}.icon-lock:before{content:"\f023"}.icon-flag:before{content:"\f024"}.icon-headphones:before{content:"\f025"}.icon-volume-off:before{content:"\f026"}.icon-volume-down:before{content:"\f027"}.icon-volume-up:before{content:"\f028"}.icon-qrcode:before{content:"\f029"}.icon-barcode:before{content:"\f02a"}.icon-tag:before{content:"\f02b"}.icon-tags:before{content:"\f02c"}.icon-book:before{content:"\f02d"}.icon-bookmark:before{content:"\f02e"}.icon-print:before{content:"\f02f"}.icon-camera:before{content:"\f030"}.icon-font:before{content:"\f031"}.icon-bold:before{content:"\f032"}.icon-italic:before{content:"\f033"}.icon-text-height:before{content:"\f034"}.icon-text-width:before{content:"\f035"}.icon-align-left:before{content:"\f036"}.icon-align-center:before{content:"\f037"}.icon-align-right:before{content:"\f038"}.icon-align-justify:before{content:"\f039"}.icon-list:before{content:"\f03a"}.icon-dedent:before,.icon-outdent:before{content:"\f03b"}.icon-indent:before{content:"\f03c"}.icon-video-camera:before{content:"\f03d"}.icon-photo:before,.icon-image:before,.icon-picture-o:before{content:"\f03e"}.icon-pencil:before{content:"\f040"}.icon-map-marker:before{content:"\f041"}.icon-adjust:before{content:"\f042"}.icon-tint:before{content:"\f043"}.icon-edit:before,.icon-pencil-square-o:before{content:"\f044"}.icon-share-square-o:before{content:"\f045"}.icon-check-square-o:before{content:"\f046"}.icon-arrows:before{content:"\f047"}.icon-step-backward:before{content:"\f048"}.icon-fast-backward:before{content:"\f049"}.icon-backward:before{content:"\f04a"}.icon-play:before{content:"\f04b"}.icon-pause:before{content:"\f04c"}.icon-stop:before{content:"\f04d"}.icon-forward:before{content:"\f04e"}.icon-fast-forward:before{content:"\f050"}.icon-step-forward:before{content:"\f051"}.icon-eject:before{content:"\f052"}.icon-chevron-left:before{content:"\f053"}.icon-chevron-right:before{content:"\f054"}.icon-plus-circle:before{content:"\f055"}.icon-minus-circle:before{content:"\f056"}.icon-times-circle:before{content:"\f057"}.icon-check-circle:before{content:"\f058"}.icon-question-circle:before{content:"\f059"}.icon-info-circle:before{content:"\f05a"}.icon-crosshairs:before{content:"\f05b"}.icon-times-circle-o:before{content:"\f05c"}.icon-check-circle-o:before{content:"\f05d"}.icon-ban:before{content:"\f05e"}.icon-arrow-left:before{content:"\f060"}.icon-arrow-right:before{content:"\f061"}.icon-arrow-up:before{content:"\f062"}.icon-arrow-down:before{content:"\f063"}.icon-mail-forward:before,.icon-share:before{content:"\f064"}.icon-expand:before{content:"\f065"}.icon-compress:before{content:"\f066"}.icon-plus:before{content:"\f067"}.icon-minus:before{content:"\f068"}.icon-asterisk:before{content:"\f069"}.icon-exclamation-circle:before{content:"\f06a"}.icon-gift:before{content:"\f06b"}.icon-leaf:before{content:"\f06c"}.icon-fire:before{content:"\f06d"}.icon-eye:before{content:"\f06e"}.icon-eye-slash:before{content:"\f070"}.icon-warning:before,.icon-exclamation-triangle:before{content:"\f071"}.icon-plane:before{content:"\f072"}.icon-calendar:before{content:"\f073"}.icon-random:before{content:"\f074"}.icon-comment:before{content:"\f075"}.icon-magnet:before{content:"\f076"}.icon-chevron-up:before{content:"\f077"}.icon-chevron-down:before{content:"\f078"}.icon-retweet:before{content:"\f079"}.icon-shopping-cart:before{content:"\f07a"}.icon-folder:before{content:"\f07b"}.icon-folder-open:before{content:"\f07c"}.icon-arrows-v:before{content:"\f07d"}.icon-arrows-h:before{content:"\f07e"}.icon-bar-chart-o:before,.icon-bar-chart:before{content:"\f080"}.icon-twitter-square:before{content:"\f081"}.icon-facebook-square:before{content:"\f082"}.icon-camera-retro:before{content:"\f083"}.icon-key:before{content:"\f084"}.icon-gears:before,.icon-cogs:before{content:"\f085"}.icon-comments:before{content:"\f086"}.icon-thumbs-o-up:before{content:"\f087"}.icon-thumbs-o-down:before{content:"\f088"}.icon-star-half:before{content:"\f089"}.icon-heart-o:before{content:"\f08a"}.icon-sign-out:before{content:"\f08b"}.icon-linkedin-square:before{content:"\f08c"}.icon-thumb-tack:before{content:"\f08d"}.icon-external-link:before{content:"\f08e"}.icon-sign-in:before{content:"\f090"}.icon-trophy:before{content:"\f091"}.icon-github-square:before{content:"\f092"}.icon-upload:before{content:"\f093"}.icon-lemon-o:before{content:"\f094"}.icon-phone:before{content:"\f095"}.icon-square-o:before{content:"\f096"}.icon-bookmark-o:before{content:"\f097"}.icon-phone-square:before{content:"\f098"}.icon-twitter:before{content:"\f099"}.icon-facebook-f:before,.icon-facebook:before{content:"\f09a"}.icon-github:before{content:"\f09b"}.icon-unlock:before{content:"\f09c"}.icon-credit-card:before{content:"\f09d"}.icon-feed:before,.icon-rss:before{content:"\f09e"}.icon-hdd-o:before{content:"\f0a0"}.icon-bullhorn:before{content:"\f0a1"}.icon-bell:before{content:"\f0f3"}.icon-certificate:before{content:"\f0a3"}.icon-hand-o-right:before{content:"\f0a4"}.icon-hand-o-left:before{content:"\f0a5"}.icon-hand-o-up:before{content:"\f0a6"}.icon-hand-o-down:before{content:"\f0a7"}.icon-arrow-circle-left:before{content:"\f0a8"}.icon-arrow-circle-right:before{content:"\f0a9"}.icon-arrow-circle-up:before{content:"\f0aa"}.icon-arrow-circle-down:before{content:"\f0ab"}.icon-globe:before{content:"\f0ac"}.icon-wrench:before{content:"\f0ad"}.icon-tasks:before{content:"\f0ae"}.icon-filter:before{content:"\f0b0"}.icon-briefcase:before{content:"\f0b1"}.icon-arrows-alt:before{content:"\f0b2"}.icon-group:before,.icon-users:before{content:"\f0c0"}.icon-chain:before,.icon-link:before{content:"\f0c1"}.icon-cloud:before{content:"\f0c2"}.icon-flask:before{content:"\f0c3"}.icon-cut:before,.icon-scissors:before{content:"\f0c4"}.icon-copy:before,.icon-files-o:before{content:"\f0c5"}.icon-paperclip:before{content:"\f0c6"}.icon-save:before,.icon-floppy-o:before{content:"\f0c7"}.icon-square:before{content:"\f0c8"}.icon-navicon:before,.icon-reorder:before,.icon-bars:before{content:"\f0c9"}.icon-list-ul:before{content:"\f0ca"}.icon-list-ol:before{content:"\f0cb"}.icon-strikethrough:before{content:"\f0cc"}.icon-underline:before{content:"\f0cd"}.icon-table:before{content:"\f0ce"}.icon-magic:before{content:"\f0d0"}.icon-truck:before{content:"\f0d1"}.icon-pinterest:before{content:"\f0d2"}.icon-pinterest-square:before{content:"\f0d3"}.icon-google-plus-square:before{content:"\f0d4"}.icon-google-plus:before{content:"\f0d5"}.icon-money:before{content:"\f0d6"}.icon-caret-down:before{content:"\f0d7"}.icon-caret-up:before{content:"\f0d8"}.icon-caret-left:before{content:"\f0d9"}.icon-caret-right:before{content:"\f0da"}.icon-columns:before{content:"\f0db"}.icon-unsorted:before,.icon-sort:before{content:"\f0dc"}.icon-sort-down:before,.icon-sort-desc:before{content:"\f0dd"}.icon-sort-up:before,.icon-sort-asc:before{content:"\f0de"}.icon-envelope:before{content:"\f0e0"}.icon-linkedin:before{content:"\f0e1"}.icon-rotate-left:before,.icon-undo:before{content:"\f0e2"}.icon-legal:before,.icon-gavel:before{content:"\f0e3"}.icon-dashboard:before,.icon-tachometer:before{content:"\f0e4"}.icon-comment-o:before{content:"\f0e5"}.icon-comments-o:before{content:"\f0e6"}.icon-flash:before,.icon-bolt:before{content:"\f0e7"}.icon-sitemap:before{content:"\f0e8"}.icon-umbrella:before{content:"\f0e9"}.icon-paste:before,.icon-clipboard:before{content:"\f0ea"}.icon-lightbulb-o:before{content:"\f0eb"}.icon-exchange:before{content:"\f0ec"}.icon-cloud-download:before{content:"\f0ed"}.icon-cloud-upload:before{content:"\f0ee"}.icon-user-md:before{content:"\f0f0"}.icon-stethoscope:before{content:"\f0f1"}.icon-suitcase:before{content:"\f0f2"}.icon-bell-o:before{content:"\f0a2"}.icon-coffee:before{content:"\f0f4"}.icon-cutlery:before{content:"\f0f5"}.icon-file-text-o:before{content:"\f0f6"}.icon-building-o:before{content:"\f0f7"}.icon-hospital-o:before{content:"\f0f8"}.icon-ambulance:before{content:"\f0f9"}.icon-medkit:before{content:"\f0fa"}.icon-fighter-jet:before{content:"\f0fb"}.icon-beer:before{content:"\f0fc"}.icon-h-square:before{content:"\f0fd"}.icon-plus-square:before{content:"\f0fe"}.icon-angle-double-left:before{content:"\f100"}.icon-angle-double-right:before{content:"\f101"}.icon-angle-double-up:before{content:"\f102"}.icon-angle-double-down:before{content:"\f103"}.icon-angle-left:before{content:"\f104"}.icon-angle-right:before{content:"\f105"}.icon-angle-up:before{content:"\f106"}.icon-angle-down:before{content:"\f107"}.icon-desktop:before{content:"\f108"}.icon-laptop:before{content:"\f109"}.icon-tablet:before{content:"\f10a"}.icon-mobile-phone:before,.icon-mobile:before{content:"\f10b"}.icon-circle-o:before{content:"\f10c"}.icon-quote-left:before{content:"\f10d"}.icon-quote-right:before{content:"\f10e"}.icon-spinner:before{content:"\f110"}.icon-circle:before{content:"\f111"}.icon-mail-reply:before,.icon-reply:before{content:"\f112"}.icon-github-alt:before{content:"\f113"}.icon-folder-o:before{content:"\f114"}.icon-folder-open-o:before{content:"\f115"}.icon-smile-o:before{content:"\f118"}.icon-frown-o:before{content:"\f119"}.icon-meh-o:before{content:"\f11a"}.icon-gamepad:before{content:"\f11b"}.icon-keyboard-o:before{content:"\f11c"}.icon-flag-o:before{content:"\f11d"}.icon-flag-checkered:before{content:"\f11e"}.icon-terminal:before{content:"\f120"}.icon-code:before{content:"\f121"}.icon-mail-reply-all:before,.icon-reply-all:before{content:"\f122"}.icon-star-half-empty:before,.icon-star-half-full:before,.icon-star-half-o:before{content:"\f123"}.icon-location-arrow:before{content:"\f124"}.icon-crop:before{content:"\f125"}.icon-code-fork:before{content:"\f126"}.icon-unlink:before,.icon-chain-broken:before{content:"\f127"}.icon-question:before{content:"\f128"}.icon-info:before{content:"\f129"}.icon-exclamation:before{content:"\f12a"}.icon-superscript:before{content:"\f12b"}.icon-subscript:before{content:"\f12c"}.icon-eraser:before{content:"\f12d"}.icon-puzzle-piece:before{content:"\f12e"}.icon-microphone:before{content:"\f130"}.icon-microphone-slash:before{content:"\f131"}.icon-shield:before{content:"\f132"}.icon-calendar-o:before{content:"\f133"}.icon-fire-extinguisher:before{content:"\f134"}.icon-rocket:before{content:"\f135"}.icon-maxcdn:before{content:"\f136"}.icon-chevron-circle-left:before{content:"\f137"}.icon-chevron-circle-right:before{content:"\f138"}.icon-chevron-circle-up:before{content:"\f139"}.icon-chevron-circle-down:before{content:"\f13a"}.icon-html5:before{content:"\f13b"}.icon-css3:before{content:"\f13c"}.icon-anchor:before{content:"\f13d"}.icon-unlock-alt:before{content:"\f13e"}.icon-bullseye:before{content:"\f140"}.icon-ellipsis-h:before{content:"\f141"}.icon-ellipsis-v:before{content:"\f142"}.icon-rss-square:before{content:"\f143"}.icon-play-circle:before{content:"\f144"}.icon-ticket:before{content:"\f145"}.icon-minus-square:before{content:"\f146"}.icon-minus-square-o:before{content:"\f147"}.icon-level-up:before{content:"\f148"}.icon-level-down:before{content:"\f149"}.icon-check-square:before{content:"\f14a"}.icon-pencil-square:before{content:"\f14b"}.icon-external-link-square:before{content:"\f14c"}.icon-share-square:before{content:"\f14d"}.icon-compass:before{content:"\f14e"}.icon-toggle-down:before,.icon-caret-square-o-down:before{content:"\f150"}.icon-toggle-up:before,.icon-caret-square-o-up:before{content:"\f151"}.icon-toggle-right:before,.icon-caret-square-o-right:before{content:"\f152"}.icon-euro:before,.icon-eur:before{content:"\f153"}.icon-gbp:before{content:"\f154"}.icon-dollar:before,.icon-usd:before{content:"\f155"}.icon-rupee:before,.icon-inr:before{content:"\f156"}.icon-cny:before,.icon-rmb:before,.icon-yen:before,.icon-jpy:before{content:"\f157"}.icon-ruble:before,.icon-rouble:before,.icon-rub:before{content:"\f158"}.icon-won:before,.icon-krw:before{content:"\f159"}.icon-bitcoin:before,.icon-btc:before{content:"\f15a"}.icon-file:before{content:"\f15b"}.icon-file-text:before{content:"\f15c"}.icon-sort-alpha-asc:before{content:"\f15d"}.icon-sort-alpha-desc:before{content:"\f15e"}.icon-sort-amount-asc:before{content:"\f160"}.icon-sort-amount-desc:before{content:"\f161"}.icon-sort-numeric-asc:before{content:"\f162"}.icon-sort-numeric-desc:before{content:"\f163"}.icon-thumbs-up:before{content:"\f164"}.icon-thumbs-down:before{content:"\f165"}.icon-youtube-square:before{content:"\f166"}.icon-youtube:before{content:"\f167"}.icon-xing:before{content:"\f168"}.icon-xing-square:before{content:"\f169"}.icon-youtube-play:before{content:"\f16a"}.icon-dropbox:before{content:"\f16b"}.icon-stack-overflow:before{content:"\f16c"}.icon-instagram:before{content:"\f16d"}.icon-flickr:before{content:"\f16e"}.icon-adn:before{content:"\f170"}.icon-bitbucket:before{content:"\f171"}.icon-bitbucket-square:before{content:"\f172"}.icon-tumblr:before{content:"\f173"}.icon-tumblr-square:before{content:"\f174"}.icon-long-arrow-down:before{content:"\f175"}.icon-long-arrow-up:before{content:"\f176"}.icon-long-arrow-left:before{content:"\f177"}.icon-long-arrow-right:before{content:"\f178"}.icon-apple:before{content:"\f179"}.icon-windows:before{content:"\f17a"}.icon-android:before{content:"\f17b"}.icon-linux:before{content:"\f17c"}.icon-dribbble:before{content:"\f17d"}.icon-skype:before{content:"\f17e"}.icon-foursquare:before{content:"\f180"}.icon-trello:before{content:"\f181"}.icon-female:before{content:"\f182"}.icon-male:before{content:"\f183"}.icon-gittip:before,.icon-gratipay:before{content:"\f184"}.icon-sun-o:before{content:"\f185"}.icon-moon-o:before{content:"\f186"}.icon-archive:before,.icon-archives:before{content:"\f187"}.icon-bug:before{content:"\f188"}.icon-vk:before{content:"\f189"}.icon-weibo:before{content:"\f18a"}.icon-renren:before{content:"\f18b"}.icon-pagelines:before{content:"\f18c"}.icon-stack-exchange:before{content:"\f18d"}.icon-arrow-circle-o-right:before{content:"\f18e"}.icon-arrow-circle-o-left:before{content:"\f190"}.icon-toggle-left:before,.icon-caret-square-o-left:before{content:"\f191"}.icon-dot-circle-o:before{content:"\f192"}.icon-wheelchair:before{content:"\f193"}.icon-vimeo-square:before{content:"\f194"}.icon-turkish-lira:before,.icon-try:before{content:"\f195"}.icon-plus-square-o:before{content:"\f196"}.icon-space-shuttle:before{content:"\f197"}.icon-slack:before{content:"\f198"}.icon-envelope-square:before{content:"\f199"}.icon-wordpress:before{content:"\f19a"}.icon-openid:before{content:"\f19b"}.icon-institution:before,.icon-bank:before,.icon-university:before{content:"\f19c"}.icon-mortar-board:before,.icon-graduation-cap:before{content:"\f19d"}.icon-yahoo:before{content:"\f19e"}.icon-google:before{content:"\f1a0"}.icon-reddit:before{content:"\f1a1"}.icon-reddit-square:before{content:"\f1a2"}.icon-stumbleupon-circle:before{content:"\f1a3"}.icon-stumbleupon:before{content:"\f1a4"}.icon-delicious:before{content:"\f1a5"}.icon-digg:before{content:"\f1a6"}.icon-pied-piper-pp:before{content:"\f1a7"}.icon-pied-piper-alt:before{content:"\f1a8"}.icon-drupal:before{content:"\f1a9"}.icon-joomla:before{content:"\f1aa"}.icon-language:before{content:"\f1ab"}.icon-fax:before{content:"\f1ac"}.icon-building:before{content:"\f1ad"}.icon-child:before{content:"\f1ae"}.icon-paw:before{content:"\f1b0"}.icon-spoon:before{content:"\f1b1"}.icon-cube:before{content:"\f1b2"}.icon-cubes:before{content:"\f1b3"}.icon-behance:before{content:"\f1b4"}.icon-behance-square:before{content:"\f1b5"}.icon-steam:before{content:"\f1b6"}.icon-steam-square:before{content:"\f1b7"}.icon-recycle:before{content:"\f1b8"}.icon-automobile:before,.icon-car:before{content:"\f1b9"}.icon-cab:before,.icon-taxi:before{content:"\f1ba"}.icon-tree:before{content:"\f1bb"}.icon-spotify:before{content:"\f1bc"}.icon-deviantart:before{content:"\f1bd"}.icon-soundcloud:before{content:"\f1be"}.icon-database:before{content:"\f1c0"}.icon-file-pdf-o:before{content:"\f1c1"}.icon-file-word-o:before{content:"\f1c2"}.icon-file-excel-o:before{content:"\f1c3"}.icon-file-powerpoint-o:before{content:"\f1c4"}.icon-file-photo-o:before,.icon-file-picture-o:before,.icon-file-image-o:before{content:"\f1c5"}.icon-file-zip-o:before,.icon-file-archive-o:before{content:"\f1c6"}.icon-file-sound-o:before,.icon-file-audio-o:before{content:"\f1c7"}.icon-file-movie-o:before,.icon-file-video-o:before{content:"\f1c8"}.icon-file-code-o:before{content:"\f1c9"}.icon-vine:before{content:"\f1ca"}.icon-codepen:before{content:"\f1cb"}.icon-jsfiddle:before{content:"\f1cc"}.icon-life-bouy:before,.icon-life-buoy:before,.icon-life-saver:before,.icon-support:before,.icon-life-ring:before{content:"\f1cd"}.icon-circle-o-notch:before{content:"\f1ce"}.icon-ra:before,.icon-resistance:before,.icon-rebel:before{content:"\f1d0"}.icon-ge:before,.icon-empire:before{content:"\f1d1"}.icon-git-square:before{content:"\f1d2"}.icon-git:before{content:"\f1d3"}.icon-y-combinator-square:before,.icon-yc-square:before,.icon-hacker-news:before{content:"\f1d4"}.icon-tencent-weibo:before{content:"\f1d5"}.icon-qq:before{content:"\f1d6"}.icon-wechat:before,.icon-weixin:before{content:"\f1d7"}.icon-send:before,.icon-paper-plane:before{content:"\f1d8"}.icon-send-o:before,.icon-paper-plane-o:before{content:"\f1d9"}.icon-history:before{content:"\f1da"}.icon-circle-thin:before{content:"\f1db"}.icon-header:before{content:"\f1dc"}.icon-paragraph:before{content:"\f1dd"}.icon-sliders:before{content:"\f1de"}.icon-share-alt:before{content:"\f1e0"}.icon-share-alt-square:before{content:"\f1e1"}.icon-bomb:before{content:"\f1e2"}.icon-soccer-ball-o:before,.icon-futbol-o:before{content:"\f1e3"}.icon-tty:before{content:"\f1e4"}.icon-binoculars:before{content:"\f1e5"}.icon-plug:before{content:"\f1e6"}.icon-slideshare:before{content:"\f1e7"}.icon-twitch:before{content:"\f1e8"}.icon-yelp:before{content:"\f1e9"}.icon-newspaper-o:before{content:"\f1ea"}.icon-wifi:before{content:"\f1eb"}.icon-calculator:before{content:"\f1ec"}.icon-paypal:before{content:"\f1ed"}.icon-google-wallet:before{content:"\f1ee"}.icon-cc-visa:before{content:"\f1f0"}.icon-cc-mastercard:before{content:"\f1f1"}.icon-cc-discover:before{content:"\f1f2"}.icon-cc-amex:before{content:"\f1f3"}.icon-cc-paypal:before{content:"\f1f4"}.icon-cc-stripe:before{content:"\f1f5"}.icon-bell-slash:before{content:"\f1f6"}.icon-bell-slash-o:before{content:"\f1f7"}.icon-trash:before{content:"\f1f8"}.icon-copyright:before{content:"\f1f9"}.icon-at:before{content:"\f1fa"}.icon-eyedropper:before{content:"\f1fb"}.icon-paint-brush:before{content:"\f1fc"}.icon-birthday-cake:before{content:"\f1fd"}.icon-area-chart:before{content:"\f1fe"}.icon-pie-chart:before{content:"\f200"}.icon-line-chart:before{content:"\f201"}.icon-lastfm:before{content:"\f202"}.icon-lastfm-square:before{content:"\f203"}.icon-toggle-off:before{content:"\f204"}.icon-toggle-on:before{content:"\f205"}.icon-bicycle:before{content:"\f206"}.icon-bus:before{content:"\f207"}.icon-ioxhost:before{content:"\f208"}.icon-angellist:before{content:"\f209"}.icon-cc:before{content:"\f20a"}.icon-shekel:before,.icon-sheqel:before,.icon-ils:before{content:"\f20b"}.icon-meanpath:before{content:"\f20c"}.icon-buysellads:before{content:"\f20d"}.icon-connectdevelop:before{content:"\f20e"}.icon-dashcube:before{content:"\f210"}.icon-forumbee:before{content:"\f211"}.icon-leanpub:before{content:"\f212"}.icon-sellsy:before{content:"\f213"}.icon-shirtsinbulk:before{content:"\f214"}.icon-simplybuilt:before{content:"\f215"}.icon-skyatlas:before{content:"\f216"}.icon-cart-plus:before{content:"\f217"}.icon-cart-arrow-down:before{content:"\f218"}.icon-diamond:before{content:"\f219"}.icon-ship:before{content:"\f21a"}.icon-user-secret:before{content:"\f21b"}.icon-motorcycle:before{content:"\f21c"}.icon-street-view:before{content:"\f21d"}.icon-heartbeat:before{content:"\f21e"}.icon-venus:before{content:"\f221"}.icon-mars:before{content:"\f222"}.icon-mercury:before{content:"\f223"}.icon-intersex:before,.icon-transgender:before{content:"\f224"}.icon-transgender-alt:before{content:"\f225"}.icon-venus-double:before{content:"\f226"}.icon-mars-double:before{content:"\f227"}.icon-venus-mars:before{content:"\f228"}.icon-mars-stroke:before{content:"\f229"}.icon-mars-stroke-v:before{content:"\f22a"}.icon-mars-stroke-h:before{content:"\f22b"}.icon-neuter:before{content:"\f22c"}.icon-genderless:before{content:"\f22d"}.icon-facebook-official:before{content:"\f230"}.icon-pinterest-p:before{content:"\f231"}.icon-whatsapp:before{content:"\f232"}.icon-server:before{content:"\f233"}.icon-user-plus:before{content:"\f234"}.icon-user-times:before{content:"\f235"}.icon-hotel:before,.icon-bed:before{content:"\f236"}.icon-viacoin:before{content:"\f237"}.icon-train:before{content:"\f238"}.icon-subway:before{content:"\f239"}.icon-medium:before{content:"\f23a"}.icon-yc:before,.icon-y-combinator:before{content:"\f23b"}.icon-optin-monster:before{content:"\f23c"}.icon-opencart:before{content:"\f23d"}.icon-expeditedssl:before{content:"\f23e"}.icon-battery-4:before,.icon-battery:before,.icon-battery-full:before{content:"\f240"}.icon-battery-3:before,.icon-battery-three-quarters:before{content:"\f241"}.icon-battery-2:before,.icon-battery-half:before{content:"\f242"}.icon-battery-1:before,.icon-battery-quarter:before{content:"\f243"}.icon-battery-0:before,.icon-battery-empty:before{content:"\f244"}.icon-mouse-pointer:before{content:"\f245"}.icon-i-cursor:before{content:"\f246"}.icon-object-group:before{content:"\f247"}.icon-object-ungroup:before{content:"\f248"}.icon-sticky-note:before{content:"\f249"}.icon-sticky-note-o:before{content:"\f24a"}.icon-cc-jcb:before{content:"\f24b"}.icon-cc-diners-club:before{content:"\f24c"}.icon-clone:before{content:"\f24d"}.icon-balance-scale:before{content:"\f24e"}.icon-hourglass-o:before{content:"\f250"}.icon-hourglass-1:before,.icon-hourglass-start:before{content:"\f251"}.icon-hourglass-2:before,.icon-hourglass-half:before{content:"\f252"}.icon-hourglass-3:before,.icon-hourglass-end:before{content:"\f253"}.icon-hourglass:before{content:"\f254"}.icon-hand-grab-o:before,.icon-hand-rock-o:before{content:"\f255"}.icon-hand-stop-o:before,.icon-hand-paper-o:before{content:"\f256"}.icon-hand-scissors-o:before{content:"\f257"}.icon-hand-lizard-o:before{content:"\f258"}.icon-hand-spock-o:before{content:"\f259"}.icon-hand-pointer-o:before{content:"\f25a"}.icon-hand-peace-o:before{content:"\f25b"}.icon-trademark:before{content:"\f25c"}.icon-registered:before{content:"\f25d"}.icon-creative-commons:before{content:"\f25e"}.icon-gg:before{content:"\f260"}.icon-gg-circle:before{content:"\f261"}.icon-tripadvisor:before{content:"\f262"}.icon-odnoklassniki:before{content:"\f263"}.icon-odnoklassniki-square:before{content:"\f264"}.icon-get-pocket:before{content:"\f265"}.icon-wikipedia-w:before{content:"\f266"}.icon-safari:before{content:"\f267"}.icon-chrome:before{content:"\f268"}.icon-firefox:before{content:"\f269"}.icon-opera:before{content:"\f26a"}.icon-internet-explorer:before{content:"\f26b"}.icon-tv:before,.icon-television:before{content:"\f26c"}.icon-contao:before{content:"\f26d"}.icon-500px:before{content:"\f26e"}.icon-amazon:before{content:"\f270"}.icon-calendar-plus-o:before{content:"\f271"}.icon-calendar-minus-o:before{content:"\f272"}.icon-calendar-times-o:before{content:"\f273"}.icon-calendar-check-o:before{content:"\f274"}.icon-industry:before{content:"\f275"}.icon-map-pin:before{content:"\f276"}.icon-map-signs:before{content:"\f277"}.icon-map-o:before{content:"\f278"}.icon-map:before{content:"\f279"}.icon-commenting:before{content:"\f27a"}.icon-commenting-o:before{content:"\f27b"}.icon-houzz:before{content:"\f27c"}.icon-vimeo:before{content:"\f27d"}.icon-black-tie:before{content:"\f27e"}.icon-fonticons:before{content:"\f280"}.icon-reddit-alien:before{content:"\f281"}.icon-edge:before{content:"\f282"}.icon-credit-card-alt:before{content:"\f283"}.icon-codiepie:before{content:"\f284"}.icon-modx:before{content:"\f285"}.icon-fort-awesome:before{content:"\f286"}.icon-usb:before{content:"\f287"}.icon-product-hunt:before{content:"\f288"}.icon-mixcloud:before{content:"\f289"}.icon-scribd:before{content:"\f28a"}.icon-pause-circle:before{content:"\f28b"}.icon-pause-circle-o:before{content:"\f28c"}.icon-stop-circle:before{content:"\f28d"}.icon-stop-circle-o:before{content:"\f28e"}.icon-shopping-bag:before{content:"\f290"}.icon-shopping-basket:before{content:"\f291"}.icon-hashtag:before{content:"\f292"}.icon-bluetooth:before{content:"\f293"}.icon-bluetooth-b:before{content:"\f294"}.icon-percent:before{content:"\f295"}.icon-gitlab:before{content:"\f296"}.icon-wpbeginner:before{content:"\f297"}.icon-wpforms:before{content:"\f298"}.icon-envira:before{content:"\f299"}.icon-universal-access:before{content:"\f29a"}.icon-wheelchair-alt:before{content:"\f29b"}.icon-question-circle-o:before{content:"\f29c"}.icon-blind:before{content:"\f29d"}.icon-audio-description:before{content:"\f29e"}.icon-volume-control-phone:before{content:"\f2a0"}.icon-braille:before{content:"\f2a1"}.icon-assistive-listening-systems:before{content:"\f2a2"}.icon-asl-interpreting:before,.icon-american-sign-language-interpreting:before{content:"\f2a3"}.icon-deafness:before,.icon-hard-of-hearing:before,.icon-deaf:before{content:"\f2a4"}.icon-glide:before{content:"\f2a5"}.icon-glide-g:before{content:"\f2a6"}.icon-signing:before,.icon-sign-language:before{content:"\f2a7"}.icon-low-vision:before{content:"\f2a8"}.icon-viadeo:before{content:"\f2a9"}.icon-viadeo-square:before{content:"\f2aa"}.icon-snapchat:before{content:"\f2ab"}.icon-snapchat-ghost:before{content:"\f2ac"}.icon-snapchat-square:before{content:"\f2ad"}.icon-pied-piper:before{content:"\f2ae"}.icon-first-order:before{content:"\f2b0"}.icon-yoast:before{content:"\f2b1"}.icon-themeisle:before{content:"\f2b2"}.icon-google-plus-circle:before,.icon-google-plus-official:before{content:"\f2b3"}.icon-fa:before,.icon-font-awesome:before{content:"\f2b4"}.icon-handshake-o:before{content:"\f2b5"}.icon-envelope-open:before{content:"\f2b6"}.icon-envelope-open-o:before{content:"\f2b7"}.icon-linode:before{content:"\f2b8"}.icon-address-book:before{content:"\f2b9"}.icon-address-book-o:before{content:"\f2ba"}.icon-vcard:before,.icon-address-card:before{content:"\f2bb"}.icon-vcard-o:before,.icon-address-card-o:before{content:"\f2bc"}.icon-user-circle:before{content:"\f2bd"}.icon-user-circle-o:before{content:"\f2be"}.icon-user-o:before{content:"\f2c0"}.icon-id-badge:before{content:"\f2c1"}.icon-drivers-license:before,.icon-id-card:before{content:"\f2c2"}.icon-drivers-license-o:before,.icon-id-card-o:before{content:"\f2c3"}.icon-quora:before{content:"\f2c4"}.icon-free-code-camp:before{content:"\f2c5"}.icon-telegram:before{content:"\f2c6"}.icon-thermometer-4:before,.icon-thermometer:before,.icon-thermometer-full:before{content:"\f2c7"}.icon-thermometer-3:before,.icon-thermometer-three-quarters:before{content:"\f2c8"}.icon-thermometer-2:before,.icon-thermometer-half:before{content:"\f2c9"}.icon-thermometer-1:before,.icon-thermometer-quarter:before{content:"\f2ca"}.icon-thermometer-0:before,.icon-thermometer-empty:before{content:"\f2cb"}.icon-shower:before{content:"\f2cc"}.icon-bathtub:before,.icon-s15:before,.icon-bath:before{content:"\f2cd"}.icon-podcast:before{content:"\f2ce"}.icon-window-maximize:before{content:"\f2d0"}.icon-window-minimize:before{content:"\f2d1"}.icon-window-restore:before{content:"\f2d2"}.icon-times-rectangle:before,.icon-window-close:before{content:"\f2d3"}.icon-times-rectangle-o:before,.icon-window-close-o:before{content:"\f2d4"}.icon-bandcamp:before{content:"\f2d5"}.icon-grav:before{content:"\f2d6"}.icon-etsy:before{content:"\f2d7"}.icon-imdb:before{content:"\f2d8"}.icon-ravelry:before{content:"\f2d9"}.icon-eercast:before{content:"\f2da"}.icon-microchip:before{content:"\f2db"}.icon-snowflake-o:before{content:"\f2dc"}.icon-superpowers:before{content:"\f2dd"}.icon-wpexplorer:before{content:"\f2de"}.icon-meetup:before{content:"\f2e0"}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}::-webkit-scrollbar{-webkit-appearance:none;width:8px;height:8px}::-webkit-scrollbar-track{background-color:inherit}::-webkit-scrollbar-thumb{background-color:#b6b6b6;border:1px solid #fff;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:#9d9d9d}::-webkit-scrollbar-thumb:active{background-color:#838383}::selection{background:#d7dbf0}html{background-color:#f6f6f6;color:#212121;font-size:15px;line-height:1.5;overflow-x:hidden}body{-webkit-tap-highlight-color:rgba(255,255,255,0);-webkit-overflow-scrolling:touch}html,body{position:relative;min-height:100%;height:100%}.lock{overflow:hidden;max-height:100%}body,input,button,textarea,select,option{font:normal 1em Roboto,"Helvetica Neue",Helvetica,Arial,"Microsoft Yahei",sans-serif}body,h1,h2,h3,h4,h5,h6,p,figure,pre,dl,dd,blockquote,button,input{margin:0}input,legend,input,textarea,button{padding:0}form,fieldset,th,td{margin:0;padding:0}ol,ul{margin:12px 0;padding:0 0 0 32px}ol.reset,ul.reset{margin:0;padding:0;list-style:none}ol ol,ol ul,ul ol,ul ul{margin-top:0;margin-bottom:0}p{margin:12px 0}small{font-size:75%;line-height:1}main{display:block}template{display:none}img{max-width:100%;border:none}img,input,button,label{vertical-align:middle}i{font-style:normal}h1,h2,h3,h4,h5,h6{font-weight:400}h1,.h1{font-size:44px;line-height:48px}h2,.h2{font-size:34px;line-height:40px}h3,.h3{font-size:24px;line-height:32px}h4,.h4{font-size:20px;line-height:28px}h5,.h5{font-size:16px;line-height:24px}h6,.h6{font-size:12px;line-height:20px}input[type="button"],input[type="submit"],input[type="search"],input[type="reset"]{cursor:pointer;-webkit-appearance:button}input:focus,select:focus,button:focus,textarea:focus{outline:none}textarea{resize:none}a{background-color:transparent;background-image:none;color:#3f51b5;text-decoration:none;outline:0}a:hover{color:#303f9f;text-decoration:underline}hr,.hr{border:0;border-top:1px solid #dadada;box-sizing:content-box;display:block;height:0;margin-top:24px;margin-bottom:24px}.fl{float:left}.fr{float:right}.tr{text-align:right}.tc{text-align:center}.clearfix:after{content:"";display:table;clear:both;overflow:hidden}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex-row,.flex-column,.flex-row-vertical{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flex-column{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.flex-row-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.flex-row-wrap,.flex-column{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-row-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.flex-row>*{display:block}.flex-col{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flex-middle{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.flex-bottom{-webkit-box-align:end;-webkit-align-items:flex-end;-ms-flex-align:end;align-items:flex-end}.flex-justify-start{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start}.flex-justify-end{-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.flex-justify-between{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.flex-align-start{-webkit-align-content:flex-start;-ms-flex-line-pack:start;align-content:flex-start}.flex-align-end{-webkit-align-content:flex-end;-ms-flex-line-pack:end;align-content:flex-end}.flex-align-around{-webkit-align-content:space-around;-ms-flex-line-pack:distribute;align-content:space-around}.flex-align-between{-webkit-align-content:space-between;-ms-flex-line-pack:justify;align-content:space-between}.flex-col-auto{-webkit-box-flex:0;-webkit-flex:0 auto;-ms-flex:0 auto;flex:0 auto}#loading{position:fixed;top:0;left:-100%;z-index:70;width:100%;height:3px;background:#ff4081}#loading.active{-webkit-animation:loading-anim 1s ease-in-out infinite;animation:loading-anim 1s ease-in-out infinite}@-webkit-keyframes loading-anim{to{-webkit-transform:translateX(200%);transform:translateX(200%)}}@keyframes loading-anim{to{-webkit-transform:translateX(200%);transform:translateX(200%)}}.fade,.fade-scale{opacity:0}.fade.in,.fade-scale.in{opacity:1;-webkit-transform:none;transform:none}.fade{-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out;-webkit-transform:translateY(50px);transform:translateY(50px)}.fade-scale{-webkit-transition:.6s ease-in-out;transition:.6s ease-in-out;-webkit-transform:translate(10%, 20%) scale(.6);transform:translate(10%, 20%) scale(.6)}@media screen and (max-width:480px){.fade,.fade-scale{opacity:1;-webkit-transform:none;transform:none}}/*! + * Waves v0.7.4 + * http://fian.my.id/Waves + * + * Copyright 2014 Alfiana E. Sibuea and other contributors + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE + */.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:100px;height:100px;margin-top:-50px;margin-left:-50px;opacity:0;background:rgba(0,0,0,0.2);background:-webkit-radial-gradient(rgba(0,0,0,0.2) 0,rgba(0,0,0,0.3) 40%,rgba(0,0,0,0.4) 50%,rgba(0,0,0,0.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(0,0,0,0.2) 0,rgba(0,0,0,0.3) 40%,rgba(0,0,0,0.4) 50%,rgba(0,0,0,0.5) 60%,rgba(255,255,255,0) 70%);-webkit-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-transform:scale(0) translate(0, 0);transform:scale(0) translate(0, 0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background:rgba(255,255,255,0.4);background:-webkit-radial-gradient(rgba(255,255,255,0.2) 0,rgba(255,255,255,0.3) 40%,rgba(255,255,255,0.4) 50%,rgba(255,255,255,0.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(255,255,255,0.2) 0,rgba(255,255,255,0.3) 40%,rgba(255,255,255,0.4) 50%,rgba(255,255,255,0.5) 60%,rgba(255,255,255,0) 70%)}.waves-effect.waves-classic .waves-ripple{background:rgba(0,0,0,0.2)}.waves-effect.waves-classic.waves-light .waves-ripple{background:rgba(255,255,255,0.4)}.waves-notransition{-webkit-transition:none !important;transition:none !important}.waves-button,.waves-circle{-webkit-transform:translateZ(0);transform:translateZ(0)}.waves-button,.waves-button:hover,.waves-button:visited,.waves-button-input{white-space:nowrap;vertical-align:middle;cursor:pointer;border:none;outline:none;background-color:rgba(0,0,0,0);font-size:1em;text-align:center;text-decoration:none;z-index:1}.waves-button{padding:.85em 1.1em;border-radius:.2em}.waves-button-input{margin:0;padding:.85em 1.1em}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper.waves-button{padding:0}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.waves-float{-webkit-mask-image:none;box-shadow:0 1px 1.5px 1px rgba(0,0,0,0.12);-webkit-transition:all 300ms;transition:all 300ms}.waves-float:active{box-shadow:0 8px 20px 1px rgba(0,0,0,0.3)}.waves-block{display:block}.container,#main{position:relative}#menu-off{position:absolute;top:0;left:100%;-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out}#menu{position:fixed;top:0;left:0;bottom:0;z-index:66;width:240px;min-height:100%;background:#fff;box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-webkit-transition:.4s cubic-bezier(.18, .81, .3, .89);transition:.4s cubic-bezier(.18, .81, .3, .89);will-change:transform,-webkit-transform}#menu.hide{-webkit-transform:translateX(-100%);transform:translateX(-100%)}#menu.hide #menu-off{-webkit-transform:scale(0);transform:scale(0)}#menu.hide+#main{padding-left:0}#menu .inner{position:relative;height:100%}#menu .brand-wrap{background-size:100% 100%}#menu .brand{padding:40px 20px 2em;background:rgba(63,81,181,0.5)}#menu .avatar{display:block;width:80px;height:80px;border:2px solid #fff;border-radius:50%;overflow:hidden;box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}#menu .introduce{margin:1em 0 0;color:#fff}#menu .mail{display:inline-block;padding-top:4px;color:#c5cae9;font-size:13px}#menu .scroll-wrap{position:relative;overflow-y:auto}#menu .nav{margin:0;padding:12px 0;height:300px;min-height:calc(100% - 115px);list-style:none;line-height:44px}#menu .nav li{padding:0 20px}#menu .nav li .icon{position:absolute;top:0;left:20px;line-height:inherit}#menu .nav li:hover,#menu .nav li.active{background:rgba(0,0,0,0.05)}#menu .nav li:hover a,#menu .nav li.active a,#menu .nav li:hover .icon,#menu .nav li.active .icon{color:#3f51b5}#menu .nav a{display:block;padding-left:48px;height:44px;line-height:44px;font-weight:500;color:#727272;text-decoration:none}#main{padding-left:240px;min-height:100%;-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out}.body-wrap{padding:30px 0 40px;min-height:calc(100vh - 340px)}.container{width:960px;margin:0 auto}.container:after{content:"";display:table;clear:both}.mask{visibility:hidden;position:fixed;top:0;left:0;bottom:0;z-index:88;width:100%;height:100%;background:#000;opacity:0;pointer-events:none;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out}.mask.in{visibility:visible;pointer-events:auto;opacity:.3}.footer{color:rgba(255,255,255,0.6);background:#303f9f}.footer p{margin:0;line-height:1.6;font-size:13px;text-align:center}.footer p span:not(:first-child):before{content:"·";padding:0 .5em}.footer p a{border-bottom:1px dotted rgba(255,255,255,0.5)}.footer p a:hover{border-bottom:1px solid rgba(255,255,255,0.7)}.footer .top{padding:16px;background:#3f51b5}.footer a{color:inherit;opacity:.8}.footer a:hover{color:#fff;text-decoration:none}.footer .bottom{padding:16px}a[title="站长统计"]{display:none}@media screen and (max-width:1240px){#menu-off{display:none}#menu{z-index:99;box-shadow:none;-webkit-transform:translateX(-100%);transform:translateX(-100%)}#menu.show{-webkit-transform:translateX(0);transform:translateX(0)}#main{padding-left:0}}@media screen and (max-width:1040px){.container{width:100%;padding:20px 16px}}@media screen and (max-width:760px){#main{width:100%;overflow-x:hidden}#menu .brand{padding-top:20px;padding-bottom:1em}#menu .nav{line-height:36px}#menu .nav a{height:36px;line-height:36px}::-webkit-scrollbar{display:none}}.top-header{position:fixed;left:0;top:0;width:100%;color:#fff;height:56px;background:#3f51b5;-webkit-transition:padding-left .6s ease-in-out,background-color .3s cubic-bezier(.4, 0, .2, 1),box-shadow .15s linear;transition:padding-left .6s ease-in-out,background-color .3s cubic-bezier(.4, 0, .2, 1),box-shadow .15s linear;z-index:30}.top-header.fixed{box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}.top-header.fixed .header-title{visibility:visible}.header-icon{width:56px;height:56px;line-height:56px;text-align:center;color:#fff}.header-icon:hover{color:#fff}.header-title{visibility:hidden;font-weight:400;line-height:56px;font-size:16px;text-align:center;white-space:nowrap}.content-header{min-height:210px;margin-left:-240px;padding:104px 16px 48px 256px;color:#fff;background:#3f51b5;text-shadow:0 1px 1px rgba(0,0,0,0.2)}.content-header .subtitle{padding-top:6px;font-weight:300;color:#c5cae9}.content-header .title{font-weight:500}.content-header .article-category-list-link{color:#ff73a3}.post-header .title,.post-header .subtitle{display:none}.tags-header,.categories-header{position:relative;z-index:6;padding-bottom:0 !important}@media screen and (max-width:1240px){.header-title{text-align:left}}@media screen and (max-width:760px){.content-header{margin:0;min-height:auto;padding:72px 16px 20px}.content-header .title{font-size:24px;line-height:30px}.content-header .subtitle{font-size:14px;line-height:20px}.post-header .title{display:block;font-size:24px;line-height:1.5}}.post-content pre{position:relative;overflow-x:auto;padding:20px;font-size:14px;line-height:22.4px;background:#f5f5f5;color:#4d4d4c}.post-content pre code{background:none;color:#4d4d4c}.post-content .highlight{position:relative;overflow-x:auto;padding:20px;font-size:14px;line-height:22.4px;background:#f5f5f5}.post-content .highlight pre{margin:0;padding:0}.post-content .highlight .line{height:22.4px;line-height:22.4px}.post-content .highlight table{margin:0;width:auto}.post-content .highlight td{border:none}.post-content .highlight tr,.post-content .highlight td{border-collapse:collapse;padding:0;margin:0}.post-content .highlight figcaption{font-size:.85em;color:#8e908c;line-height:1em;margin-bottom:1em}.post-content .highlight figcaption a{float:right}.post-content .highlight .gutter pre{color:#727272;font-size:.85em;text-align:right;padding-right:20px}.post-content .gist{background:#f5f5f5}.post-content .gist tr,.post-content .gist td{height:auto}.post-content .gist .gist-file{border:none;font-family:Consolas,Monaco,courier,monospace}.post-content .gist .gist-file .highlight{margin:0;padding:0;border:none}.post-content .gist .gist-data{border:none}.post-content .gist .gist-data .line-numbers{color:#727272;font-size:.85em;background:none;border:none;padding:0 20px 0 0}.post-content .gist .gist-data .line-data{padding:0 !important}.post-content .gist .gist-meta{background:#f5f5f5;color:#8e908c;font:.85em Consolas,Monaco,courier,monospace}.post-content .gist .gist-meta a{color:#ff4081;font-weight:normal}.post-content .gist .gist-meta a:hover{text-decoration:underline}pre .comment{color:#8e908c}pre .tag{color:#8e908c}pre .variable,pre .title,pre .type,pre .regexp,pre .ruby .constant,pre .xml .tag .title,pre .xml .pi,pre .xml .doctype,pre .html .doctype,pre .selector-pseudo,pre .css .id,pre .css .class,pre .css .pseudo,pre .tag .name{color:#c82829}pre .class,pre .number,pre .preprocessor,pre .built_in,pre .literal,pre .params,pre .constant{color:#f5871f}pre .attribute,pre .label,pre .ruby .class .title,pre .css .rules .attribute,pre .tag .attr{color:#718c00}pre .string,pre .value,pre .inheritance,pre .header,pre .ruby .symbol,pre .xml .cdata{color:#4271ae}pre .selector-tag,pre .css .hexcolor,pre .css .tag{color:#3e999f}pre .function,pre .python .decorator,pre .python .title,pre .ruby .function .title,pre .ruby .title .keyword,pre .perl .sub,pre .javascript .title,pre .coffeescript .title{color:#4271ae}pre .selector-id,pre .selector-class,pre .keyword,pre .javascript .function{color:#8959a8}@media screen and (max-width:760px){.post-content .highlight{margin-left:-16px;margin-right:-16px;padding:20px 16px}}.post-list{padding:0;margin:0 -12px;list-style:none}.post-list-item{padding:0 12px;margin-bottom:30px}.post-title{margin:0 0 16px}.post-title-link{color:#3f51b5;position:relative;display:inline-block}.post-title-link::after{content:"";position:absolute;width:100%;height:2px;bottom:0;left:0;background-color:#3f51b5;visibility:hidden;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out}.post-title-link:hover{text-decoration:none}.post-title-link:hover::after,.post-title-link:active::after{visibility:visible;-webkit-transform:scaleX(1);transform:scaleX(1)}.post-meta{margin:0 0 10px;line-height:14px;font-size:13px;font-weight:bold;color:#727272;overflow:hidden}.post-meta>*:not(:first-child):before{content:"·";padding:0 .5em}.article-category-list{position:relative;display:inline;list-style:none;padding:0}.article-category-list *{display:inline}.article-category-list ul{padding-left:0}.article-category-list-child:before{content:"›";padding:0 .3em;font-size:120%}.article-category-list-link{color:#ff4081}.article-category-list-link:hover{color:#ff4081}.article-tag-list{overflow:hidden;margin:0;padding:0;font-size:13px}.article-tag-list-item{display:inline-block;margin:0 8px 8px 0;border-radius:2px}.article-tag-list-item:nth-child(n+1){background:#8bc34a}.article-tag-list-item:nth-child(n+2){background:#673ab7}.article-tag-list-item:nth-child(n+3){background:#ff9800}.article-tag-list-item:nth-child(n+4){background:#f44336}.article-tag-list-item:nth-child(n+5){background:#00abc0}.article-tag-list-item:nth-child(n+6){background:#2196f3}.article-tag-list-link{display:block;padding:0 16px;line-height:28px;color:rgba(255,255,255,0.8);-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.article-tag-list-link:hover{color:#fff;box-shadow:0 4px 8px rgba(0,0,0,0.26)}.post-more{display:inline-block;padding:0 6px;font-weight:500;color:#3f51b5 !important;border:none !important;border-radius:3px}.post-more:hover,.post-more:active{background:#eaecf7}#page-nav{margin:30px 0 0;text-align:center}#page-nav .inner{display:inline-block}#page-nav a,#page-nav span{display:inline-block;line-height:34px;padding:0 1em;margin:0 2px;font-size:14px;color:#727272;border-radius:3px;overflow:hidden;-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out}#page-nav a:hover,#page-nav a:active{color:#3f51b5;background:#dadada}#page-nav .current{color:#fff;background:#3f51b5}@media screen and (max-width:760px){.post-title{font-size:20px;line-height:24px}.post-more{height:28px;line-height:28px;font-size:13px}.post-list{margin:0 -16px}.post-list-item{padding:0;margin-bottom:16px}}#gotop{position:fixed;right:16px;bottom:30px;z-index:30;width:56px;height:56px;line-height:56px;text-align:center;color:#fff;background:#ff4081;border-radius:50%;opacity:0;box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out;-webkit-transform:translateX(200%);transform:translateX(200%)}#gotop:hover,#gotop:active{box-shadow:0 6px 12px rgba(0,0,0,0.2),0 4px 15px rgba(0,0,0,0.2)}#gotop.in{opacity:1;-webkit-transform:none;transform:none}@media screen and (max-width:760px){#gotop{width:40px;height:40px;line-height:40px}}.share-icons li{display:inline-block}.share-icons .icon-square:before{display:inline-block;text-align:center;color:rgba(0,0,0,0);border-radius:.2em}.share-icons a{display:inline-block;border-radius:.2em;color:#fff;text-align:center}.share-icons a.weibo{background:#E6162D}.share-icons a.qq{background:#3D95D5}.share-icons a.weixin{background:#2BAD13}.share-icons a.facebook{background:#4862A3}.share-icons a.twitter{background:#55ACEE}.share-icons a.google{background:#db4437}.global-share{position:fixed;top:56px;right:56px;z-index:96;width:260px;padding:16px 6px;background:#fff;border-radius:3px;visibility:hidden;box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;-webkit-transform:scale(0);transform:scale(0);transform-origin:top right;-webkit-transform-origin:top right}.global-share:hover,.global-share:active{box-shadow:0 6px 12px rgba(0,0,0,0.2),0 4px 15px rgba(0,0,0,0.2)}.global-share.in{visibility:visible;-webkit-transform:none;transform:none}.global-share .share-icons{margin:0 auto}.global-share li{width:80px;text-align:center}.global-share a{position:relative;width:40px;height:40px;line-height:40px;margin-bottom:20px;font-size:1.33333333em}.global-share a:after{position:absolute;bottom:-22px;left:50%;content:attr(data-title);white-space:nowrap;line-height:20px;font-size:12px;color:#3f51b5;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.page-share-fab{display:block;width:42px;height:42px;line-height:42px;color:#3f51b5;background:#eaecf7;box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out}.page-share-fab:hover,.page-share-fab:active{box-shadow:0 6px 12px rgba(0,0,0,0.2),0 4px 15px rgba(0,0,0,0.2)}.page-share-wrap{position:absolute;right:35px;top:-21px;z-index:2}.page-share-wrap .page-share{visibility:hidden}.page-share{position:absolute;bottom:48px;right:4px;text-align:center;width:34px}.page-share.in{visibility:visible}.page-share.in .share-icons a{opacity:1;-webkit-transform:scale(1);transform:scale(1)}.page-share .share-icons a{width:34px;height:34px;line-height:34px;font-size:1.33333em;border-radius:50%;position:relative;box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center bottom;transform-origin:center bottom}.page-share .share-icons a:before,.page-share .share-icons a:after{position:absolute;visibility:hidden;opacity:0;pointer-events:none;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out}.page-share .share-icons a:before{content:attr(data-title);font-size:12px;color:#fff;white-space:nowrap;line-height:24px;padding:0 5px;border-radius:3px;background:rgba(0,0,0,0.8)}.page-share .share-icons a:after{content:"";border:6px solid transparent}.page-share .share-icons a:hover:before,.page-share .share-icons a:hover:after{visibility:visible;opacity:1}.page-share .share-icons a:before,.page-share .share-icons a:after{top:50%;-webkit-transform:translate(-100%, -50%);transform:translate(-100%, -50%)}.page-share .share-icons a:before{left:-15px}.page-share .share-icons a:after{left:-3px;border-left-color:rgba(0,0,0,0.8)}.page-share .share-icons a:hover,.page-share .share-icons a:active{box-shadow:0 6px 12px rgba(0,0,0,0.2),0 4px 15px rgba(0,0,0,0.2)}.page-share .share-icons a:before{content:'分享到' attr(data-title)}.page-share .share-icons li{margin-bottom:10px}.wx-share p{margin:0 0 15px}.wx-share img{width:200px}.post-widget{float:right;width:20%;padding-left:30px;min-height:1px}.post-widget+.post-article{float:left;width:80%;padding-right:30px}.post-toc-wrap{position:fixed;overflow-x:hidden;width:20%}.post-toc-wrap.fixed{top:76px;bottom:140px;overflow-y:auto}.post-toc-wrap ol,.post-toc-wrap ul{list-style:none;margin:0}.post-toc-wrap h4{padding:0 0 10px 20px;font-size:15px;font-weight:600;color:#727272}.post-toc-child{padding-left:10px}.post-toc{display:inline-block;padding:0;font-size:13px}.post-toc>.post-toc-item{position:relative}.post-toc-item{font-weight:400;color:#727272}.post-toc-item.active>.post-toc-link{font-weight:600;color:#3f51b5}.post-toc-item.active>.post-toc-link:before{background:rgba(0,0,0,0.06)}.post-toc-item.active>.post-toc-link:after{border-left:3px solid #3f51b5}.post-toc-link{position:relative;z-index:2;display:block;padding:3px 20px;line-height:1.5rem;color:inherit;word-break:break-all}.post-toc-link:hover{opacity:.8}.post-toc-link:before,.post-toc-link:after{content:"";position:absolute;z-index:1;top:0;right:0;width:100%;height:100%}.post-article .post-content{padding-top:20px}.post-card{margin-top:-150px;min-height:100px;padding:35px;background:#fff;border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,0.2)}.post-card .post-meta{margin-top:8px}.post-card-title{font-size:32px}.post-nav{margin-top:30px;padding:16px 0 0}.post-nav .prev,.post-nav .next{width:47%;background:#f5f5f5}.post-nav .next{text-align:right}.post-nav-link{display:block;line-height:2em;font-size:16px;padding:10px 16px}.post-nav-link .title{position:relative;display:inline-block}.post-nav-link .title::after{content:"";position:absolute;width:100%;height:2px;bottom:0;left:0;background-color:#3f51b5;visibility:hidden;-webkit-transform:scaleX(0);transform:scaleX(0);-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out}.post-nav-link .title:hover{text-decoration:none}.post-nav-link .title:hover::after,.post-nav-link .title:active::after{visibility:visible;-webkit-transform:scaleX(1);transform:scaleX(1)}.post-nav-link .icon{vertical-align:-9%}.post-nav-link .tips{color:#727272}.post-copyright{margin-bottom:100px;font-size:14px}.post-copyright .content{margin-bottom:1em;padding:20px 30px;word-break:break-all;color:#727272;background:#f1f3fa;border-radius:30px 30px 0}.post-copyright footer{float:right}.post-copyright footer a{position:relative;display:block;overflow:hidden;padding:0 16px 0 42px;height:28px;line-height:28px;color:#727272;background:#f1f3fa;border-radius:14px}.post-copyright footer img{position:absolute;top:0;left:0;width:28px;height:28px;border-radius:50%}.post-footer{position:relative;margin:0 -35px;padding:20px 35px 0;border-top:1px solid #ddd}.post-content{padding-bottom:20px;line-height:1.8}.post-content>.highlight,.post-content>.image-bubble,.post-content>pre{margin-left:-35px;margin-right:-35px}.post-content>.highlight,.post-content>pre{padding:20px 35px}.post-content .image-bubble{margin-top:20px;margin-bottom:20px;text-align:center}.post-content .image-caption{display:inline-block;margin-top:10px;color:#727272}.post-content .headerlink{visibility:hidden;margin-left:-1em;padding-right:5px;color:#c5cae9}.post-content .headerlink:before{content:"#"}.post-content p{word-wrap:break-word}.post-content p a,.post-content li a{color:#ff4081;border-bottom:1px dotted #ffa6c4;word-break:break-all}.post-content p a:hover,.post-content li a:hover,.post-content p a:active,.post-content li a:active{text-decoration:none;border-bottom-style:solid;opacity:.7}.post-content strong{font-weight:600;color:#3f51b5}.post-content strong a{border-color:#ff4081}.post-content em{color:#727272}.post-content h1{font-size:24px}.post-content h2{font-size:22px}.post-content h3{font-size:20px}.post-content h4{font-size:18px}.post-content h5{font-size:16px}.post-content h6{font-size:14px}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5{padding-top:56px;margin-top:-56px}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content blockquote,.post-content ol,.post-content p,.post-content pre,.post-content table,.post-content ul,.post-content figure,.post-content .video-container{margin-bottom:20px}.post-content .video-container iframe{max-width:100%}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{color:#3f51b5}.post-content h1:hover .headerlink,.post-content h2:hover .headerlink,.post-content h3:hover .headerlink,.post-content h4:hover .headerlink,.post-content h5:hover .headerlink,.post-content h6:hover .headerlink{visibility:visible}.post-content blockquote p:first-child,.post-content blockquote:first-child,.post-content ol:first-child,.post-content p:first-child,.post-content pre:first-child,.post-content table:first-child,.post-content ul:first-child,.post-content figure:first-child{margin-top:0}.post-content ol,.post-content ul{font-size:14px;line-height:30px}.post-content video,.post-content audio{max-width:100%}.post-content blockquote{position:relative;padding:16px 20px;border-left:4px solid #3f51b5;color:#6e6e6e;background:#f5f5f5;font-size:14px;border-radius:0 2px 2px 0}.post-content blockquote p{margin:0}.post-content blockquote footer{margin-top:10px;text-align:right;font-size:80%}.post-content table{width:100%;border:1px solid #dedede;margin:15px 0;border-collapse:collapse}.post-content table tr,.post-content table td{height:35px}.post-content table thead tr{background:#f8f8f8}.post-content table tbody tr:hover{background:#efefef}.post-content table td,.post-content table th{border:1px solid #dedede;padding:0 10px}.post-content figure table{border:none;width:auto;margin:0}.post-content figure table tbody tr:hover{background:none}.post-content figure table tbody td{border:none}.post-content code,.post-content kbd,.post-content pre,.post-content samp{font-family:Consolas,Monaco,courier,monospace}.post-content code,.post-content pre{background:#f5f5f5}.post-content p code,.post-content li code{color:#ff4081;line-height:1;margin:0 4px;font-size:80%;padding:3px 5px;border:1px solid #eee;border-radius:2px;word-wrap:break-word}.post-content pre{margin:24px 0}.post-content pre code{border-radius:0;font-size:inherit;margin:0;padding:0}.comments{padding:40px 0 0}@media screen and (max-width:760px){.post-widget{display:none}.post-article{float:none;width:100% !important;padding-right:0 !important}.post-card{position:relative;margin:-20px -16px 0;border-radius:0;padding:16px}.post-card .post-meta{margin-top:-40px;padding:20px 12px;background:#fff;box-shadow:0 1px 4px 0 rgba(0,0,0,0.16);border-radius:2px}.post-card-title{display:none}.post-nav{padding:0;margin-left:-16px;margin-right:-16px}.post-nav .prev,.post-nav .next{width:50%;background:#fff;border-bottom:1px solid #dadada;box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}.post-nav h4{font-size:16px;line-height:1.5}.has-jax{font-size:13px}.MJXc-display{overflow-x:auto;overflow-y:hidden}.comments{margin-left:-16px;margin-right:-16px}}@media screen and (max-width:480px){.has-jax{font-size:10px}.post-content .highlight,.post-content .image-bubble,.post-content>pre{margin-left:-16px;margin-right:-16px}.post-content .highlight,.post-content>pre{padding:16px}}.archive-separator{margin:35px 0 13px;color:#3f51b5;font-size:16px;font-weight:bold}.archive-separator:first-child{margin-top:10px}.article-card{padding:16px 20px 0;background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(151,151,151,0.58)}.article-card .post-content{word-break:break-all}.article-card .post-content .highlight,.article-card .post-content>pre{margin-left:-20px;margin-right:-20px;padding:20px}.article-card .post-time{line-height:24px;font-weight:bold}.article-card .post-footer{margin:0 -20px;padding:12px 20px 8px}.archive-article .post-title{font-size:18px;margin-bottom:0;padding-bottom:16px}.waterfall{position:relative;margin:0 -10px -20px;opacity:0;-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out;-webkit-transform:translateY(50px);transform:translateY(50px)}.waterfall.in{opacity:1;-webkit-transform:none;transform:none}.waterfall-item{position:absolute;width:50%;padding:0 10px 20px}@media screen and (max-width:760px){.archive-article{display:block;margin:0 -16px;padding:16px 16px 8px;border-bottom:1px solid #dadada}.archive-article .post-footer{border-top:none;padding-top:0;padding-bottom:0}.article-card{border-radius:0}.archive-separator{margin-top:16px}.waterfall{margin:0;height:auto !important;opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}.waterfall-item{position:static;width:100%;padding:0}}@media screen and (max-width:420px){.archive-article{padding:16px 16px 0}}.page-header{text-align:center}.page-article .card{padding:20px;background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(151,151,151,0.58)}.page-article .card>*:last-child{margin-bottom:0}.page-article .card>*:first-child{padding-top:0;margin-top:0}.page-article .card,.page-article .column,.page-article .timeline{margin-bottom:20px}.page-content{margin-bottom:30px;border-bottom:2px solid #dadada}.page-content>blockquote,.page-content>pre,.page-content img,.page-content>figure{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(151,151,151,0.58)}.page-content img{width:100%;padding:0;margin:0;border:none}.page-content figure,.page-content pre{margin-left:0 !important;margin-right:0 !important}.page-content figure{padding:20px !important}.page-content>figure,.page-content>pre{box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5{text-align:center}.page-content .headerlink{display:none}.page-content .column-2,.page-content .column-3{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.page-content .column-2>*{width:48%}.page-content .column-3>*{width:31%}.page-content .timeline{position:relative;text-align:center}.page-content .timeline:before{content:'';position:absolute;top:0;left:50%;z-index:1;width:4px;height:100%;margin-left:-2px;background:#dadada}.page-content .timeline h5{position:relative;z-index:2;display:inline-block;margin-bottom:15px;padding:.5em 2em;color:#fff;background:#3f51b5;border-radius:3px;box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}.page-content .timeline .item{position:relative;z-index:2;margin-bottom:30px;padding:15px 0;text-align:left}.page-content .timeline .item>p{display:inline-block;width:45%;margin:0;padding:10px 15px;text-align:center;background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(151,151,151,0.58)}.page-content .timeline .item>h6{position:absolute;top:50%;padding:3px 8px;color:#fff;background:#ff4081;border-radius:3px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.page-content .timeline .item:nth-child(odd){text-align:right}.page-content .timeline .item:nth-child(odd)>h6{right:50%;margin-right:30px}.page-content .timeline .item:nth-child(even)>h6{left:50%;margin-left:30px}.page-content .timeline .item:after{content:'';position:absolute;top:50%;left:50%;border:4px solid #ff4081;outline:2px solid #f6f6f6;border-radius:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.page-about-me{position:relative;padding:30px 35px !important}.page-about-me .avatar{margin-right:35px;width:100px;height:100px;box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}.page-about-me .avatar img{border-radius:50%}.page-about-me .content{color:#444}.page-about-me .content p{margin-top:0}@media screen and (max-width:480px){.page-content{margin-left:-16px;margin-right:-16px}.page-content .column{display:block}.page-about-me{padding:15px 20px !important}.page-about-me .avatar{margin-right:20px;width:60px;height:60px}}.page-modal{display:none;position:fixed;top:24%;left:50%;z-index:120;padding:30px;text-align:center;color:#727272;background:#fff;border-radius:4px;box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);opacity:0;-webkit-transform:translate(-50%, -200%);transform:translate(-50%, -200%)}.page-modal.ready{visibility:hidden;display:block;-webkit-transform:translate(-50%, -100%);transform:translate(-50%, -100%);-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out}.page-modal.in{visibility:visible;opacity:1;-webkit-transform:translate(-50%, 0);transform:translate(-50%, 0)}.page-modal .close{position:absolute;right:15px;top:15px;color:rgba(0,0,0,0.2);font-size:16px;line-height:20px}.page-modal .close:hover,.page-modal .close:active{color:rgba(0,0,0,0.4)}.tabs-bar{position:relative;padding:0;margin-top:14px;overflow:hidden;background:#3f51b5}.tabs-bar.expand{overflow:visible;text-shadow:none}.tabs-bar.expand .tags-list{position:absolute;top:0;left:0;display:block;padding:16px;white-space:normal;background:#fff;border-radius:4px;box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}.tabs-bar.expand .tags-list .tags-list-item{padding:6px 1em;margin-bottom:6px;color:#727272}.tabs-bar.expand .tags-list .tags-list-item:hover{opacity:.7;text-decoration:underline}.tabs-bar.expand .tags-list .tags-list-item:after{display:none}.tabs-bar.expand .tags-list .tags-list-item.active{color:#fff;background:#ff4081;border-radius:.2em}.tags-list{position:relative;z-index:1;width:100%;overflow-x:hidden;overflow-y:hidden;margin:0 auto;list-style:none;padding:0;white-space:nowrap;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tags-list-item{position:relative;-webkit-box-flex:none;-webkit-flex:none;-ms-flex:none;flex:none;padding:12px 1em;line-height:20px;color:rgba(255,255,255,0.8);border-radius:.2em .2em 0 0}.tags-list-item:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px}.tags-list-item.active{color:#fff}.tags-list-item.active:after{background:#ff4081}.tags-list-item:hover,.tags-list-item:active{color:#fff;text-decoration:none}.tags-list-more{position:absolute;right:0;bottom:0;z-index:2;height:44px;padding-left:1em;background:#3f51b5 !important}.tags-list-more .action{width:44px;height:44px;line-height:20px;border-radius:50%;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}@media screen and (max-width:760px){.tabs-bar{margin-left:-16px;margin-right:-16px;padding:0 0 0 16px;width:auto}.tags-list{overflow-x:auto}.tags-list::-webkit-scrollbar{display:none}.tags-list-more{display:none}}.search-wrap{position:relative;min-width:56px}.search-wrap.in .search-input{width:320px;opacity:1}.search-wrap.in #search{color:#c5cae9}.search-wrap .search-input{position:relative;z-index:2;width:0;height:36px;margin:10px 10px 0 0;border:none;background:transparent;color:#fff;border-bottom:2px solid #fff;border-radius:0;opacity:0;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.search-wrap .search-input::-webkit-input-placeholder{color:#c5cae9}.search-wrap .header-icon{position:absolute;top:0;z-index:3}.search-wrap #search{right:0}.search-wrap #back{display:none;left:0}.search-panel{position:fixed;top:50px;right:65px;z-index:36;width:400px;max-height:70%;overflow-y:auto;background:#fff;border-radius:2px;box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);opacity:0;visibility:hidden;-webkit-transform:translateY(-50%) scale(.5);transform:translateY(-50%) scale(.5);-webkit-transition:.3s ease-in;transition:.3s ease-in}.search-panel.in{opacity:1;visibility:visible;-webkit-transform:none;transform:none}.search-result{margin:0;padding:0}.search-result .item{line-height:1.6em;border-top:1px solid #dadada}.search-result .item:first-child{border-top:none}.search-result .item a{padding:10px 20px}.search-result .title{color:#3f51b5}.search-result .title:hover{color:#c5cae9}.search-result .tags span,.search-result .time{font-size:13px;color:#727272}.search-result .tags{margin-right:1em}.search-result .tags span{margin-right:.5em}.search-result .time{padding-left:1em}.search-result .tips{padding:30px 0;text-align:center;color:#727272}.lock-size{position:absolute;width:100%;height:100%;max-height:100%;overflow:hidden}@media screen and (max-width:760px){.search-wrap.in{position:absolute;top:0;right:0;z-index:10;width:100%;padding:0 16px 0 56px;background:#3f51b5}.search-wrap.in .search-input{width:100%}.search-wrap.in #back{display:block}.search-panel{z-index:28;top:56px;right:0;width:100%;height:calc(100vh - 56px);max-height:calc(100vh - 56px);border-radius:0;box-shadow:none}}.page-reward{margin:60px 0;text-align:center}.page-reward-btn{width:56px;height:56px;line-height:56px;font-size:20px;color:#fff;background:#f44336;box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out}.page-reward-btn:hover,.page-reward-btn:active{box-shadow:0 6px 12px rgba(0,0,0,0.2),0 4px 15px rgba(0,0,0,0.2)}.page-reward-btn:hover,.page-reward-btn:active{color:#fff;text-decoration:none}.reward-title{position:relative;padding:10px 30px}.reward-title .icon-quote-left,.reward-title .icon-quote-right{position:absolute;font-size:80%;color:#999}.reward-title .icon-quote-left{top:0;left:0}.reward-title .icon-quote-right{bottom:0;right:0}.reward-lay{max-width:100%;width:360px}.reward-content{margin:20px 0}.reward-code{width:200px;margin:0 auto}.reward-toggle{position:relative;display:block;width:120px;overflow:hidden;margin:40px auto 0;border-radius:3px;cursor:pointer;box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);-webkit-transition:.4s ease-in-out;transition:.4s ease-in-out}.reward-toggle:hover,.reward-toggle:active{box-shadow:0 6px 12px rgba(0,0,0,0.2),0 4px 15px rgba(0,0,0,0.2)}.reward-toggle-check{position:absolute;visibility:hidden}.reward-toggle-check:checked+.reward-toggle-ctrol{-webkit-transform:translate3d(-60px, 0, 0);transform:translate3d(-60px, 0, 0)}.reward-toggle-ctrol{display:flex;width:180px;height:30px;line-height:30px;background:#eee;border-radius:3px;overflow:hidden;user-select:none;-webkit-transition:.1s ease-in-out;transition:.1s ease-in-out}.reward-toggle-item,.reward-toggle-label{flex:0 0 auto;width:60px;height:100%}.reward-toggle-item{position:relative;z-index:2;height:100%;text-align:center;color:#fff;font-size:12px;box-shadow:inset 0 0 15px rgba(0,0,0,0.3)}.reward-toggle .alipay{background:#1e88e5}.reward-toggle .wechat{background:#4caf50}@media screen and (max-width:760px){.reward-title{font-size:18px}}@media screen and (max-width:480px){.reward-lay{border-radius:0}.reward-content{margin:0}.reward-toggle{margin:20px auto 0}}.img-lightbox{text-align:center}.img-lightbox.ready{position:relative;top:0;left:0}.img-lightbox.ready img{position:absolute;z-index:890}.img-lightbox.ready img.zoom-in{-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out}.img-lightbox.ready .overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:888;background:#2f2d2d;opacity:0;will-change:opacity;-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out}.img-lightbox.ready .overlay-title{position:fixed;left:0;right:0;bottom:0;z-index:900;height:40px;line-height:40px;color:#fff;opacity:0;-webkit-transform:translate3d(0, 30px, 0);transform:translate3d(0, 30px, 0);-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out}.img-lightbox.active img{cursor:-webkit-zoom-out;cursor:zoom-out}.img-lightbox.active .overlay,.img-lightbox.active .overlay-title{opacity:1}.img-lightbox.active .overlay-title{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.img-lightbox img{display:inline;margin:0;cursor:-webkit-zoom-in;cursor:zoom-in}.img-lightbox img:hover{will-change:left,top,width,height} \ No newline at end of file diff --git a/img/alipay.jpg b/img/alipay.jpg new file mode 100644 index 0000000000000000000000000000000000000000..96ca366c657fab48c1a6cb07d1d5e892629cf63c GIT binary patch literal 236290 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

                                                                                                                            K;$4Bo8t+b= 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 literal 0 HcmV?d00001 diff --git a/img/avatar.jpg b/img/avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..56b6149d226369933b8537961774894ecc87bfdf GIT binary patch literal 4320 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 P{s3bGGyN((OvL{HQE}cS literal 0 HcmV?d00001 diff --git a/img/img-loading.png b/img/img-loading.png new file mode 100644 index 0000000000000000000000000000000000000000..ba77ce3fccf7f47cbfc3598bef761923fdb08a94 GIT binary patch literal 2104 zcmZYAdpy(oAHeZ1r#eQfiAonWiHJ_)#OZVqi;zp@64kFv@vHFbkV`ss8>)eIAeJ=kg;{wZeD*tBHrRZ8P982Nzc44iD7TFA}B zdk4vVgPr|@U47K9ep)w$-c4cje5Un)r7(L2n7tHw?*OBh%Ic#s`@jye`>D*&bk1iw zmqH(+Foy@|Ljz!$JSt;|%Hj<&xq~e3Ae&EPacS%k+RzA{Jxm|s(K!M-M@Z)i8ACh< zhtJ>&nH)ZISi~G2WpM>8-WYpW$mWaLBjO>RXlO*j5r{bguu`s2#udqi1>#|_BKh#B zoF|mbdd#>V*~DSuSP2bVDgU#u8eqa2ZdR06R=AOR@_;4TGC2qoh}iBc$43Bg@9 zA(ARYQk6&snh?n*Me@l}*~F+EG&w4t8k0|q$tTCgK~v&2YO!KUtWZl7QeKyR(yDJYUUQe#G)K1T+LxnipLwx-8KU7L;?& z(AjByly{exbtB|h=vCYF>JpDqk6(VVszpXc7k-Q#fc9LA^OJhkJ))(X|0N%a3%5PB zcV;P=azItOG%gcGpYzEijf=_aJlp>Xv$`vIb}%wR^G(3l?=nFb+*S9Nd z^F{^5P73C`?o zjcF3Tn`?%odLDlDmEL>^6JnA6uERU?dicOdWT!8Wz`nA!GG&KnYM7UwG1l9-)3 zKjT-e-FJ{pU=j5e?ls0Q8(+`en^JAZrp=q_UUiJO+sJY<6A(6#9fp;(ZBd3EJY;H- z$_Ptie4U$p<5OycwH+4&=c>{@d=J26 zgvcdgvcLZyH(7`qdblgCU&lX|p?ZF8V#Qi6iAok6htsb(`NV~46+*rD%%p7J{cW7_ zboze5!NYoH_Wq%-lHzmF&%!syaM*sMb;PhqVsl9tId6x_lbldwUEJymyUn8yRv*)< zlfs{Q(O&o8ky=MwZtE;n9Wt=jFK|feT{wRD#M0k!W?K_t7yJLrp#RSRU4z*hb28!f z)r9+)`hcuWqWTN>mN~UlRT*`wn>dU>Ugr;NSRsbXIMguqc(KVPOSF+`nG*x+xKy`8 zzvrNf()4==%9&KJ@9V4)UUt#AiIOdXD-R~aObfOn1s}UzTT36T$2&%EHThl@bK_Z# z{YsxU?$MYZmv9#LW8baNMw1TG5om0ZgTuo?1oZlPoq+1fR9kAY?vbrW{R095W`2Wv zR^@42T}7rZZ#8>*ZJGMwST>U29Dq-{{+|d4W@e7CXQ%OR|9Zcyy!N{u?D&sfS)8RIMeCX(X49%pA5e&fX!=jYQ@tCi%#<;ho^Mi+;qO>uR)f;6?Q zILVevD8z&(O$I$!VZ9*KeFMtN;> zkXkIqs^6FoPVv>VMd6Z$&Qj>v(_wZPO3`A=2JA>G=7iOl`x&em!YF7q{=|b7w0mG3 z(M9KrapOH*?Nb%=b5zKiRE^F2HN@^Crh%DH_F)|G_90_4D)Z3&7MPAI*fA~4Nddz1T2abA9q8Q)aPJEx3NvPw*d*O7^w16t^1%PTo3Y4ZGX-$nStJ7-{L z0?r!Qgt^IIJpYkV?%^1p;=MVOV_J#6|2`FtJ@WLW!SRf6x#+%mpI$eaa3oNFgZs9u zho+f*_M{K_5M1H93MR@a5U!o8^6$P|e!X6zT~XD6jx2v+*LLDZ$+vPFtV=PhgEoG$rI>`P0=HfG$6B9IjT literal 0 HcmV?d00001 diff --git a/img/wechat.jpg b/img/wechat.jpg new file mode 100644 index 0000000000000000000000000000000000000000..01e17a802efffc01486f2bfe0cb6a517b09fe98c GIT binary patch literal 306192 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

                                                                                                                          • Results not found!

                                                                                                                          • '; + } + + searchResult.innerHTML = html; + } + + function regtest(raw, regExp) { + regExp.lastIndex = 0; + return regExp.test(raw); + } + + function matcher(post, regExp) { + return regtest(post.title, regExp) || post.tags.some(function (tag) { + return regtest(tag.name, regExp); + }) || regtest(post.text, regExp); + } + + function search(e) { + var key = this.value.trim(); + if (!key) { + return; + } + + var regExp = new RegExp(key.replace(/[ ]/g, '|'), 'gmi'); + + loadData(function (data) { + + var result = data.filter(function (post) { + return matcher(post, regExp); + }); + + render(result); + Control.show(); + }); + + e.preventDefault(); + } + + + searchIco.addEventListener(even, function () { + searchWrap.classList.toggle('in'); + keyInput.value = ''; + searchWrap.classList.contains('in') ? keyInput.focus() : keyInput.blur(); + }); + + back.addEventListener(even, function () { + searchWrap.classList.remove('in'); + Control.hide(); + }); + + document.addEventListener(even, function (e) { + if (e.target.id !== 'key' && even === 'click') { + Control.hide(); + } + }); + + keyInput.addEventListener('input', search); + keyInput.addEventListener(even, search); + +}).call(this); diff --git a/js/search.min.js b/js/search.min.js new file mode 100644 index 0000000..9b1a8c5 --- /dev/null +++ b/js/search.min.js @@ -0,0 +1 @@ +(function(){function t(t){if(r)t(r);else{var e=new XMLHttpRequest;e.open("GET",g,!0),e.onload=function(){if(this.status>=200&&this.status<300){var e=JSON.parse(this.response);r=e instanceof Array?e:e.posts,t(r)}else console.error(this.statusText)},e.onerror=function(){console.error(this.statusText)},e.send()}}function e(t,e){return t.replace(/\{\w+\}/g,function(t){var n=t.replace(/\{|\}/g,"");return e[n]||""})}function n(t){var n="";n=t.length?t.map(function(t){return e(v,{title:t.title,path:(o.BLOG.ROOT+"/"+t.path).replace(/\/{2,}/g,"/"),date:new Date(t.date).toLocaleDateString(),tags:t.tags.map(function(t){return"#"+t.name+""}).join("")})}).join(""):'
                                                                                                                          • Results not found!

                                                                                                                          • ',L.innerHTML=n}function i(t,e){return e.lastIndex=0,e.test(t)}function s(t,e){return i(t.title,e)||t.tags.some(function(t){return i(t.name,e)})||i(t.text,e)}function a(e){var i=this.value.trim();if(i){var a=new RegExp(i.replace(/[ ]/g,"|"),"gmi");t(function(t){var e=t.filter(function(t){return s(t,a)});n(e),w.show()}),e.preventDefault()}}var r,o=window||this,c=o.BLOG.even,l=o.BLOG.$,u=l("#search"),f=l("#search-wrap"),d=l("#key"),p=l("#back"),h=l("#search-panel"),L=l("#search-result"),v=l("#search-tpl").innerHTML,g=(o.BLOG.ROOT+"/content.json").replace(/\/{2}/g,"/"),m=o.BLOG.noop,O=l("html"),w={show:function(){o.innerWidth<760?O.classList.add("lock-size"):m,h.classList.add("in")},hide:function(){o.innerWidth<760?O.classList.remove("lock-size"):m,h.classList.remove("in")}};u.addEventListener(c,function(){f.classList.toggle("in"),d.value="",f.classList.contains("in")?d.focus():d.blur()}),p.addEventListener(c,function(){f.classList.remove("in"),w.hide()}),document.addEventListener(c,function(t){"key"!==t.target.id&&"click"===c&&w.hide()}),d.addEventListener("input",a),d.addEventListener(c,a)}).call(this); \ No newline at end of file diff --git a/page/2/index.html b/page/2/index.html new file mode 100644 index 0000000..1d3d2b3 --- /dev/null +++ b/page/2/index.html @@ -0,0 +1,834 @@ + + + + + + + + + + + + + + + + + + + + + CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                            + + + +
                                                                                                                            + +
                                                                                                                            + +
                                                                                                                            +

                                                                                                                            CodingDoge

                                                                                                                            +
                                                                                                                            + + 关于开发、设计,关于生活。 + +
                                                                                                                            +
                                                                                                                            + + + + +
                                                                                                                            + +
                                                                                                                            + +
                                                                                                                              + +
                                                                                                                            • +
                                                                                                                              + + + + + + + +

                                                                                                                              + 剑指Offer —— 滑动窗口的最大值 +

                                                                                                                              + + + + + +
                                                                                                                              + + + +题目来源:滑动窗口的最大值 + + +题目描述给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1... + + + + Continue reading... + +
                                                                                                                              + + + +
                                                                                                                              + +
                                                                                                                            • + +
                                                                                                                            • +
                                                                                                                              + + + + + + + +

                                                                                                                              + Search in Rotated Sorted Array +

                                                                                                                              + + + + + +
                                                                                                                              + + + +题目来源LeetCode: LeetCode OJ + + + +题目描述: Suppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).You are given a target value to sear... + + + + Continue reading... + +
                                                                                                                              + + + +
                                                                                                                              + +
                                                                                                                            • + +
                                                                                                                            • +
                                                                                                                              + + + + + + + +

                                                                                                                              + Remove Duplicates from Sorted Array +

                                                                                                                              + + + + + +
                                                                                                                              + + + +题目来源LeetCode: LeetCode OJ + + +题目描述Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.Do not allocate extra space for another arr... + + + + Continue reading... + +
                                                                                                                              + + + +
                                                                                                                              + +
                                                                                                                            • + +
                                                                                                                            • +
                                                                                                                              + + + + + + + +

                                                                                                                              + 常见排序算法总结 +

                                                                                                                              + + + + + +
                                                                                                                              + + + 排序算法一般分为: + +内部排序(In-place sort) 不占用额外内存或者占用常数内存,如:插入排序、选择排序、冒泡排序、堆排序、快速排序。 +外部排序(Out-place sort) 因为排序数据大,可用内存一次不能容纳所有排序记录,排序过程中需要访问外存,如:归并排序、计数排序、基数排序、桶排序。 + +也分为: + +稳定的排序(stable sort) 插入排序、冒泡排序、归并排序、计数... + + + + Continue reading... + +
                                                                                                                              + +
                                                                                                                              + +
                                                                                                                            • + +
                                                                                                                            • +
                                                                                                                              + + + + + + + +

                                                                                                                              + self与super的区别 +

                                                                                                                              + + + + + +
                                                                                                                              + + + +原文CSDN evilotus有所整理 + +在ObjC中的类实现中经常看到这两个关键字”self”和”super”,以以前oop语言的经验,拿c++为例,self相当于this,super相当于调用父类的方法,这么看起来是很容易理解的。但是它们真正是如何调用的呢? 你知道吗? + + +以下面的代码为例: + +12345678910111213141516171819202122232425... + + + + Continue reading... + +
                                                                                                                              + + + +
                                                                                                                              + +
                                                                                                                            • + +
                                                                                                                            • +
                                                                                                                              + + + + + + + +

                                                                                                                              + Objective-C声明在头文件和实现文件中的区别 +

                                                                                                                              + + + + + +
                                                                                                                              + + + +转自codecloud(有整理) + +调试程序的时候,突然想到这个问题,百度一下发现有不少这方面的问答,粗略总结一下: +属性写在.h文件中和在.m文件中有什么区别? + +Objective-C中有分类和类扩展的概念,而实现文件中的类声明实际上就是类扩展. + +@interface部分为类扩展(extension) + +其被设计出来就是为了解决两个问题的 + +定义类私有方法的地方,也就是下面说到的区别... + + + + Continue reading... + +
                                                                                                                              + + + +
                                                                                                                              + +
                                                                                                                            • + +
                                                                                                                            • +
                                                                                                                              + + + + + + + +

                                                                                                                              + CocoaPods 安装及一般使用 +

                                                                                                                              + + + + + +
                                                                                                                              + + + WHAT IS COCOAPODSCocoaPods is a dependency manager for Swift and Objective-C Cocoa projects.CocoaPods can help you scale your projects elegantly. +INSTALLCocoaPods是基于ruby建立的,要确保你的电脑里装有Ruby,不过Mac都是自带... + + + + Continue reading... + +
                                                                                                                              + + + +
                                                                                                                              + +
                                                                                                                            • + +
                                                                                                                            • +
                                                                                                                              + + + + + + + +

                                                                                                                              + 有限状态机在iOS中的应用 +

                                                                                                                              + + + + + +
                                                                                                                              + + + 有限状态机(Finite-State Machine, FSM),是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。 +其实我们平常和很多状态机都打过交道,比如正则表达式、网络协议(如TCP协议状态机)、游戏设计、字符串匹配等等,可能大多数时候我们都没意识到,接下来我们简略了解下状态机。 +基本概念 +状态(state): 指的是对象在其生命周期中的一种状况,处于某个特定状态中的对象... + + + + Continue reading... + +
                                                                                                                              + +
                                                                                                                              + +
                                                                                                                            • + +
                                                                                                                            • +
                                                                                                                              + + + + + + + +

                                                                                                                              + 视频开发 +

                                                                                                                              + + + + + +
                                                                                                                              + + + 下面會介紹視頻的一些基本知識,和在iOS上實現視頻播放和緩存的幾種方案。 + + +软解码和硬解码GPU解码就是所谓的硬解码,CPU解码就是软解码。iOS提供的播放器类使用的是硬解码,所以视频播放对CPU不会有很大的压力,但是支持的播放格式比较单一,一般就是MP4、MOV、M4V这几个。 +HTTP Live StreamingHTTP Live Streaming(缩写是 HLS)是一个由苹果公司... + + + + Continue reading... + +
                                                                                                                              + + + +
                                                                                                                              + +
                                                                                                                            • + +
                                                                                                                            • +
                                                                                                                              + + + + + + + +

                                                                                                                              + xcode常用快捷键及其他功能 +

                                                                                                                              + + + + + +
                                                                                                                              + + + 快捷键 +Command+R生成并运行程序Command+B只生成程序而不运行它Command+T新建选项卡 +标记 +// MARK: - \// TODO: \// FIXME: \ +小功能 +Product>Clean删除生成的中间文件 + + + + + Continue reading... + +
                                                                                                                              + + + +
                                                                                                                              + +
                                                                                                                            • + +
                                                                                                                            + + + + + +
                                                                                                                            + + + +
                                                                                                                            +
                                                                                                                            + + + + + + + +
                                                                                                                            + +

                                                                                                                            扫一扫,分享到微信

                                                                                                                            + 微信分享二维码 +
                                                                                                                            + + + + + + + + + + +
                                                                                                                            +
                                                                                                                              +
                                                                                                                              + + + + + + + + + + + + + + + + + + + diff --git a/page/3/index.html b/page/3/index.html new file mode 100644 index 0000000..9b7f9ba --- /dev/null +++ b/page/3/index.html @@ -0,0 +1,843 @@ + + + + + + + + + + + + + + + + + + + + + CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              + + + +
                                                                                                                              + +
                                                                                                                              + +
                                                                                                                              +

                                                                                                                              CodingDoge

                                                                                                                              +
                                                                                                                              + + 关于开发、设计,关于生活。 + +
                                                                                                                              +
                                                                                                                              + + + + +
                                                                                                                              + +
                                                                                                                              + +
                                                                                                                                + +
                                                                                                                              • + + +
                                                                                                                              • + +
                                                                                                                              • +
                                                                                                                                + + + + + + + +

                                                                                                                                + 解决Arduino CH34x系列在macOS Sierra中找不到串口的问题 +

                                                                                                                                + + + + + +
                                                                                                                                + + + +毕设做Arduino开发,一开始买了淘宝上慧净自己改的Arduino UNO国产板子,回来插在mac上读不出串口,安装了它附带的驱动还是读不出,同学买了原装板说一插上就能读出串口,都没自己装驱动,为了省麻烦,直接跟商家换了原装板,这时候麻烦来了,板子在我电脑上读不出串口,在别人电脑上能读出来,别人的在我电脑上也读不出来…很崩溃,然后从各个角度debug,下面一个个步骤来,基本能解决。 +... + + + + Continue reading... + +
                                                                                                                                + + + +
                                                                                                                                + +
                                                                                                                              • + +
                                                                                                                              • + + +
                                                                                                                              • + +
                                                                                                                              • +
                                                                                                                                + + + + + + + +

                                                                                                                                + STL常见用法 — map +

                                                                                                                                + + + + + +
                                                                                                                                + + + STL常见用法 — +代码敲得少,STL总是用的不熟,便自己整理一些用法,有眼缘的顺手用着吧。 + + +简介maps是一个关联容器,用来存储key-value式的元素,提供一对一hash。内部的实现,自建一颗红黑树,这棵树具有对数据自动排序的功能。比如一个班级中,每个学生的学号和他的姓名就存在一对一映射的关系。 + +第一个值是关键字(key),每个关键字只能在map中出现一次 +第二个值为关键字的值... + + + + Continue reading... + +
                                                                                                                                + + + +
                                                                                                                                + +
                                                                                                                              • + +
                                                                                                                              • +
                                                                                                                                + + + + + + + +

                                                                                                                                + STL常见用法 — vector +

                                                                                                                                + + + + + +
                                                                                                                                + + + +代码敲得少,STL总是用的不熟,便自己整理一些用法,有眼缘的顺手用着吧。 + + +简介vector是线性容器,它的元素严格的按照线性序列排序,和动态数组很相似,和数组一样,它的元素存储在一块连续的存储空间中,这也意味着我们不仅可以使用迭代器(iterator)访问元素,还可以使用指针的偏移方式访问,和常规数组不一样的是,vector能够自动存储元素,可以自动增长或缩小存储空间。 +用法头文件1... + + + + Continue reading... + +
                                                                                                                                + + + +
                                                                                                                                + +
                                                                                                                              • + +
                                                                                                                              • +
                                                                                                                                + + + + + + + +

                                                                                                                                + 常用宏定义 +

                                                                                                                                + + + + + +
                                                                                                                                + + + iOS开发高级:使用宏定义macros +123456789101112131415161718192021222324252627282930313233343536373839404142434445//1. 打印日志#ifdef DEBUG# define DLog(...) NSLog(__VA_ARGS__)#else# define DLog(...)#endif//2... + + + + Continue reading... + +
                                                                                                                                + + + +
                                                                                                                                + +
                                                                                                                              • + +
                                                                                                                              • +
                                                                                                                                + + + + + + + +

                                                                                                                                + STL常见用法 — queue +

                                                                                                                                + + + + + +
                                                                                                                                + + + +代码敲得少,STL总是用的不熟,便自己整理一些用法,有眼缘的顺手用着吧。 + + +简介 队列(queue)是一种特殊的线性表,是一种先进先出(First In First Out)的数据结构,允许在队列末尾插入元素,队列头取出元素,在STL中是用list或者deque实现,封闭头部即可。 +用法头文件1#include <queue> +构造函数1template <class... + + + + Continue reading... + +
                                                                                                                                + + + +
                                                                                                                                + +
                                                                                                                              • + +
                                                                                                                              • +
                                                                                                                                + + + + + + + +

                                                                                                                                + 插件管理——Vundle +

                                                                                                                                + + + + + +
                                                                                                                                + + + +都说Vim是程序员写给自己的编辑器,其中的情结可想而知。 + +vim因为其庞大而强劲的插件受到无比的推崇,而插件的查找和管理便成了一个问题。 +Vundle便是一个Github上为了解决这个问题的项目(致敬贡献者们),使用步骤如下: +安装Vundle,在终端输入以下代码即可git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/v... + + + + Continue reading... + +
                                                                                                                                + + + +
                                                                                                                                + +
                                                                                                                              • + +
                                                                                                                              • +
                                                                                                                                + + + + + + + +

                                                                                                                                + 漫谈iOS系列之:内存管理 +

                                                                                                                                + + + + + +
                                                                                                                                + + + 引用计数推荐一篇来自@杨萧玉的引用计数原理Blog + + +简介iOS中对内存管理的机制(堆内存),每一个对象都有一个与之关联的引用计数(Reference Counting)。当一个对象“被拥有”的时候引用计数+1,当一个对象引用计数为零时该对象被释放。 +比拟比如上班,最早进入办公室的人需要开灯,之后进入办公室的人需要照明, 下班离开办公室的人不需要照明,最后离开办公室的人需要关灯。这样对... + + + + Continue reading... + +
                                                                                                                                + + + +
                                                                                                                                + +
                                                                                                                              • + +
                                                                                                                              • +
                                                                                                                                + + + + + + + +

                                                                                                                                + 漫谈iOS系列之:多线程 +

                                                                                                                                + + + + + +
                                                                                                                                + + + +线程基本概念线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器环境(regi... + + + + Continue reading... + +
                                                                                                                                + + + +
                                                                                                                                + +
                                                                                                                              • + +
                                                                                                                              + + + + + +
                                                                                                                              + + + +
                                                                                                                              +
                                                                                                                              + + + + + + + +
                                                                                                                              + +

                                                                                                                              扫一扫,分享到微信

                                                                                                                              + 微信分享二维码 +
                                                                                                                              + + + + + + + + + + +
                                                                                                                              +
                                                                                                                                +
                                                                                                                                + + + + + + + + + + + + + + + + + + + diff --git a/page/4/index.html b/page/4/index.html new file mode 100644 index 0000000..803deb3 --- /dev/null +++ b/page/4/index.html @@ -0,0 +1,419 @@ + + + + + + + + + + + + + + + + + + + + + CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                + + + +
                                                                                                                                + +
                                                                                                                                + +
                                                                                                                                +

                                                                                                                                CodingDoge

                                                                                                                                +
                                                                                                                                + + 关于开发、设计,关于生活。 + +
                                                                                                                                +
                                                                                                                                + + + + +
                                                                                                                                + +
                                                                                                                                + +
                                                                                                                                  + +
                                                                                                                                • +
                                                                                                                                  + + + + + + + +

                                                                                                                                  + 剑指Offer —— 复杂链表的复制 +

                                                                                                                                  + + + + + +
                                                                                                                                  + + + +题目来源牛客网:复杂链表的复制 + +题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) +数据结构123456789101112131415/*struct RandomListNode { int labe... + + + + Continue reading... + +
                                                                                                                                  + + + +
                                                                                                                                  + +
                                                                                                                                • + +
                                                                                                                                • +
                                                                                                                                  + + + + + + + +

                                                                                                                                  + 动态规划(Dynamic Programming) +

                                                                                                                                  + + + + + +
                                                                                                                                  + + + (以下简称DP) + +基本思想将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。适合用DP求解的问题,经分解得到的子问题一般不是相互独立的,如果使用分治法求解,有些子问题会被重复计算多次,可以用一个表来记录所有已解决的子问题的答案,不管该子问题以后是否被用到,只要它被计算过,就将其结果填入表中。 +DP算法适用于解最优化问题。通常可以按以下步骤设计: + +找出最优解... + + + + Continue reading... + +
                                                                                                                                  + +
                                                                                                                                  + +
                                                                                                                                • + +
                                                                                                                                + + + + + +
                                                                                                                                + + + +
                                                                                                                                +
                                                                                                                                + + + + + + + +
                                                                                                                                + +

                                                                                                                                扫一扫,分享到微信

                                                                                                                                + 微信分享二维码 +
                                                                                                                                + + + + + + + + + + +
                                                                                                                                +
                                                                                                                                  +
                                                                                                                                  + + + + + + + + + + + + + + + + + + + diff --git a/placeholder b/placeholder deleted file mode 100644 index e69de29..0000000 diff --git a/search/index.html b/search/index.html new file mode 100644 index 0000000..ba5fa40 --- /dev/null +++ b/search/index.html @@ -0,0 +1,426 @@ + + + + + + + + + + + + + + + + + + + + + CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                  + + + +
                                                                                                                                  + + + + +
                                                                                                                                  +
                                                                                                                                  +
                                                                                                                                  +

                                                                                                                                  layout: search title: search

                                                                                                                                  + +
                                                                                                                                  + + +
                                                                                                                                  + +
                                                                                                                                  +

                                                                                                                                  CodingDoge

                                                                                                                                  +

                                                                                                                                  关于开发、设计,关于生活。

                                                                                                                                  +

                                                                                                                                  目前博客多作为知识点整理,所以有些文章奇奇怪怪(因为还没写完)...各位有缘的看官见笑了😝 恩 就酱...

                                                                                                                                  +
                                                                                                                                  + + +
                                                                                                                                  + + +
                                                                                                                                  + +
                                                                                                                                  + + + + + + +
                                                                                                                                  + + + +
                                                                                                                                  + + + +
                                                                                                                                  + +
                                                                                                                                  + + + + + + + + + + + + + + + + + + +
                                                                                                                                  + +
                                                                                                                                  + +

                                                                                                                                  + + 谢谢大爷~ + +

                                                                                                                                  +
                                                                                                                                  + +
                                                                                                                                  + 打赏二维码 +
                                                                                                                                  + + + +
                                                                                                                                  +
                                                                                                                                  + + +
                                                                                                                                  + + + +
                                                                                                                                  +
                                                                                                                                  + + + + + + + +
                                                                                                                                  + +

                                                                                                                                  扫一扫,分享到微信

                                                                                                                                  + 微信分享二维码 +
                                                                                                                                  + + + + + + + + + + +
                                                                                                                                  +
                                                                                                                                    +
                                                                                                                                    + + + + + + + + + + + + + + + + + + + diff --git a/tags/Bug/index.html b/tags/Bug/index.html new file mode 100644 index 0000000..01bd583 --- /dev/null +++ b/tags/Bug/index.html @@ -0,0 +1,438 @@ + + + + + + + + + + + + + + + + + + + + + Tags: Bug | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                    + + + +
                                                                                                                                    + +
                                                                                                                                    + +
                                                                                                                                    +

                                                                                                                                    Tags: Bug

                                                                                                                                    +
                                                                                                                                    + +
                                                                                                                                    +
                                                                                                                                    + + +
                                                                                                                                    + + +
                                                                                                                                    + +
                                                                                                                                    +
                                                                                                                                    + + + +
                                                                                                                                    + +
                                                                                                                                    + +
                                                                                                                                    + + +
                                                                                                                                    + +
                                                                                                                                    + + + +
                                                                                                                                    + +
                                                                                                                                    + + +
                                                                                                                                    + + +
                                                                                                                                    + + + + +
                                                                                                                                    +
                                                                                                                                    + + + + + + + +
                                                                                                                                    + +

                                                                                                                                    扫一扫,分享到微信

                                                                                                                                    + 微信分享二维码 +
                                                                                                                                    + + + + + + + + + + +
                                                                                                                                    +
                                                                                                                                      +
                                                                                                                                      + + + + + + + + + + + + + + + + + + + diff --git a/tags/LeetCode/index.html b/tags/LeetCode/index.html new file mode 100644 index 0000000..ed38dea --- /dev/null +++ b/tags/LeetCode/index.html @@ -0,0 +1,438 @@ + + + + + + + + + + + + + + + + + + + + + Tags: LeetCode | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                      + + + +
                                                                                                                                      + +
                                                                                                                                      + +
                                                                                                                                      +

                                                                                                                                      Tags: LeetCode

                                                                                                                                      +
                                                                                                                                      + +
                                                                                                                                      +
                                                                                                                                      + + +
                                                                                                                                      + + +
                                                                                                                                      + +
                                                                                                                                      +
                                                                                                                                      + + + +
                                                                                                                                      + +
                                                                                                                                      + +
                                                                                                                                      + + +
                                                                                                                                      + +
                                                                                                                                      + + + +
                                                                                                                                      + +
                                                                                                                                      + + +
                                                                                                                                      + + +
                                                                                                                                      + + + + +
                                                                                                                                      +
                                                                                                                                      + + + + + + + +
                                                                                                                                      + +

                                                                                                                                      扫一扫,分享到微信

                                                                                                                                      + 微信分享二维码 +
                                                                                                                                      + + + + + + + + + + +
                                                                                                                                      +
                                                                                                                                        +
                                                                                                                                        + + + + + + + + + + + + + + + + + + + diff --git a/tags/OC/index.html b/tags/OC/index.html new file mode 100644 index 0000000..86ddd9f --- /dev/null +++ b/tags/OC/index.html @@ -0,0 +1,574 @@ + + + + + + + + + + + + + + + + + + + + + Tags: OC | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                        + + + +
                                                                                                                                        + +
                                                                                                                                        + +
                                                                                                                                        +

                                                                                                                                        Tags: OC

                                                                                                                                        +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        + + +
                                                                                                                                        + + +
                                                                                                                                        + +
                                                                                                                                        +
                                                                                                                                        + + + +
                                                                                                                                        + +
                                                                                                                                        + +
                                                                                                                                        + + +
                                                                                                                                        + +
                                                                                                                                        + + + +
                                                                                                                                        + +
                                                                                                                                        + + + +
                                                                                                                                        + +
                                                                                                                                        + + + +
                                                                                                                                        + +
                                                                                                                                        + + + +
                                                                                                                                        + +
                                                                                                                                        + + + +
                                                                                                                                        + +
                                                                                                                                        + + +
                                                                                                                                        + + +
                                                                                                                                        + + + + +
                                                                                                                                        +
                                                                                                                                        + + + + + + + +
                                                                                                                                        + +

                                                                                                                                        扫一扫,分享到微信

                                                                                                                                        + 微信分享二维码 +
                                                                                                                                        + + + + + + + + + + +
                                                                                                                                        +
                                                                                                                                          +
                                                                                                                                          + + + + + + + + + + + + + + + + + + + diff --git a/tags/Reading-Notes/index.html b/tags/Reading-Notes/index.html new file mode 100644 index 0000000..eeb2895 --- /dev/null +++ b/tags/Reading-Notes/index.html @@ -0,0 +1,472 @@ + + + + + + + + + + + + + + + + + + + + + Tags: Reading Notes | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                          + + + +
                                                                                                                                          + +
                                                                                                                                          + +
                                                                                                                                          +

                                                                                                                                          Tags: Reading Notes

                                                                                                                                          +
                                                                                                                                          + +
                                                                                                                                          +
                                                                                                                                          + + +
                                                                                                                                          + + +
                                                                                                                                          + +
                                                                                                                                          +
                                                                                                                                          + + + +
                                                                                                                                          + +
                                                                                                                                          + +
                                                                                                                                          + + +
                                                                                                                                          + +
                                                                                                                                          + + + +
                                                                                                                                          + +
                                                                                                                                          + + + +
                                                                                                                                          + +
                                                                                                                                          + + +
                                                                                                                                          + + +
                                                                                                                                          + + + + +
                                                                                                                                          +
                                                                                                                                          + + + + + + + +
                                                                                                                                          + +

                                                                                                                                          扫一扫,分享到微信

                                                                                                                                          + 微信分享二维码 +
                                                                                                                                          + + + + + + + + + + +
                                                                                                                                          +
                                                                                                                                            +
                                                                                                                                            + + + + + + + + + + + + + + + + + + + diff --git a/tags/STL/index.html b/tags/STL/index.html new file mode 100644 index 0000000..da347fe --- /dev/null +++ b/tags/STL/index.html @@ -0,0 +1,472 @@ + + + + + + + + + + + + + + + + + + + + + Tags: STL | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                            + + + +
                                                                                                                                            + +
                                                                                                                                            + +
                                                                                                                                            +

                                                                                                                                            Tags: STL

                                                                                                                                            +
                                                                                                                                            + +
                                                                                                                                            +
                                                                                                                                            + + +
                                                                                                                                            + + +
                                                                                                                                            + +
                                                                                                                                            +
                                                                                                                                            + + + +
                                                                                                                                            + +
                                                                                                                                            + +
                                                                                                                                            + + +
                                                                                                                                            + +
                                                                                                                                            + + + +
                                                                                                                                            + +
                                                                                                                                            + + + +
                                                                                                                                            + +
                                                                                                                                            + + +
                                                                                                                                            + + +
                                                                                                                                            + + + + +
                                                                                                                                            +
                                                                                                                                            + + + + + + + +
                                                                                                                                            + +

                                                                                                                                            扫一扫,分享到微信

                                                                                                                                            + 微信分享二维码 +
                                                                                                                                            + + + + + + + + + + +
                                                                                                                                            +
                                                                                                                                              +
                                                                                                                                              + + + + + + + + + + + + + + + + + + + diff --git a/tags/Swift/index.html b/tags/Swift/index.html new file mode 100644 index 0000000..d31d4f0 --- /dev/null +++ b/tags/Swift/index.html @@ -0,0 +1,506 @@ + + + + + + + + + + + + + + + + + + + + + Tags: Swift | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                              + + + +
                                                                                                                                              + +
                                                                                                                                              + +
                                                                                                                                              +

                                                                                                                                              Tags: Swift

                                                                                                                                              +
                                                                                                                                              + +
                                                                                                                                              +
                                                                                                                                              + + +
                                                                                                                                              + + +
                                                                                                                                              + +
                                                                                                                                              +
                                                                                                                                              + + + +
                                                                                                                                              + +
                                                                                                                                              + +
                                                                                                                                              + + +
                                                                                                                                              + +
                                                                                                                                              + + + +
                                                                                                                                              + +
                                                                                                                                              + + + +
                                                                                                                                              + +
                                                                                                                                              + + + +
                                                                                                                                              + +
                                                                                                                                              + + +
                                                                                                                                              + + +
                                                                                                                                              + + + + +
                                                                                                                                              +
                                                                                                                                              + + + + + + + +
                                                                                                                                              + +

                                                                                                                                              扫一扫,分享到微信

                                                                                                                                              + 微信分享二维码 +
                                                                                                                                              + + + + + + + + + + +
                                                                                                                                              +
                                                                                                                                                +
                                                                                                                                                + + + + + + + + + + + + + + + + + + + diff --git a/tags/Tool/index.html b/tags/Tool/index.html new file mode 100644 index 0000000..e53dda8 --- /dev/null +++ b/tags/Tool/index.html @@ -0,0 +1,506 @@ + + + + + + + + + + + + + + + + + + + + + Tags: Tool | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                + + + +
                                                                                                                                                + +
                                                                                                                                                + +
                                                                                                                                                +

                                                                                                                                                Tags: Tool

                                                                                                                                                +
                                                                                                                                                + +
                                                                                                                                                +
                                                                                                                                                + + +
                                                                                                                                                + + +
                                                                                                                                                + +
                                                                                                                                                +
                                                                                                                                                + + + +
                                                                                                                                                + +
                                                                                                                                                + +
                                                                                                                                                + + +
                                                                                                                                                + +
                                                                                                                                                + + + +
                                                                                                                                                + +
                                                                                                                                                + + + +
                                                                                                                                                + +
                                                                                                                                                + + + +
                                                                                                                                                + +
                                                                                                                                                + + +
                                                                                                                                                + + +
                                                                                                                                                + + + + +
                                                                                                                                                +
                                                                                                                                                + + + + + + + +
                                                                                                                                                + +

                                                                                                                                                扫一扫,分享到微信

                                                                                                                                                + 微信分享二维码 +
                                                                                                                                                + + + + + + + + + + +
                                                                                                                                                +
                                                                                                                                                  +
                                                                                                                                                  + + + + + + + + + + + + + + + + + + + diff --git a/tags/UI/index.html b/tags/UI/index.html new file mode 100644 index 0000000..e217499 --- /dev/null +++ b/tags/UI/index.html @@ -0,0 +1,404 @@ + + + + + + + + + + + + + + + + + + + + + Tags: UI | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                  + + + +
                                                                                                                                                  + +
                                                                                                                                                  + +
                                                                                                                                                  +

                                                                                                                                                  Tags: UI

                                                                                                                                                  +
                                                                                                                                                  + +
                                                                                                                                                  +
                                                                                                                                                  + + +
                                                                                                                                                  + + +
                                                                                                                                                  + +
                                                                                                                                                  +
                                                                                                                                                  + + + +
                                                                                                                                                  + +
                                                                                                                                                  + +
                                                                                                                                                  + + +
                                                                                                                                                  + +
                                                                                                                                                  + + +
                                                                                                                                                  + + +
                                                                                                                                                  + + + + +
                                                                                                                                                  +
                                                                                                                                                  + + + + + + + +
                                                                                                                                                  + +

                                                                                                                                                  扫一扫,分享到微信

                                                                                                                                                  + 微信分享二维码 +
                                                                                                                                                  + + + + + + + + + + +
                                                                                                                                                  +
                                                                                                                                                    +
                                                                                                                                                    + + + + + + + + + + + + + + + + + + + diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 0000000..47f9f51 --- /dev/null +++ b/tags/index.html @@ -0,0 +1,1565 @@ + + + + + + + + + + + + + + + + + + + + + CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + +
                                                                                                                                                    +

                                                                                                                                                    Tags

                                                                                                                                                    +
                                                                                                                                                    + +
                                                                                                                                                    +
                                                                                                                                                    + + +
                                                                                                                                                    + + +
                                                                                                                                                    + +
                                                                                                                                                    +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + +

                                                                                                                                                    Reading Notes

                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + + +

                                                                                                                                                    Tool

                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + + +

                                                                                                                                                    多线程

                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + + +

                                                                                                                                                    Swift

                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + + +

                                                                                                                                                    Bug

                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + + +

                                                                                                                                                    OC

                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + + +

                                                                                                                                                    转载

                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + + +

                                                                                                                                                    LeetCode

                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + + +

                                                                                                                                                    STL

                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + + +

                                                                                                                                                    UI

                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + + +

                                                                                                                                                    剑指Offer

                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + + +
                                                                                                                                                    + +
                                                                                                                                                    + + +
                                                                                                                                                    + + +
                                                                                                                                                    + + + +
                                                                                                                                                    +
                                                                                                                                                    + + + + + + + +
                                                                                                                                                    + +

                                                                                                                                                    扫一扫,分享到微信

                                                                                                                                                    + 微信分享二维码 +
                                                                                                                                                    + + + + + + + + + + +
                                                                                                                                                    +
                                                                                                                                                      +
                                                                                                                                                      + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\211\221\346\214\207Offer/index.html" "b/tags/\345\211\221\346\214\207Offer/index.html" new file mode 100644 index 0000000..e2b77b6 --- /dev/null +++ "b/tags/\345\211\221\346\214\207Offer/index.html" @@ -0,0 +1,506 @@ + + + + + + + + + + + + + + + + + + + + + Tags: 剑指Offer | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                      + + + +
                                                                                                                                                      + +
                                                                                                                                                      + +
                                                                                                                                                      +

                                                                                                                                                      Tags: 剑指Offer

                                                                                                                                                      +
                                                                                                                                                      + +
                                                                                                                                                      +
                                                                                                                                                      + + +
                                                                                                                                                      + + +
                                                                                                                                                      + +
                                                                                                                                                      +
                                                                                                                                                      + + + +
                                                                                                                                                      + +
                                                                                                                                                      + +
                                                                                                                                                      + + +
                                                                                                                                                      + +
                                                                                                                                                      + + + +
                                                                                                                                                      + +
                                                                                                                                                      + + + +
                                                                                                                                                      + +
                                                                                                                                                      + + + +
                                                                                                                                                      + +
                                                                                                                                                      + + +
                                                                                                                                                      + + +
                                                                                                                                                      + + + + +
                                                                                                                                                      +
                                                                                                                                                      + + + + + + + +
                                                                                                                                                      + +

                                                                                                                                                      扫一扫,分享到微信

                                                                                                                                                      + 微信分享二维码 +
                                                                                                                                                      + + + + + + + + + + +
                                                                                                                                                      +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\244\232\347\272\277\347\250\213/index.html" "b/tags/\345\244\232\347\272\277\347\250\213/index.html" new file mode 100644 index 0000000..52d9b60 --- /dev/null +++ "b/tags/\345\244\232\347\272\277\347\250\213/index.html" @@ -0,0 +1,404 @@ + + + + + + + + + + + + + + + + + + + + + Tags: 多线程 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                        + + + +
                                                                                                                                                        + +
                                                                                                                                                        + +
                                                                                                                                                        +

                                                                                                                                                        Tags: 多线程

                                                                                                                                                        +
                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        + + +
                                                                                                                                                        + + +
                                                                                                                                                        + +
                                                                                                                                                        +
                                                                                                                                                        + + + +
                                                                                                                                                        + +
                                                                                                                                                        + +
                                                                                                                                                        + + +
                                                                                                                                                        + +
                                                                                                                                                        + + +
                                                                                                                                                        + + +
                                                                                                                                                        + + + + +
                                                                                                                                                        +
                                                                                                                                                        + + + + + + + +
                                                                                                                                                        + +

                                                                                                                                                        扫一扫,分享到微信

                                                                                                                                                        + 微信分享二维码 +
                                                                                                                                                        + + + + + + + + + + +
                                                                                                                                                        +
                                                                                                                                                          +
                                                                                                                                                          + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\350\275\254\350\275\275/index.html" "b/tags/\350\275\254\350\275\275/index.html" new file mode 100644 index 0000000..bc72bcc --- /dev/null +++ "b/tags/\350\275\254\350\275\275/index.html" @@ -0,0 +1,472 @@ + + + + + + + + + + + + + + + + + + + + + Tags: 转载 | CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                          + + + +
                                                                                                                                                          + +
                                                                                                                                                          + +
                                                                                                                                                          +

                                                                                                                                                          Tags: 转载

                                                                                                                                                          +
                                                                                                                                                          + +
                                                                                                                                                          +
                                                                                                                                                          + + +
                                                                                                                                                          + + +
                                                                                                                                                          + +
                                                                                                                                                          +
                                                                                                                                                          + + + +
                                                                                                                                                          + +
                                                                                                                                                          + +
                                                                                                                                                          + + +
                                                                                                                                                          + +
                                                                                                                                                          + + + +
                                                                                                                                                          + +
                                                                                                                                                          + + + +
                                                                                                                                                          + +
                                                                                                                                                          + + +
                                                                                                                                                          + + +
                                                                                                                                                          + + + + +
                                                                                                                                                          +
                                                                                                                                                          + + + + + + + +
                                                                                                                                                          + +

                                                                                                                                                          扫一扫,分享到微信

                                                                                                                                                          + 微信分享二维码 +
                                                                                                                                                          + + + + + + + + + + +
                                                                                                                                                          +
                                                                                                                                                            +
                                                                                                                                                            + + + + + + + + + + + + + + + + + + + From da05ceadd280bbff7404bb4d9c6b1dc35c643c8b Mon Sep 17 00:00:00 2001 From: DogeCoding Date: Mon, 15 Jan 2018 02:19:29 +0800 Subject: [PATCH 3/8] Site updated: 2018-01-15 02:19:29 --- .../index.html" | 8 +- .../index.html" | 8 +- .../index.html | 4 +- .../index.html | 8 +- .../index.html" | 8 +- .../index.html" | 4 +- .../index.html" | 4 +- .../index.html" | 8 +- .../index.html" | 8 +- .../index.html" | 4 +- .../index.html" | 9 +- 2018/01/15/test/index.html | 488 ++++++++++++++++++ archives/2017/07/index.html | 22 +- archives/2017/07/page/2/index.html | 10 +- archives/2017/page/2/index.html | 18 +- archives/2017/page/3/index.html | 14 +- archives/2018/01/index.html | 343 ++++++++++++ archives/2018/index.html | 343 ++++++++++++ archives/index.html | 60 +-- archives/page/2/index.html | 54 +- archives/page/3/index.html | 42 +- archives/page/4/index.html | 52 +- archives/page/5/index.html | 34 ++ atom.xml | 142 ++--- content.json | 2 +- index.html | 90 ++-- page/2/index.html | 161 +++--- page/3/index.html | 101 ++-- page/4/index.html | 48 ++ 29 files changed, 1685 insertions(+), 412 deletions(-) create mode 100644 2018/01/15/test/index.html create mode 100644 archives/2018/01/index.html create mode 100644 archives/2018/index.html diff --git "a/2017/07/23/title: CocoaPods \345\256\211\350\243\205\345\217\212\344\270\200\350\210\254\344\275\277\347\224\250/index.html" "b/2017/07/23/title: CocoaPods \345\256\211\350\243\205\345\217\212\344\270\200\350\210\254\344\275\277\347\224\250/index.html" index 16018dc..eea6fdd 100644 --- "a/2017/07/23/title: CocoaPods \345\256\211\350\243\205\345\217\212\344\270\200\350\210\254\344\275\277\347\224\250/index.html" +++ "b/2017/07/23/title: CocoaPods \345\256\211\350\243\205\345\217\212\344\270\200\350\210\254\344\275\277\347\224\250/index.html" @@ -349,18 +349,18 @@

                                                                                                                                                            diff --git "a/2017/07/23/title: Objective-C\345\243\260\346\230\216\345\234\250\345\244\264\346\226\207\344\273\266\345\222\214\345\256\236\347\216\260\346\226\207\344\273\266\344\270\255\347\232\204\345\214\272\345\210\253 /index.html" "b/2017/07/23/title: Objective-C\345\243\260\346\230\216\345\234\250\345\244\264\346\226\207\344\273\266\345\222\214\345\256\236\347\216\260\346\226\207\344\273\266\344\270\255\347\232\204\345\214\272\345\210\253 /index.html" index c292728..a3cb020 100644 --- "a/2017/07/23/title: Objective-C\345\243\260\346\230\216\345\234\250\345\244\264\346\226\207\344\273\266\345\222\214\345\256\236\347\216\260\346\226\207\344\273\266\344\270\255\347\232\204\345\214\272\345\210\253 /index.html" +++ "b/2017/07/23/title: Objective-C\345\243\260\346\230\216\345\234\250\345\244\264\346\226\207\344\273\266\345\222\214\345\256\236\347\216\260\346\226\207\344\273\266\344\270\255\347\232\204\345\214\272\345\210\253 /index.html" @@ -353,18 +353,18 @@

                                                                                                                                                            diff --git a/2017/07/23/title: Remove Duplicates from Sorted Array /index.html b/2017/07/23/title: Remove Duplicates from Sorted Array /index.html index ae31d2e..6cae943 100644 --- a/2017/07/23/title: Remove Duplicates from Sorted Array /index.html +++ b/2017/07/23/title: Remove Duplicates from Sorted Array /index.html @@ -313,9 +313,9 @@

                                                                                                                                                            diff --git a/2017/07/23/title: Search in Rotated Sorted Array /index.html b/2017/07/23/title: Search in Rotated Sorted Array /index.html index 8ee366a..ac689b8 100644 --- a/2017/07/23/title: Search in Rotated Sorted Array /index.html +++ b/2017/07/23/title: Search in Rotated Sorted Array /index.html @@ -397,18 +397,18 @@

                                                                                                                                                            Code

                                                                                                                                                            < diff --git a/tags/LeetCode/index.html b/tags/LeetCode/index.html index ed38dea..ecff3d9 100644 --- a/tags/LeetCode/index.html +++ b/tags/LeetCode/index.html @@ -172,23 +172,23 @@
                                                                                                                                                            - 多线程 + Swift - Swift + Bug - Bug + OC - OC + 转载 - 转载 + 多线程 diff --git a/tags/OC/index.html b/tags/OC/index.html index 86ddd9f..f43c806 100644 --- a/tags/OC/index.html +++ b/tags/OC/index.html @@ -164,15 +164,11 @@
                                                                                                                                                            ">All - Reading Notes + Reading Notes - Tool - - - - 多线程 + Tool @@ -192,19 +188,23 @@
                                                                                                                                                            - LeetCode + 多线程 + + + + LeetCode - STL + STL - UI + UI - 剑指Offer + 剑指Offer diff --git a/tags/Reading-Notes/index.html b/tags/Reading-Notes/index.html index eeb2895..77a25c7 100644 --- a/tags/Reading-Notes/index.html +++ b/tags/Reading-Notes/index.html @@ -172,23 +172,23 @@
                                                                                                                                                            - 多线程 + Swift - Swift + Bug - Bug + OC - OC + 转载 - 转载 + 多线程 diff --git a/tags/STL/index.html b/tags/STL/index.html index da347fe..39957e9 100644 --- a/tags/STL/index.html +++ b/tags/STL/index.html @@ -172,23 +172,23 @@
                                                                                                                                                            - 多线程 + Swift - Swift + Bug - Bug + OC - OC + 转载 - 转载 + 多线程 diff --git a/tags/Swift/index.html b/tags/Swift/index.html index d31d4f0..0d30a6d 100644 --- a/tags/Swift/index.html +++ b/tags/Swift/index.html @@ -164,15 +164,11 @@
                                                                                                                                                            ">All - Reading Notes + Reading Notes - Tool - - - - 多线程 + Tool @@ -192,19 +188,23 @@
                                                                                                                                                            - LeetCode + 多线程 + + + + LeetCode - STL + STL - UI + UI - 剑指Offer + 剑指Offer diff --git a/tags/Tool/index.html b/tags/Tool/index.html index e53dda8..6f98a0c 100644 --- a/tags/Tool/index.html +++ b/tags/Tool/index.html @@ -172,23 +172,23 @@
                                                                                                                                                            - 多线程 + Swift - Swift + Bug - Bug + OC - OC + 转载 - 转载 + 多线程 diff --git a/tags/UI/index.html b/tags/UI/index.html index e217499..ccf97db 100644 --- a/tags/UI/index.html +++ b/tags/UI/index.html @@ -172,23 +172,23 @@
                                                                                                                                                            - 多线程 + Swift - Swift + Bug - Bug + OC - OC + 转载 - 转载 + 多线程 diff --git a/tags/index.html b/tags/index.html index 47f9f51..c03b3aa 100644 --- a/tags/index.html +++ b/tags/index.html @@ -173,23 +173,23 @@
                                                                                                                                                            - 多线程 + Swift - Swift + Bug - Bug + OC - OC + 转载 - 转载 + 多线程 @@ -474,47 +474,6 @@

                                                                                                                                                            -

                                                                                                                                                            多线程

                                                                                                                                                            - -
                                                                                                                                                            - - -
                                                                                                                                                            - -
                                                                                                                                                            - - -
                                                                                                                                                            - -

                                                                                                                                                            Swift

                                                                                                                                                            @@ -1053,6 +1012,47 @@

                                                                                                                                                            +

                                                                                                                                                            多线程

                                                                                                                                                            + +
                                                                                                                                                            + + +
                                                                                                                                                            + +
                                                                                                                                                            + + +
                                                                                                                                                            + +

                                                                                                                                                            LeetCode

                                                                                                                                                            @@ -1136,7 +1136,7 @@

                                                                                                                                                            STL

                                                                                                                                                          • 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

                                                                                                                                                            +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 rKU-S-rLWjQe|1=ce)j$!eJ6$? literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..c204cf0 --- /dev/null +++ b/index.html @@ -0,0 +1,872 @@ + + + + + + + + + + + + + + + + + + + + + CodingDoge | 关于开发、设计,关于生活。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                                                                                                                                            + + + +
                                                                                                                                                            + +
                                                                                                                                                            + +
                                                                                                                                                            +

                                                                                                                                                            CodingDoge

                                                                                                                                                            +
                                                                                                                                                            + + 关于开发、设计,关于生活。 + +
                                                                                                                                                            +
                                                                                                                                                            + + + + +
                                                                                                                                                            + +
                                                                                                                                                            + +
                                                                                                                                                              + +
                                                                                                                                                            • +
                                                                                                                                                              + + + + + + + +

                                                                                                                                                              + Advanced Swift 笔记 —— 內建集合類型 +

                                                                                                                                                              + + + + + +
                                                                                                                                                              + + + 數組(Array)盡量不要使用下標索引,如果下標越界會直接導致crash(在並發情況下尤其需要考慮)。 + +迭代全部 + +1for x in array + +迭代除了第一個元素以外的其餘部分 + +1for x in array.dropFirst() + +迭代除了最後5個元素以外的數組 + +1for x in array.dropLast(5) + +列舉數組中的元素和對應下標 + +1for (index, ... + + + + Continue reading... + +
                                                                                                                                                              + + + +
                                                                                                                                                              + +
                                                                                                                                                            • + +
                                                                                                                                                            • +
                                                                                                                                                              + + + + + + + +

                                                                                                                                                              + Brew Instruction +

                                                                                                                                                              + + + + + +
                                                                                                                                                              + + + Brew + + + +brew help +查看有什麼可用的指令 + + + + +brew search [someSuit] +查詢有無someSuit + + +brew install [someSuit] +安裝someSuit + + +brew info [someSuit] +查看someSuit的訊息 + + +brew uninstall [someSuit] +移除someSuit + + +brew list +列出已... + + + + Continue reading... + +
                                                                                                                                                              + + + +
                                                                                                                                                              + +
                                                                                                                                                            • + +
                                                                                                                                                            • +
                                                                                                                                                              + + + + + + + +

                                                                                                                                                              + Advanced Swift 笔记 —— Tips +

                                                                                                                                                              + + + + + +
                                                                                                                                                              + + + Curried Function 柯里化函數一个函数不是接受多个参数,而是只接受部分参数,然后返回一个接受其余参数的函数。 +Statically Dispatched 靜態派發定義在類或者協議中的函數就是方法(Method),他們有一個隱式的self。不是方法的函數叫做自由函數(Free Function)。自由函数和那些在结构体上调用的方法是静态派发 (statically dispatc... + + + + Continue reading... + +
                                                                                                                                                              + + + +
                                                                                                                                                              + +
                                                                                                                                                            • + +
                                                                                                                                                            • +
                                                                                                                                                              + + + + + + + +

                                                                                                                                                              + 剑指Offer —— 二叉搜索树的第k个结点 +

                                                                                                                                                              + + + + + +
                                                                                                                                                              + + + +题目来源:牛客网 + + +题目描述给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。 +解题思路 +递归 +迭代way1中序遍历,找到第k个结点。完全性的模拟左根右,注意返回结果的处理。 + +TreeNode* KthNode(TreeNode* pRoot, int k) { + if (pRoot... + + + + Continue reading... + +
                                                                                                                                                              + + + +
                                                                                                                                                              + +
                                                                                                                                                            • + +
                                                                                                                                                            • +
                                                                                                                                                              + + + + + + + +

                                                                                                                                                              + 错误处理 +

                                                                                                                                                              + + + + + +
                                                                                                                                                              + + + 错误处理(Error handling)是响应错误以及从错误中恢复的过程。Swift 提供了在运行时对可恢复错误的抛出、捕获、传递和操作的一等公民支持。 +Swift 中有4种处理错误的方式 + +把函数抛出的错误传递给调用此函数的代码 +用do-catch语句处理错误 +将错误作为可选类型处理 +或者断言此错误根本不会发生 + + +Swift 中的错误处理并不涉及解除调用栈,这是一个计算代价高昂的过程。就... + + + + Continue reading... + +
                                                                                                                                                              + + + +
                                                                                                                                                              + +
                                                                                                                                                            • + +
                                                                                                                                                            • +
                                                                                                                                                              + + + + + + + +

                                                                                                                                                              + Dispatch 在swift中的使用 +

                                                                                                                                                              + + + + + +
                                                                                                                                                              + + + 创建队列当group里所有事件都完成GCD API有两种方式发送通知,第一种是dispatch_group_wait,会阻塞当前进程,等所有任务都完成或等待超时。第二种方法是使用dispatch_group_notify,异步执行闭包,不会阻塞。 +1234567891011121314151617181920212223242526272829func downloadPhotosWithC... + + + + Continue reading... + +
                                                                                                                                                              + + + +
                                                                                                                                                              + +
                                                                                                                                                            • + +
                                                                                                                                                            • +
                                                                                                                                                              + + + + + + + +

                                                                                                                                                              + Dispatch +

                                                                                                                                                              + + + + + +
                                                                                                                                                              + + + +Execute code concurrently on multicore hardware by submitting work to dispatch queues managed by the system. + +在多核硬件上,通过提交任务到由这个系统管理的派遣队列上,并发的执行代码。 +一种把保证回调会在主线程执行的方法: +12345678#ifndef dispatch_main_... + + + + Continue reading... + +
                                                                                                                                                              + + + +
                                                                                                                                                              + +
                                                                                                                                                            • + +
                                                                                                                                                            • +
                                                                                                                                                              + + + + + + + +

                                                                                                                                                              + 剑指Offer —— 最小的k个数 +

                                                                                                                                                              + + + + + +
                                                                                                                                                              + + + +题目描述输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。(很典型的题目了) +解题思路 +插入或者冒泡排序,优化点在记录已排好的个数(O(n*k)) +最小堆(O(nlogk)) +快排思想(O(n)) + +way1不上代码了。 +way2上个建堆的算法,通用、解耦、易测试😂 +12345678910111213141516171... + + + + Continue reading... + +
                                                                                                                                                              + + + +
                                                                                                                                                              + +
                                                                                                                                                            • + +
                                                                                                                                                            • +
                                                                                                                                                              + + + + + + + +

                                                                                                                                                              + 并发(concurrency)和并行(parallelism) +

                                                                                                                                                              + + + + + +
                                                                                                                                                              + + + +“并发”指的是程序的结构,“并行”指的是程序运行时的状态 + +并行(parallelism)这个概念很好理解。所谓并行,就是同时执行的意思,无需过度解读。判断程序是否处于并行的状态,就看同一时刻是否有超过一个“工作单位”在运行就好了。所以,单线程永远无法达到并行状态。 +要达到并行状态,最简单的就是利用多线程和多进程。 +并发(concurrency)要理解“并发”这个概念,必须得清楚,并发指的... + + + + Continue reading... + +
                                                                                                                                                              + +
                                                                                                                                                              + +
                                                                                                                                                            • + +
                                                                                                                                                            • +
                                                                                                                                                              + + + + + + + +

                                                                                                                                                              + iOS 保持界面流畅的技巧 +

                                                                                                                                                              + + + + + +
                                                                                                                                                              + + + +iOS 保持界面流畅的技巧 + +CPU 资源消耗原因和解决方案对象创建对象的创建会分配内存、调整属性、甚至还有读取文件等操作,比较消耗 CPU 资源。尽量用轻量的对象代替重量的对象,可以对性能有所优化。比如 CALayer 比 UIView 要轻量许多,那么不需要响应触摸事件的控件,用 CALayer 显示会更加合适。如果对象不涉及 UI 操作,则尽量放到后台线程去创建,但可惜的是包含有 C... + + + + Continue reading... + +
                                                                                                                                                              + + + +
                                                                                                                                                              + +
                                                                                                                                                            • + +
                                                                                                                                                            + + + + + +
                                                                                                                                                            + + + +
                                                                                                                                                            +
                                                                                                                                                            + + + + + + + +
                                                                                                                                                            + +

                                                                                                                                                            扫一扫,分享到微信

                                                                                                                                                            + 微信分享二维码 +
                                                                                                                                                            + + + + + + + + + + +
                                                                                                                                                            +
                                                                                                                                                              +
                                                                                                                                                              + + + + + + + + + + + + + + + + + + + diff --git a/js/main.js b/js/main.js new file mode 100644 index 0000000..9374e4c --- /dev/null +++ b/js/main.js @@ -0,0 +1,506 @@ +(function (w, d) { + + var body = d.body, + $ = d.querySelector.bind(d), + $$ = d.querySelectorAll.bind(d), + root = $('html'), + gotop = $('#gotop'), + menu = $('#menu'), + header = $('#header'), + mask = $('#mask'), + menuToggle = $('#menu-toggle'), + menuOff = $('#menu-off'), + loading = $('#loading'), + animate = w.requestAnimationFrame, + scrollSpeed = 200 / (1000 / 60), + forEach = Array.prototype.forEach, + even = ('ontouchstart' in w && /Mobile|Android|iOS|iPhone|iPad|iPod|Windows Phone|KFAPWI/i.test(navigator.userAgent)) ? 'touchstart' : 'click', + isWX = /micromessenger/i.test(navigator.userAgent), + noop = function () { }, + offset = function (el) { + var x = el.offsetLeft, + y = el.offsetTop; + + if (el.offsetParent) { + var pOfs = arguments.callee(el.offsetParent); + x += pOfs.x; + y += pOfs.y; + } + + return { + x: x, + y: y + }; + }, + rootScollTop = function() { + return d.documentElement.scrollTop || d.body.scrollTop; + }; + + var Blog = { + goTop: function (end) { + var top = rootScollTop(); + var interval = arguments.length > 2 ? arguments[1] : Math.abs(top - end) / scrollSpeed; + + if (top && top > end) { + w.scrollTo(0, Math.max(top - interval, 0)); + animate(arguments.callee.bind(this, end, interval)); + } else if (end && top < end) { + w.scrollTo(0, Math.min(top + interval, end)); + animate(arguments.callee.bind(this, end, interval)); + } else { + this.toc.actived(end); + } + }, + toggleGotop: function (top) { + if (top > w.innerHeight / 2) { + gotop.classList.add('in'); + } else { + gotop.classList.remove('in'); + } + }, + toggleMenu: function (flag) { + var main = $('#main'); + if (flag) { + menu.classList.remove('hide'); + + if (w.innerWidth < 1241) { + mask.classList.add('in'); + menu.classList.add('show'); + + if (isWX) { + var top = rootScollTop(); + main.classList.add('lock'); + main.scrollTop = top; + } else { + root.classList.add('lock'); + } + } + + } else { + menu.classList.remove('show'); + mask.classList.remove('in'); + if (isWX) { + var top = main.scrollTop; + main.classList.remove('lock'); + w.scrollTo(0, top); + } else { + root.classList.remove('lock'); + } + + } + }, + fixedHeader: function (top) { + if (top > header.clientHeight) { + header.classList.add('fixed'); + } else { + header.classList.remove('fixed'); + } + }, + toc: (function () { + var toc = $('#post-toc'); + + if (!toc || !toc.children.length) { + return { + fixed: noop, + actived: noop + } + } + + var bannerH = $('.post-header').clientHeight, + headerH = header.clientHeight, + titles = $('#post-content').querySelectorAll('h1, h2, h3, h4, h5, h6'); + + toc.querySelector('a[href="#' + titles[0].id + '"]').parentNode.classList.add('active'); + + return { + fixed: function (top) { + top >= bannerH - headerH ? toc.classList.add('fixed') : toc.classList.remove('fixed'); + }, + actived: function (top) { + for (i = 0, len = titles.length; i < len; i++) { + if (top > offset(titles[i]).y - headerH - 5) { + toc.querySelector('li.active').classList.remove('active'); + + var active = toc.querySelector('a[href="#' + titles[i].id + '"]').parentNode; + active.classList.add('active'); + } + } + + if (top < offset(titles[0]).y) { + toc.querySelector('li.active').classList.remove('active'); + toc.querySelector('a[href="#' + titles[0].id + '"]').parentNode.classList.add('active'); + } + } + } + })(), + hideOnMask: [], + modal: function (target) { + this.$modal = $(target); + this.$off = this.$modal.querySelector('.close'); + + var _this = this; + + this.show = function () { + mask.classList.add('in'); + _this.$modal.classList.add('ready'); + setTimeout(function () { + _this.$modal.classList.add('in'); + }, 0) + } + + this.onHide = noop; + + this.hide = function () { + _this.onHide(); + mask.classList.remove('in'); + _this.$modal.classList.remove('in'); + setTimeout(function () { + _this.$modal.classList.remove('ready'); + }, 300) + } + + this.toggle = function () { + return _this.$modal.classList.contains('in') ? _this.hide() : _this.show(); + } + + Blog.hideOnMask.push(this.hide); + this.$off && this.$off.addEventListener(even, this.hide); + }, + share: function () { + + var pageShare = $('#pageShare'), + fab = $('#shareFab'); + + var shareModal = new this.modal('#globalShare'); + + $('#menuShare').addEventListener(even, shareModal.toggle); + + if (fab) { + fab.addEventListener(even, function () { + pageShare.classList.toggle('in') + }, false) + + d.addEventListener(even, function (e) { + !fab.contains(e.target) && pageShare.classList.remove('in') + }, false) + } + + var wxModal = new this.modal('#wxShare'); + wxModal.onHide = shareModal.hide; + + forEach.call($$('.wxFab'), function (el) { + el.addEventListener(even, wxModal.toggle) + }) + + }, + search: function () { + var searchWrap = $('#search-wrap'); + + function toggleSearch() { + searchWrap.classList.toggle('in'); + } + + $('#search').addEventListener(even, toggleSearch); + }, + reward: function () { + var modal = new this.modal('#reward'); + $('#rewardBtn').addEventListener(even, modal.toggle); + + var $rewardToggle = $('#rewardToggle'); + var $rewardCode = $('#rewardCode'); + if ($rewardToggle) { + $rewardToggle.addEventListener('change', function () { + $rewardCode.src = this.checked ? this.dataset.alipay : this.dataset.wechat + }) + } + }, + waterfall: function () { + + if (w.innerWidth < 760) return; + + forEach.call($$('.waterfall'), function (el) { + var childs = el.querySelectorAll('.waterfall-item'); + var columns = [0, 0]; + + forEach.call(childs, function (item) { + var i = columns[0] <= columns[1] ? 0 : 1; + item.style.cssText = 'top:' + columns[i] + 'px;left:' + (i > 0 ? '50%' : 0); + columns[i] += item.offsetHeight; + }) + + el.style.height = Math.max(columns[0], columns[1]) + 'px'; + el.classList.add('in') + }) + + }, + tabBar: function (el) { + el.parentNode.parentNode.classList.toggle('expand') + }, + page: (function () { + var $elements = $$('.fade, .fade-scale'); + var visible = false; + + return { + loaded: function () { + forEach.call($elements, function (el) { + el.classList.add('in') + }); + visible = true; + }, + unload: function () { + forEach.call($elements, function (el) { + el.classList.remove('in') + }); + visible = false; + }, + visible: visible + } + + })(), + lightbox: (function () { + + function LightBox(element) { + this.$img = element.querySelector('img'); + this.$overlay = element.querySelector('overlay'); + this.margin = 40; + this.title = this.$img.title || this.$img.alt || ''; + this.isZoom = false; + + var naturalW, naturalH, imgRect, docW, docH; + + this.calcRect = function () { + docW = body.clientWidth; + docH = body.clientHeight; + var inH = docH - this.margin * 2; + var w = naturalW; + var h = naturalH; + var t = this.margin; + var l = 0; + var sw = w > docW ? docW / w : 1; + var sh = h > inH ? inH / h : 1; + var s = Math.min(sw, sh); + + w = w * s; + h = h * s; + + return { + w: w, + h: h, + t: (docH - h) / 2 - imgRect.top, + l: (docW - w) / 2 - imgRect.left + this.$img.offsetLeft + } + } + + this.setImgRect = function (rect) { + this.$img.style.cssText = 'width: ' + rect.w + 'px; max-width: ' + rect.w + 'px; height:' + rect.h + 'px; top: ' + rect.t + 'px; left: ' + rect.l + 'px'; + } + + this.setFrom = function () { + this.setImgRect({ + w: imgRect.width, + h: imgRect.height, + t: 0, + l: (element.offsetWidth - imgRect.width) / 2 + }) + } + + this.setTo = function () { + this.setImgRect(this.calcRect()); + } + + // this.updateSize = function () { + // var sw = sh = 1; + // if (docW !== body.clientWidth) { + // sw = body.clientWidth / docW; + // } + + // if (docH !== body.clientHeight) { + // sh = body.clientHeight / docH; + // } + + // docW = body.clientWidth; + // docH = body.clientHeight; + // var rect = this.$img.getBoundingClientRect(); + // var w = rect.width * sw; + // var h = rect.height * sh; + + // this.$img.classList.remove('zoom-in'); + // this.setImgRect({ + // w: w, + // h: h, + // t: this.$img.offsetTop - (h - rect.height) / 2, + // l: this.$img.offsetLeft - (w - rect.width) / 2 + // }) + // } + + this.addTitle = function () { + if (!this.title) { + return; + } + this.$caption = d.createElement('div'); + this.$caption.innerHTML = this.title; + this.$caption.className = 'overlay-title'; + element.appendChild(this.$caption); + } + + this.removeTitle = function () { + this.$caption && element.removeChild(this.$caption) + } + + var _this = this; + + this.zoomIn = function () { + naturalW = this.$img.naturalWidth || this.$img.width; + naturalH = this.$img.naturalHeight || this.$img.height; + imgRect = this.$img.getBoundingClientRect(); + element.style.height = imgRect.height + 'px'; + element.classList.add('ready'); + this.setFrom(); + this.addTitle(); + this.$img.classList.add('zoom-in'); + + setTimeout(function () { + element.classList.add('active'); + _this.setTo(); + _this.isZoom = true; + }, 0); + } + + this.zoomOut = function () { + this.isZoom = false; + element.classList.remove('active'); + this.$img.classList.add('zoom-in'); + this.setFrom(); + setTimeout(function () { + _this.$img.classList.remove('zoom-in'); + _this.$img.style.cssText = ''; + _this.removeTitle(); + element.classList.remove('ready'); + element.removeAttribute('style'); + }, 300); + } + + element.addEventListener('click', function (e) { + _this.isZoom ? _this.zoomOut() : e.target.tagName === 'IMG' && _this.zoomIn() + }) + + d.addEventListener('scroll', function () { + _this.isZoom && _this.zoomOut() + }) + + w.addEventListener('resize', function () { + // _this.isZoom && _this.updateSize() + _this.isZoom && _this.zoomOut() + }) + } + + forEach.call($$('.img-lightbox'), function (el) { + new LightBox(el) + }) + })(), + loadScript: function (scripts) { + scripts.forEach(function (src) { + var s = d.createElement('script'); + s.src = src; + s.async = true; + body.appendChild(s); + }) + } + }; + + w.addEventListener('load', function () { + loading.classList.remove('active'); + Blog.page.loaded(); + w.lazyScripts && w.lazyScripts.length && Blog.loadScript(w.lazyScripts) + }); + + w.addEventListener('DOMContentLoaded', function () { + Blog.waterfall(); + var top = rootScollTop(); + Blog.toc.fixed(top); + Blog.toc.actived(top); + Blog.page.loaded(); + }); + + var ignoreUnload = false; + var $mailTarget = $('a[href^="mailto"]'); + if($mailTarget) { + $mailTarget.addEventListener(even, function () { + ignoreUnload = true; + }); + } + + w.addEventListener('beforeunload', function (e) { + if (!ignoreUnload) { + Blog.page.unload(); + } else { + ignoreUnload = false; + } + }); + + w.addEventListener('pageshow', function () { + // fix OSX safari #162 + !Blog.page.visible && Blog.page.loaded(); + }); + + w.addEventListener('resize', function () { + w.BLOG.even = even = 'ontouchstart' in w ? 'touchstart' : 'click'; + Blog.toggleMenu(); + Blog.waterfall(); + }); + + gotop.addEventListener(even, function () { + animate(Blog.goTop.bind(Blog, 0)); + }, false); + + menuToggle.addEventListener(even, function (e) { + Blog.toggleMenu(true); + e.preventDefault(); + }, false); + + menuOff.addEventListener(even, function () { + menu.classList.add('hide'); + }, false); + + mask.addEventListener(even, function (e) { + Blog.toggleMenu(); + Blog.hideOnMask.forEach(function (hide) { + hide() + }); + e.preventDefault(); + }, false); + + d.addEventListener('scroll', function () { + var top = rootScollTop(); + Blog.toggleGotop(top); + Blog.fixedHeader(top); + Blog.toc.fixed(top); + Blog.toc.actived(top); + }, false); + + if (w.BLOG.SHARE) { + Blog.share() + } + + if (w.BLOG.REWARD) { + Blog.reward() + } + + Blog.noop = noop; + Blog.even = even; + Blog.$ = $; + Blog.$$ = $$; + + Object.keys(Blog).reduce(function (g, e) { + g[e] = Blog[e]; + return g + }, w.BLOG); + + if (w.Waves) { + Waves.init(); + Waves.attach('.global-share li', ['waves-block']); + Waves.attach('.article-tag-list-link, #page-nav a, #page-nav span', ['waves-button']); + } else { + console.error('Waves loading failed.') + } +})(window, document); diff --git a/js/main.min.js b/js/main.min.js new file mode 100644 index 0000000..c8bfa24 --- /dev/null +++ b/js/main.min.js @@ -0,0 +1 @@ +(function(t,e){var s=e.body,a=e.querySelector.bind(e),n=e.querySelectorAll.bind(e),o=a("html"),c=a("#gotop"),l=a("#menu"),r=a("#header"),d=a("#mask"),h=a("#menu-toggle"),f=a("#menu-off"),u=a("#loading"),v=t.requestAnimationFrame,m=12,g=Array.prototype.forEach,L="ontouchstart"in t&&/Mobile|Android|iOS|iPhone|iPad|iPod|Windows Phone|KFAPWI/i.test(navigator.userAgent)?"touchstart":"click",p=/micromessenger/i.test(navigator.userAgent),y=function(){},w=function(t){var e=t.offsetLeft,i=t.offsetTop;if(t.offsetParent){var s=arguments.callee(t.offsetParent);e+=s.x,i+=s.y}return{x:e,y:i}},$=function(){return e.documentElement.scrollTop||e.body.scrollTop},x={goTop:function(e){var i=$(),s=arguments.length>2?arguments[1]:Math.abs(i-e)/m;i&&i>e?(t.scrollTo(0,Math.max(i-s,0)),v(arguments.callee.bind(this,e,s))):e&&it.innerHeight/2?c.classList.add("in"):c.classList.remove("in")},toggleMenu:function(e){var i=a("#main");if(e){if(l.classList.remove("hide"),t.innerWidth<1241)if(d.classList.add("in"),l.classList.add("show"),p){var s=$();i.classList.add("lock"),i.scrollTop=s}else o.classList.add("lock")}else if(l.classList.remove("show"),d.classList.remove("in"),p){var s=i.scrollTop;i.classList.remove("lock"),t.scrollTo(0,s)}else o.classList.remove("lock")},fixedHeader:function(t){t>r.clientHeight?r.classList.add("fixed"):r.classList.remove("fixed")},toc:function(){var t=a("#post-toc");if(!t||!t.children.length)return{fixed:y,actived:y};var e=a(".post-header").clientHeight,s=r.clientHeight,n=a("#post-content").querySelectorAll("h1, h2, h3, h4, h5, h6");return t.querySelector('a[href="#'+n[0].id+'"]').parentNode.classList.add("active"),{fixed:function(i){i>=e-s?t.classList.add("fixed"):t.classList.remove("fixed")},actived:function(e){for(i=0,len=n.length;iw(n[i]).y-s-5){t.querySelector("li.active").classList.remove("active");var a=t.querySelector('a[href="#'+n[i].id+'"]').parentNode;a.classList.add("active")}e0?"50%":0),i[e]+=t.offsetHeight}),t.style.height=Math.max(i[0],i[1])+"px",t.classList.add("in")})},tabBar:function(t){t.parentNode.parentNode.classList.toggle("expand")},page:function(){var t=n(".fade, .fade-scale"),e=!1;return{loaded:function(){g.call(t,function(t){t.classList.add("in")}),e=!0},unload:function(){g.call(t,function(t){t.classList.remove("in")}),e=!1},visible:e}}(),lightbox:function(){function i(i){this.$img=i.querySelector("img"),this.$overlay=i.querySelector("overlay"),this.margin=40,this.title=this.$img.title||this.$img.alt||"",this.isZoom=!1;var a,n,o,c,l;this.calcRect=function(){c=s.clientWidth,l=s.clientHeight;var t=l-2*this.margin,e=a,i=n,r=(this.margin,e>c?c/e:1),d=i>t?t/i:1,h=Math.min(r,d);return e*=h,i*=h,{w:e,h:i,t:(l-i)/2-o.top,l:(c-e)/2-o.left+this.$img.offsetLeft}},this.setImgRect=function(t){this.$img.style.cssText="width: "+t.w+"px; max-width: "+t.w+"px; height:"+t.h+"px; top: "+t.t+"px; left: "+t.l+"px"},this.setFrom=function(){this.setImgRect({w:o.width,h:o.height,t:0,l:(i.offsetWidth-o.width)/2})},this.setTo=function(){this.setImgRect(this.calcRect())},this.addTitle=function(){this.title&&(this.$caption=e.createElement("div"),this.$caption.innerHTML=this.title,this.$caption.className="overlay-title",i.appendChild(this.$caption))},this.removeTitle=function(){this.$caption&&i.removeChild(this.$caption)};var r=this;this.zoomIn=function(){a=this.$img.naturalWidth||this.$img.width,n=this.$img.naturalHeight||this.$img.height,o=this.$img.getBoundingClientRect(),i.style.height=o.height+"px",i.classList.add("ready"),this.setFrom(),this.addTitle(),this.$img.classList.add("zoom-in"),setTimeout(function(){i.classList.add("active"),r.setTo(),r.isZoom=!0},0)},this.zoomOut=function(){this.isZoom=!1,i.classList.remove("active"),this.$img.classList.add("zoom-in"),this.setFrom(),setTimeout(function(){r.$img.classList.remove("zoom-in"),r.$img.style.cssText="",r.removeTitle(),i.classList.remove("ready"),i.removeAttribute("style")},300)},i.addEventListener("click",function(t){r.isZoom?r.zoomOut():"IMG"===t.target.tagName&&r.zoomIn()}),e.addEventListener("scroll",function(){r.isZoom&&r.zoomOut()}),t.addEventListener("resize",function(){r.isZoom&&r.zoomOut()})}g.call(n(".img-lightbox"),function(t){new i(t)})}(),loadScript:function(t){t.forEach(function(t){var i=e.createElement("script");i.src=t,i.async=!0,s.appendChild(i)})}};t.addEventListener("load",function(){u.classList.remove("active"),x.page.loaded(),t.lazyScripts&&t.lazyScripts.length&&x.loadScript(t.lazyScripts)}),t.addEventListener("DOMContentLoaded",function(){x.waterfall();var t=$();x.toc.fixed(t),x.toc.actived(t),x.page.loaded()});var E=!1,T=a('a[href^="mailto"]');T&&T.addEventListener(L,function(){E=!0}),t.addEventListener("beforeunload",function(t){E?E=!1:x.page.unload()}),t.addEventListener("pageshow",function(){!x.page.visible&&x.page.loaded()}),t.addEventListener("resize",function(){t.BLOG.even=L="ontouchstart"in t?"touchstart":"click",x.toggleMenu(),x.waterfall()}),c.addEventListener(L,function(){v(x.goTop.bind(x,0))},!1),h.addEventListener(L,function(t){x.toggleMenu(!0),t.preventDefault()},!1),f.addEventListener(L,function(){l.classList.add("hide")},!1),d.addEventListener(L,function(t){x.toggleMenu(),x.hideOnMask.forEach(function(t){t()}),t.preventDefault()},!1),e.addEventListener("scroll",function(){var t=$();x.toggleGotop(t),x.fixedHeader(t),x.toc.fixed(t),x.toc.actived(t)},!1),t.BLOG.SHARE&&x.share(),t.BLOG.REWARD&&x.reward(),x.noop=y,x.even=L,x.$=a,x.$$=n,Object.keys(x).reduce(function(t,e){return t[e]=x[e],t},t.BLOG),t.Waves?(Waves.init(),Waves.attach(".global-share li",["waves-block"]),Waves.attach(".article-tag-list-link, #page-nav a, #page-nav span",["waves-button"])):console.error("Waves loading failed.")})(window,document); \ No newline at end of file diff --git a/js/search.js b/js/search.js new file mode 100644 index 0000000..dd00f8b --- /dev/null +++ b/js/search.js @@ -0,0 +1,141 @@ +(function () { + + var G = window || this, + even = G.BLOG.even, + $ = G.BLOG.$, + searchIco = $('#search'), + searchWrap = $('#search-wrap'), + keyInput = $('#key'), + back = $('#back'), + searchPanel = $('#search-panel'), + searchResult = $('#search-result'), + searchTpl = $('#search-tpl').innerHTML, + JSON_DATA = (G.BLOG.ROOT + '/content.json').replace(/\/{2}/g, '/'), + searchData; + + function loadData(success) { + + if (!searchData) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', JSON_DATA, true); + + xhr.onload = function () { + if (this.status >= 200 && this.status < 300) { + var res = JSON.parse(this.response); + searchData = res instanceof Array ? res : res.posts; + success(searchData); + } else { + console.error(this.statusText); + } + }; + + xhr.onerror = function () { + console.error(this.statusText); + }; + + xhr.send(); + + } else { + success(searchData); + } + } + + function tpl(html, data) { + return html.replace(/\{\w+\}/g, function (str) { + var prop = str.replace(/\{|\}/g, ''); + return data[prop] || ''; + }); + } + + var noop = G.BLOG.noop; + var root = $('html'); + + var Control = { + show: function () { + G.innerWidth < 760 ? root.classList.add('lock-size') : noop; + searchPanel.classList.add('in'); + }, + hide: function () { + G.innerWidth < 760 ? root.classList.remove('lock-size') : noop; + searchPanel.classList.remove('in'); + } + }; + + function render(data) { + var html = ''; + if (data.length) { + + html = data.map(function (post) { + + return tpl(searchTpl, { + title: post.title, + path: (G.BLOG.ROOT + '/' + post.path).replace(/\/{2,}/g, '/'), + date: new Date(post.date).toLocaleDateString(), + tags: post.tags.map(function (tag) { + return '#' + tag.name + ''; + }).join('') + }); + + }).join(''); + + } else { + html = '

                                                                                                                                                              Fn1&bA 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