// File: /workspace/github_cpp_makefile_star2_O1/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 %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
leaq 0x48(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x166b(%rip), %rsi      # 0x82f6
leaq 0x200b(%rip), %rdx      # 0x8c9d
leaq 0x38(%rsp), %rdi
callq 0x73e6
leaq 0x28(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0x1ff2(%rip), %rsi      # 0x8c9e
leaq 0x20f2(%rip), %rdx      # 0x8da5
leaq 0x18(%rsp), %rdi
callq 0x73e6
leaq 0x68(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x20d9(%rip), %rsi      # 0x8da6
leaq 0x22bd(%rip), %rdx      # 0x8f91
leaq 0x58(%rsp), %rdi
callq 0x73e6
xorps %xmm0, %xmm0
movaps %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
cmpq $0x0, 0x40(%rsp)
je 0x6d0c
movq %rsp, %rdi
leaq 0x38(%rsp), %rsi
movq $-0x1, %rdx
callq 0x403c
jmp 0x6d0e
xorl %eax, %eax
testl %eax, %eax
je 0x6d2c
movq 0x42d7(%rip), %rdi      # 0xaff0
leaq 0x22cc(%rip), %rsi      # 0x8fec
movl $0x18, %edx
callq 0x2150
jmp 0x6d9c
movq (%rsp), %r12
movq 0x8(%rsp), %r13
cmpq %r13, %r12
je 0x6d9c
movq 0x428f(%rip), %rbx      # 0xafd0
leaq 0x224a(%rip), %r14      # 0x8f92
movl $0x59, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2150
movq (%r12), %rsi
movq 0x8(%r12), %rdx
movq %rbx, %rdi
callq 0x2150
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2110
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
addq $0x20, %r12
cmpq %r13, %r12
jne 0x6d48
movq (%rsp), %rbx
movq 0x8(%rsp), %r14
cmpq %rbx, %r14
je 0x6dd7
leaq 0x10(%rbx), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x6dc2
movq (%r15), %rsi
incq %rsi
callq 0x2130
leaq 0x20(%r15), %rax
addq $0x10, %r15
cmpq %r14, %r15
movq %rax, %r15
jne 0x6dae
movq %rbx, 0x8(%rsp)
cmpq $0x0, 0x20(%rsp)
je 0x6df3
movq %rsp, %rdi
leaq 0x18(%rsp), %rsi
movl $0x20, %edx
callq 0x3210
jmp 0x6df5
xorl %eax, %eax
testl %eax, %eax
je 0x6e13
movq 0x41f0(%rip), %rdi      # 0xaff0
leaq 0x2258(%rip), %rsi      # 0x905f
movl $0x18, %edx
callq 0x2150
jmp 0x6e83
movq (%rsp), %r12
movq 0x8(%rsp), %r13
cmpq %r13, %r12
je 0x6e83
movq 0x41a8(%rip), %rbx      # 0xafd0
leaq 0x21d6(%rip), %r14      # 0x9005
movl $0x59, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2150
movq (%r12), %rsi
movq 0x8(%r12), %rdx
movq %rbx, %rdi
callq 0x2150
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2110
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
addq $0x20, %r12
cmpq %r13, %r12
jne 0x6e2f
movq (%rsp), %rbx
movq 0x8(%rsp), %r14
cmpq %rbx, %r14
je 0x6ebe
leaq 0x10(%rbx), %r15
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x6ea9
movq (%r15), %rsi
incq %rsi
callq 0x2130
leaq 0x20(%r15), %rax
addq $0x10, %r15
cmpq %r14, %r15
movq %rax, %r15
jne 0x6e95
movq %rbx, 0x8(%rsp)
cmpq $0x0, 0x60(%rsp)
je 0x6eda
movq %rsp, %rdi
leaq 0x58(%rsp), %rsi
movl $0x20, %edx
callq 0x58e8
jmp 0x6edc
xorl %eax, %eax
testl %eax, %eax
je 0x6efa
movq 0x4109(%rip), %rdi      # 0xaff0
leaq 0x21e4(%rip), %rsi      # 0x90d2
movl $0x18, %edx
callq 0x2150
jmp 0x6f6a
movq (%rsp), %r12
movq 0x8(%rsp), %r13
cmpq %r13, %r12
je 0x6f6a
movq 0x40c1(%rip), %rbx      # 0xafd0
leaq 0x2162(%rip), %r14      # 0x9078
movl $0x59, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2150
movq (%r12), %rsi
movq 0x8(%r12), %rdx
movq %rbx, %rdi
callq 0x2150
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2110
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x20a0
addq $0x20, %r12
cmpq %r13, %r12
jne 0x6f16
movq %rsp, %rdi
callq 0x70ac
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x6f89
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x6fa5
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x6fc1
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x2130
xorl %eax, %eax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
jmp 0x7004
movq %rax, %rbx
jmp 0x7020
jmp 0x6fe2
jmp 0x6fe2
jmp 0x6fe2
movq %rax, %rbx
movq %rsp, %rdi
callq 0x70ac
movq 0x58(%rsp), %rdi
cmpq %rbp, %rdi
je 0x7004
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x7020
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x2130
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x703c
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x2130
movq %rbx, %rdi
callq 0x21a0