// File: pc260533[P]ITC313-TP2/commande.cpp
// Function: Commande::deserialiserObjet(ObjetSerialized)
void Commande::deserialiserObjet(ObjetSerialized objetSerialized) {
    objetSerialized.remplirMapNomAttributValeurAttribut();
    this->setIdentifiantCommande(std::stoi(objetSerialized.getValeurAttribut(this->getMapAttributsNomAttributs().at("identifiantCommande"))));
    this->nomClient = objetSerialized.getValeurAttribut(this->getMapAttributsNomAttributs().at("nomClient"));
    this->prenomClient = objetSerialized.getValeurAttribut(this->getMapAttributsNomAttributs().at("prenomClient"));

    std::vector<std::string> listeNomProduitsCommandes;
    std::stringstream listeNomProduitsCommandestringStream(objetSerialized.getValeurAttribut(this->getMapAttributsNomAttributs().at("listeNomProduitsCommandes")));
    std::string nomProduitCommande = "";
    while (std::getline(listeNomProduitsCommandestringStream, nomProduitCommande, ',')) {
        listeNomProduitsCommandes.push_back(nomProduitCommande);
    }
    this->listeNomProduitsCommandes = listeNomProduitsCommandes;

    std::stringstream listeQuantitesProduitsCommandesStringStream(objetSerialized.getValeurAttribut(this->getMapAttributsNomAttributs().at("listeQuantitesProduitsCommandes")));
    std::string quantiteProduitCommande = "";
    while (std::getline(listeQuantitesProduitsCommandesStringStream, quantiteProduitCommande, ',')) {
        this->listeQuantitesProduitsCommandes.push_back(std::stoi(quantiteProduitCommande));
    }

    std::string statutLivreeCommande = objetSerialized.getValeurAttribut(this->getMapAttributsNomAttributs().at("statutLivreeCommande"));
    if (statutLivreeCommande == "true") {
        this->setStatutLivreeCommande(true);
    }
    else if (statutLivreeCommande == "false") {
        this->setStatutLivreeCommande(false);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x810, %rsp            # imm = 0x810
movq %rsi, -0x748(%rbp)
movq %rdi, %rax
movq -0x748(%rbp), %rdi
movq %rdi, -0x740(%rbp)
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x738(%rbp)
callq 0x199e0
movq -0x738(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x1b9b0
leaq -0xa1(%rbp), %rdi
movq %rdi, -0x730(%rbp)
callq 0x4510
movq -0x730(%rbp), %rdx
leaq 0xa4ad(%rip), %rsi      # 0x1c919
leaq -0xa0(%rbp), %rdi
callq 0x7da0
jmp 0x1247a
leaq -0x80(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0xbb00
movq %rax, -0x750(%rbp)
jmp 0x12493
movq -0x750(%rbp), %rsi
leaq -0x50(%rbp), %rdi
callq 0x4150
jmp 0x124a5
movq -0x740(%rbp), %rsi
leaq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rdx
callq 0x19d70
jmp 0x124bb
xorl %eax, %eax
movl %eax, %esi
leaq -0x30(%rbp), %rdi
movl $0xa, %edx
callq 0x7e80
movl %eax, -0x754(%rbp)
jmp 0x124d5
movq -0x738(%rbp), %rdi
movl -0x754(%rbp), %esi
callq 0x10ae0
leaq -0x30(%rbp), %rdi
callq 0x4200
leaq -0x50(%rbp), %rdi
callq 0x4200
leaq -0xa0(%rbp), %rdi
callq 0x4200
leaq -0xa1(%rbp), %rdi
callq 0x4330
leaq -0x80(%rbp), %rdi
callq 0xbba0
movq -0x738(%rbp), %rsi
leaq -0x128(%rbp), %rdi
callq 0x1b9b0
leaq -0x149(%rbp), %rdi
movq %rdi, -0x760(%rbp)
callq 0x4510
movq -0x760(%rbp), %rdx
leaq 0xa220(%rip), %rsi      # 0x1c76e
leaq -0x148(%rbp), %rdi
callq 0x7da0
jmp 0x1255c
leaq -0x128(%rbp), %rdi
leaq -0x148(%rbp), %rsi
callq 0xbb00
movq %rax, -0x768(%rbp)
jmp 0x12578
movq -0x768(%rbp), %rsi
leaq -0xf8(%rbp), %rdi
callq 0x4150
jmp 0x1258d
movq -0x740(%rbp), %rsi
leaq -0xd8(%rbp), %rdi
leaq -0xf8(%rbp), %rdx
callq 0x19d70
jmp 0x125a9
movq -0x738(%rbp), %rdi
subq $-0x80, %rdi
leaq -0xd8(%rbp), %rsi
movq %rsi, -0x778(%rbp)
callq 0x4380
movq -0x778(%rbp), %rdi
callq 0x4200
leaq -0xf8(%rbp), %rdi
callq 0x4200
leaq -0x148(%rbp), %rdi
callq 0x4200
leaq -0x149(%rbp), %rdi
callq 0x4330
leaq -0x128(%rbp), %rdi
callq 0xbba0
movq -0x738(%rbp), %rsi
leaq -0x1c0(%rbp), %rdi
callq 0x1b9b0
leaq -0x1e1(%rbp), %rdi
movq %rdi, -0x770(%rbp)
callq 0x4510
movq -0x770(%rbp), %rdx
leaq 0xa134(%rip), %rsi      # 0x1c76b
leaq -0x1e0(%rbp), %rdi
callq 0x7da0
jmp 0x12645
leaq -0x1c0(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
callq 0xbb00
movq %rax, -0x780(%rbp)
jmp 0x12661
movq -0x780(%rbp), %rsi
leaq -0x190(%rbp), %rdi
callq 0x4150
jmp 0x12676
movq -0x740(%rbp), %rsi
leaq -0x170(%rbp), %rdi
leaq -0x190(%rbp), %rdx
callq 0x19d70
jmp 0x12692
movq -0x738(%rbp), %rdi
addq $0xa0, %rdi
leaq -0x170(%rbp), %rsi
movq %rsi, -0x788(%rbp)
callq 0x4380
movq -0x788(%rbp), %rdi
callq 0x4200
leaq -0x190(%rbp), %rdi
callq 0x4200
leaq -0x1e0(%rbp), %rdi
callq 0x4200
leaq -0x1e1(%rbp), %rdi
callq 0x4330
leaq -0x1c0(%rbp), %rdi
callq 0xbba0
leaq -0x200(%rbp), %rdi
callq 0xb070
movq -0x738(%rbp), %rsi
leaq -0x3f8(%rbp), %rdi
callq 0x1b9b0
jmp 0x12710
leaq -0x419(%rbp), %rdi
movq %rdi, -0x790(%rbp)
callq 0x4510
movq -0x790(%rbp), %rdx
leaq 0xa211(%rip), %rsi      # 0x1c942
leaq -0x418(%rbp), %rdi
callq 0x7da0
jmp 0x1273f
leaq -0x3f8(%rbp), %rdi
leaq -0x418(%rbp), %rsi
callq 0xbb00
movq %rax, -0x798(%rbp)
jmp 0x1275b
movq -0x798(%rbp), %rsi
leaq -0x3c8(%rbp), %rdi
callq 0x4150
jmp 0x12770
movq -0x740(%rbp), %rsi
leaq -0x3a8(%rbp), %rdi
leaq -0x3c8(%rbp), %rdx
callq 0x19d70
jmp 0x1278c
movl $0x10, %edi
movl $0x8, %esi
callq 0xbcc0
movl %eax, -0x79c(%rbp)
jmp 0x127a3
movl -0x79c(%rbp), %edx
leaq -0x388(%rbp), %rdi
leaq -0x3a8(%rbp), %rsi
callq 0x4470
jmp 0x127be
leaq -0x3a8(%rbp), %rdi
callq 0x4200
leaq -0x3c8(%rbp), %rdi
callq 0x4200
leaq -0x418(%rbp), %rdi
callq 0x4200
leaq -0x419(%rbp), %rdi
callq 0x4330
leaq -0x3f8(%rbp), %rdi
callq 0xbba0
leaq -0x441(%rbp), %rdi
movq %rdi, -0x7a8(%rbp)
callq 0x4510
movq -0x7a8(%rbp), %rdx
leaq 0xa31b(%rip), %rsi      # 0x1cb36
leaq -0x440(%rbp), %rdi
callq 0x7da0
jmp 0x12829
leaq -0x441(%rbp), %rdi
callq 0x4330
leaq -0x388(%rbp), %rdi
leaq -0x440(%rbp), %rsi
movl $0x2c, %edx
callq 0x4550
movq %rax, -0x7b0(%rbp)
jmp 0x12856
movq -0x7b0(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x43a0
movb %al, -0x7b1(%rbp)
jmp 0x12874
movb -0x7b1(%rbp), %al
testb $0x1, %al
jne 0x12883
jmp 0x12ade
leaq -0x200(%rbp), %rdi
leaq -0x440(%rbp), %rsi
callq 0xbce0
jmp 0x12898
jmp 0x12835
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x12906
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x128fa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x128f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x4200
leaq -0x50(%rbp), %rdi
callq 0x4200
leaq -0xa0(%rbp), %rdi
callq 0x4200
leaq -0xa1(%rbp), %rdi
callq 0x4330
leaq -0x80(%rbp), %rdi
callq 0xbba0
jmp 0x12ff7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x12972
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x12966
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0xf8(%rbp), %rdi
callq 0x4200
leaq -0x148(%rbp), %rdi
callq 0x4200
leaq -0x149(%rbp), %rdi
callq 0x4330
leaq -0x128(%rbp), %rdi
callq 0xbba0
jmp 0x12ff7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x129e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x129d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0x190(%rbp), %rdi
callq 0x4200
leaq -0x1e0(%rbp), %rdi
callq 0x4200
leaq -0x1e1(%rbp), %rdi
callq 0x4330
leaq -0x1c0(%rbp), %rdi
callq 0xbba0
jmp 0x12ff7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x12feb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x12a87
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x12a7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x12a6f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0x3a8(%rbp), %rdi
callq 0x4200
leaq -0x3c8(%rbp), %rdi
callq 0x4200
leaq -0x418(%rbp), %rdi
callq 0x4200
leaq -0x419(%rbp), %rdi
callq 0x4330
leaq -0x3f8(%rbp), %rdi
callq 0xbba0
jmp 0x12feb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0x441(%rbp), %rdi
callq 0x4330
jmp 0x12fdf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x12fd3
movq -0x738(%rbp), %rdi
addq $0xc0, %rdi
leaq -0x200(%rbp), %rsi
callq 0xbd50
jmp 0x12afa
movq -0x738(%rbp), %rsi
leaq -0x640(%rbp), %rdi
callq 0x1b9b0
jmp 0x12b0f
leaq -0x661(%rbp), %rdi
movq %rdi, -0x7c0(%rbp)
callq 0x4510
movq -0x7c0(%rbp), %rdx
leaq 0x9e43(%rip), %rsi      # 0x1c973
leaq -0x660(%rbp), %rdi
callq 0x7da0
jmp 0x12b3e
leaq -0x640(%rbp), %rdi
leaq -0x660(%rbp), %rsi
callq 0xbb00
movq %rax, -0x7c8(%rbp)
jmp 0x12b5a
movq -0x7c8(%rbp), %rsi
leaq -0x610(%rbp), %rdi
callq 0x4150
jmp 0x12b6f
movq -0x740(%rbp), %rsi
leaq -0x5f0(%rbp), %rdi
leaq -0x610(%rbp), %rdx
callq 0x19d70
jmp 0x12b8b
movl $0x10, %edi
movl $0x8, %esi
callq 0xbcc0
movl %eax, -0x7cc(%rbp)
jmp 0x12ba2
movl -0x7cc(%rbp), %edx
leaq -0x5d0(%rbp), %rdi
leaq -0x5f0(%rbp), %rsi
callq 0x4470
jmp 0x12bbd
leaq -0x5f0(%rbp), %rdi
callq 0x4200
leaq -0x610(%rbp), %rdi
callq 0x4200
leaq -0x660(%rbp), %rdi
callq 0x4200
leaq -0x661(%rbp), %rdi
callq 0x4330
leaq -0x640(%rbp), %rdi
callq 0xbba0
leaq -0x689(%rbp), %rdi
movq %rdi, -0x7d8(%rbp)
callq 0x4510
movq -0x7d8(%rbp), %rdx
leaq 0x9f1c(%rip), %rsi      # 0x1cb36
leaq -0x688(%rbp), %rdi
callq 0x7da0
jmp 0x12c28
leaq -0x689(%rbp), %rdi
callq 0x4330
leaq -0x5d0(%rbp), %rdi
leaq -0x688(%rbp), %rsi
movl $0x2c, %edx
callq 0x4550
movq %rax, -0x7e0(%rbp)
jmp 0x12c55
movq -0x7e0(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x43a0
movb %al, -0x7e1(%rbp)
jmp 0x12c73
movb -0x7e1(%rbp), %al
testb $0x1, %al
jne 0x12c82
jmp 0x12da0
movq -0x738(%rbp), %rax
addq $0x60, %rax
movq %rax, -0x7f0(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x688(%rbp), %rdi
movl $0xa, %edx
callq 0x7e80
movl %eax, -0x7e8(%rbp)
jmp 0x12cb1
movq -0x7f0(%rbp), %rdi
movl -0x7e8(%rbp), %eax
movl %eax, -0x690(%rbp)
leaq -0x690(%rbp), %rsi
callq 0xb220
jmp 0x12cd2
jmp 0x12c34
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x12d49
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x12d3d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x12d31
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0x5f0(%rbp), %rdi
callq 0x4200
leaq -0x610(%rbp), %rdi
callq 0x4200
leaq -0x660(%rbp), %rdi
callq 0x4200
leaq -0x661(%rbp), %rdi
callq 0x4330
leaq -0x640(%rbp), %rdi
callq 0xbba0
jmp 0x12fd3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0x689(%rbp), %rdi
callq 0x4330
jmp 0x12fc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x12fbb
movq -0x738(%rbp), %rsi
leaq -0x700(%rbp), %rdi
callq 0x1b9b0
jmp 0x12db5
leaq -0x721(%rbp), %rdi
movq %rdi, -0x7f8(%rbp)
callq 0x4510
movq -0x7f8(%rbp), %rdx
leaq 0x9bbd(%rip), %rsi      # 0x1c993
leaq -0x720(%rbp), %rdi
callq 0x7da0
jmp 0x12de4
leaq -0x700(%rbp), %rdi
leaq -0x720(%rbp), %rsi
callq 0xbb00
movq %rax, -0x800(%rbp)
jmp 0x12e00
movq -0x800(%rbp), %rsi
leaq -0x6d0(%rbp), %rdi
callq 0x4150
jmp 0x12e15
movq -0x740(%rbp), %rsi
leaq -0x6b0(%rbp), %rdi
leaq -0x6d0(%rbp), %rdx
callq 0x19d70
jmp 0x12e31
leaq -0x6d0(%rbp), %rdi
callq 0x4200
leaq -0x720(%rbp), %rdi
callq 0x4200
leaq -0x721(%rbp), %rdi
callq 0x4330
leaq -0x700(%rbp), %rdi
callq 0xbba0
leaq 0x9b46(%rip), %rsi      # 0x1c9ae
leaq -0x6b0(%rbp), %rdi
callq 0x7e50
movb %al, -0x801(%rbp)
jmp 0x12e7c
movb -0x801(%rbp), %al
testb $0x1, %al
jne 0x12e8b
jmp 0x12f33
movq -0x738(%rbp), %rdi
movl $0x1, %esi
callq 0x10bf0
jmp 0x12f6a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x12ef3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
jmp 0x12ee7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0x6d0(%rbp), %rdi
callq 0x4200
leaq -0x720(%rbp), %rdi
callq 0x4200
leaq -0x721(%rbp), %rdi
callq 0x4330
leaq -0x700(%rbp), %rdi
callq 0xbba0
jmp 0x12fbb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xb0(%rbp)
movl %eax, -0xb4(%rbp)
leaq -0x6b0(%rbp), %rdi
callq 0x4200
jmp 0x12fbb
leaq 0x9a6e(%rip), %rsi      # 0x1c9a8
leaq -0x6b0(%rbp), %rdi
callq 0x7e50
movb %al, -0x802(%rbp)
jmp 0x12f4e
movb -0x802(%rbp), %al
testb $0x1, %al
jne 0x12f5a
jmp 0x12f68
movq -0x738(%rbp), %rdi
xorl %esi, %esi
callq 0x10bf0
jmp 0x12f6a
leaq -0x6b0(%rbp), %rdi
callq 0x4200
leaq -0x688(%rbp), %rdi
callq 0x4200
leaq -0x5d0(%rbp), %rdi
callq 0x4260
leaq -0x440(%rbp), %rdi
callq 0x4200
leaq -0x388(%rbp), %rdi
callq 0x4260
leaq -0x200(%rbp), %rdi
callq 0xb090
addq $0x810, %rsp            # imm = 0x810
popq %rbp
retq
leaq -0x688(%rbp), %rdi
callq 0x4200
leaq -0x5d0(%rbp), %rdi
callq 0x4260
leaq -0x440(%rbp), %rdi
callq 0x4200
leaq -0x388(%rbp), %rdi
callq 0x4260
leaq -0x200(%rbp), %rdi
callq 0xb090
movq -0xb0(%rbp), %rdi
callq 0x4500
nopw %cs:(%rax,%rax)
nopl (%rax)