// File: /workspace/github_cpp_makefile_star2_O2/williewillus[P]panda_scratchpad/src/checker/DiskContents.cpp
// Function: operator<<(std::basic_ofstream<char, std::char_traits<char>>&, fileAttributes&)
ofstream& operator<< (ofstream& os, fileAttributes& a) {
  // print dir_attr
  os << "---Directory Atrributes---" << endl;
  os << "Name   : " << (a.dir_attr).d_name << endl;
  os << "Inode  : " << (a.dir_attr).d_ino << endl;
  os << "Offset : " << (a.dir_attr).d_off << endl;
  os << "Length : " << (a.dir_attr).d_reclen << endl;
  os << "Type   : " << (a.dir_attr).d_type << endl;
  // print stat_attr
  os << "---File Stat Atrributes---" << endl;
  os << "Inode     : " << (a.stat_attr).st_ino << endl;
  os << "TotalSize : " << (a.stat_attr).st_size << endl;
  os << "BlockSize : " << (a.stat_attr).st_blksize << endl;
  os << "#Blocks   : " << (a.stat_attr).st_blocks << endl;
  os << "#HardLinks: " << (a.stat_attr).st_nlink << endl;
  os << "Mode      : " << (a.stat_attr).st_mode << endl;
  os << "User ID   : " << (a.stat_attr).st_uid << endl;
  os << "Group ID  : " << (a.stat_attr).st_gid << endl;
  os << "Device ID : " << (a.stat_attr).st_rdev << endl;
  os << "RootDev ID: " << (a.stat_attr).st_dev << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x41c1(%rip), %rsi      # 0x1252c
callq 0x5480
movq %rax, %rdi
callq 0x5240
leaq 0x41c8(%rip), %rsi      # 0x12547
movq %r14, %rdi
callq 0x5480
leaq 0x13(%rbx), %rsi
movq %rax, %rdi
callq 0x5480
movq %rax, %rdi
callq 0x5240
leaq 0x41af(%rip), %rsi      # 0x12551
movq %r14, %rdi
callq 0x5480
movq (%rbx), %rsi
movq %rax, %rdi
callq 0x50d0
movq %rax, %rdi
callq 0x5240
leaq 0x4197(%rip), %rsi      # 0x1255b
movq %r14, %rdi
callq 0x5480
movq 0x8(%rbx), %rsi
movq %rax, %rdi
callq 0x57b0
movq %rax, %rdi
callq 0x5240
leaq 0x417e(%rip), %rsi      # 0x12565
movq %r14, %rdi
callq 0x5480
movzwl 0x10(%rbx), %esi
movq %rax, %rdi
callq 0x5740
movq %rax, %rdi
callq 0x5240
leaq 0x4165(%rip), %rsi      # 0x1256f
movq %r14, %rdi
callq 0x5480
movzbl 0x12(%rbx), %esi
movq %rax, %rdi
callq 0x5660
movq %rax, %rdi
callq 0x5240
leaq 0x414c(%rip), %rsi      # 0x12579
movq %r14, %rdi
callq 0x5480
movq %rax, %rdi
callq 0x5240
leaq 0x4150(%rip), %rsi      # 0x12594
movq %r14, %rdi
callq 0x5480
movq 0x120(%rbx), %rsi
movq %rax, %rdi
callq 0x50d0
movq %rax, %rdi
callq 0x5240
leaq 0x4137(%rip), %rsi      # 0x125a1
movq %r14, %rdi
callq 0x5480
movq 0x148(%rbx), %rsi
movq %rax, %rdi
callq 0x57b0
movq %rax, %rdi
callq 0x5240
leaq 0x411e(%rip), %rsi      # 0x125ae
movq %r14, %rdi
callq 0x5480
movq 0x150(%rbx), %rsi
movq %rax, %rdi
callq 0x57b0
movq %rax, %rdi
callq 0x5240
leaq 0x4105(%rip), %rsi      # 0x125bb
movq %r14, %rdi
callq 0x5480
movq 0x158(%rbx), %rsi
movq %rax, %rdi
callq 0x57b0
movq %rax, %rdi
callq 0x5240
leaq 0x40ec(%rip), %rsi      # 0x125c8
movq %r14, %rdi
callq 0x5480
movq 0x128(%rbx), %rsi
movq %rax, %rdi
callq 0x50d0
movq %rax, %rdi
callq 0x5240
leaq 0x40d3(%rip), %rsi      # 0x125d5
movq %r14, %rdi
callq 0x5480
movl 0x130(%rbx), %esi
movq %rax, %rdi
callq 0x5550
movq %rax, %rdi
callq 0x5240
leaq 0x40bb(%rip), %rsi      # 0x125e2
movq %r14, %rdi
callq 0x5480
movl 0x134(%rbx), %esi
movq %rax, %rdi
callq 0x5550
movq %rax, %rdi
callq 0x5240
leaq 0x40a3(%rip), %rsi      # 0x125ef
movq %r14, %rdi
callq 0x5480
movl 0x138(%rbx), %esi
movq %rax, %rdi
callq 0x5550
movq %rax, %rdi
callq 0x5240
leaq 0x408b(%rip), %rsi      # 0x125fc
movq %r14, %rdi
callq 0x5480
movq 0x140(%rbx), %rsi
movq %rax, %rdi
callq 0x50d0
movq %rax, %rdi
callq 0x5240
leaq 0x4072(%rip), %rsi      # 0x12609
movq %r14, %rdi
callq 0x5480
movq 0x118(%rbx), %rsi
movq %rax, %rdi
callq 0x50d0
movq %rax, %rdi
callq 0x5240