// File: /workspace/github_cpp_makefile_star2_O2/Joke-Shi[P]astrunc/sample/sample_all.cc
// Function: main
int main( int argc, const char **argv)
{
    std::string s_en = "The National People's Congress Standing Committee convened Monday to discuss amending "
                       "the Constitution.\n\n"
                       "Zhang Dejiang, chairman of the 12th NPC Standing Committee, presided over the meeting.\n\n"
                       "Li Zhanshu, member of the Standing Committee of the Political Bureau of the Communist "
                       "Party of China Central Committee, briefed lawmakers about a proposal by the Central "
                       "Committee on the revision to the Constitution.\n"
                       "The 19th CPC Central Committee adopted the proposal at its second plenary session this month.\n"
                       "\"Major theoretical achievements, principles and policies adopted at the 19th CPC National "
                       "Congress, particularly Xi Jinping Thought on Socialism with Chinese Characteristics for a New Era, "
                       "should be incorporated into the upcoming revision to the Constitution,\" said Li, also deputy head "
                       "of a group working on the revision.\n"
                       "\"We should keep pace with the times and improve the Constitution while maintaining its consistency, "
                       "stability and authority,\" Li said.\n"
                       "Amending of the Constitution should be done by adhering to the Party's leadership and socialist rule "
                       "of law, heading toward the correct political direction, following due process, being based on broad "
                       "consensus, embodying the will of the people and only amending part of it instead of revising it on a "
                       "large scale, Li said.\n"
                       "In 1982, the fifth NPC adopted the present Constitution, which underwent four amendments－in 1988, "
                       "1993, 1999 and 2004.\n"
                       "\"The Constitution has proved to be good legislation that fits in with China's reality and meets the "
                       "demands of the times,\" Li said, adding that because the Party and nation have undergone profound "
                       "changes since 2004, the Constitution should be adjusted accordingly.\n"
                       "Xinhua\n"
                       "He said: Chang suggested organizing a canine patrol squad at the museum and, in 1987, dogs came back. "
                       "At 1 year old, each dog is given a tailored training course. Most start their career as guard dogs "
                       "after three months of intense training.\n\n"
                       "Уорд Каннингем және оның соавторы Бо Леуф өздерінің « The Wiki Way: Quick Collaboration on the Web» "
                       "кітабында уики концепциясының мәнін былайша түсіндірген:\n"
                       "Уики әртүрлі беттер арасындағы байланысты оңай сітемелер жасау мүмкіндігі арқылы және сілтеме жасалған "
                       "беттердің бар-жоқтығын білдіру арқылы қамтамасыз етеді.";

    std::string s_zh = "Prometheus，它的价值在于可靠性，甚至在很恶劣的环境下，你都可以随时访问它和查看系统服务各种指标的统计信息。"
                       "如果你对统计数据需要100%的精确，它并不适用，例如：它不适用于实时计费系统。";

    std::string s_hy = "Chang- ը սկսեց աշխատել, երբ օգնում էր վերահսկել թանգարանը, երբ նա 20 տարեկան էր (abc): "
                       "1980-ական թվականներին մարդկային պահակները ցուցահանդեսային սրահներում միայն ձայնային "
                       "դետեկտորների օգնությամբ էին: Երբ ինչ-որ բան աննորմալ էր լսվում. նրանք գողություն կատարեցին դեպքի վայրում:";


    /** Begin split */
    { 
        std::vector< std::string > vs;
        int rc = astrunc::access::split( vs, s_en, astrunc::access::EN, -1);
        if ( 0 == rc) {
            for ( auto const &__s : vs ) {
                std::cout << ": -------------------------------------------------------------------------------[OK-EN]\n";
                std::cout << __s << std::endl;
            }
        } else { std::cerr << "[Error]: Split EN error\n"; }

        vs.clear();
        rc = astrunc::access::split( vs, s_zh, astrunc::access::ZH, 32);
        if ( 0 == rc) {
            for ( auto const &__s : vs ) {
                std::cout << ": -------------------------------------------------------------------------------[OK-ZH]\n";
                std::cout << __s << std::endl;
            }
        } else { std::cerr << "[Error]: Split ZH error\n"; }

        vs.clear();
        rc = astrunc::access::split( vs, s_hy, astrunc::access::HY, 32);
        if ( 0 == rc) {
            for ( auto const &__s : vs ) {
                std::cout << ": -------------------------------------------------------------------------------[OK-HY]\n";
                std::cout << __s << std::endl;
            }
        } else { std::cerr << "[Error]: Split HY error\n"; }

    }


    return 0;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x78, %rsp
leaq 0xc15(%rip), %rsi       # 0x631c
leaq 0x58(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq 0x5958
leaq 0x15a7(%rip), %rsi      # 0x6cc4
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rdx
callq 0x5958
leaq 0x1699(%rip), %rsi      # 0x6dcc
leaq 0x18(%rsp), %rdi
movq %rsp, %rdx
callq 0x5958
xorps %xmm0, %xmm0
movq %rsp, %rdi
movaps %xmm0, (%rdi)
andq $0x0, 0x10(%rdi)
leaq 0x58(%rsp), %rsi
pushq $0xe
popq %rdx
pushq $-0x1
popq %rcx
callq 0x2f16
testl %eax, %eax
je 0x581f
movq 0x4883(%rip), %rdi      # 0x9ff0
leaq 0x189e(%rip), %rsi      # 0x7012
callq 0x2120
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x59ca
leaq 0x38(%rsp), %rsi
pushq $0x46
popq %rdx
pushq $0x20
popq %rcx
movq %rbx, %rdi
callq 0x2f16
testl %eax, %eax
je 0x5863
movq 0x484a(%rip), %rdi      # 0x9ff0
leaq 0x18d8(%rip), %rsi      # 0x7085
callq 0x2120
movq %rsp, %rbx
movq %rbx, %rdi
callq 0x59ca
leaq 0x18(%rsp), %rsi
pushq $0x1a
popq %rdx
pushq $0x20
popq %rcx
movq %rbx, %rdi
callq 0x2f16
testl %eax, %eax
je 0x58a7
movq 0x4811(%rip), %rdi      # 0x9ff0
leaq 0x1912(%rip), %rsi      # 0x70f8
callq 0x2120
movq %rsp, %rdi
callq 0x59d2
leaq 0x18(%rsp), %rdi
callq 0x21e8
leaq 0x38(%rsp), %rdi
callq 0x21e8
leaq 0x58(%rsp), %rdi
callq 0x21e8
xorl %eax, %eax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq (%rsp), %rbx
movq 0x8(%rsp), %r12
movq 0x47a1(%rip), %r14      # 0x9fd0
leaq 0x1782(%rip), %r15      # 0x6fb8
cmpq %r12, %rbx
je 0x5779
movq %r14, %rdi
movq %r15, %rsi
callq 0x2120
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2110
movq %rax, %rdi
callq 0x2090
addq $0x20, %rbx
jmp 0x5836
movq (%rsp), %rbx
movq 0x8(%rsp), %r12
movq 0x475d(%rip), %r14      # 0x9fd0
leaq 0x17b1(%rip), %r15      # 0x702b
cmpq %r12, %rbx
je 0x57b2
movq %r14, %rdi
movq %r15, %rsi
callq 0x2120
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2110
movq %rax, %rdi
callq 0x2090
addq $0x20, %rbx
jmp 0x587a
movq (%rsp), %rbx
movq 0x8(%rsp), %r12
movq 0x4719(%rip), %r14      # 0x9fd0
leaq 0x17e0(%rip), %r15      # 0x709e
cmpq %r12, %rbx
je 0x57eb
movq %r14, %rdi
movq %r15, %rsi
callq 0x2120
movq %r14, %rdi
movq %rbx, %rsi
callq 0x2110
movq %rax, %rdi
callq 0x2090
addq $0x20, %rbx
jmp 0x58be
movq %rax, %rbx
jmp 0x5910
movq %rax, %rbx
jmp 0x591a
jmp 0x58fb
jmp 0x58fb
jmp 0x58fb
movq %rax, %rbx
movq %rsp, %rdi
callq 0x59d2
leaq 0x18(%rsp), %rdi
callq 0x21e8
leaq 0x38(%rsp), %rdi
callq 0x21e8
leaq 0x58(%rsp), %rdi
callq 0x21e8
movq %rbx, %rdi
callq 0x21b0