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
//! # Day 7: Internet Protocol Version 7
//!
//! While snooping around the local network of EBHQ, you compile a list of [IP addresses] (they're
//! IPv7, of course; [IPv6] is much too limited). You'd like to figure out which IPs support **TLS**
//! (transport-layer snooping).
//!
//! An IP supports TLS if it has an Autonomous Bridge Bypass Annotation, or **ABBA**. An ABBA is any
//! four-character sequence which consists of a pair of two different characters followed by the
//! reverse of that pair, such as `xyyx` or `abba`. However, the IP also must not have an ABBA
//! within any hypernet sequences, which are contained by **square brackets**.
//!
//! For example:
//!
//! - `abba[mnop]qrst` supports TLS (`abba` outside square brackets).
//! - `abcd[bddb]xyyx` does **not** support TLS (`bddb` is within square brackets, even though
//!   `xyyx` is outside square brackets).
//! - `aaaa[qwer]tyui` does **not** support TLS (`aaaa` is invalid; the interior characters must be
//!   different).
//! - `ioxxoj[asdfgh]zxcvbn` supports TLS (`oxxo` is outside square brackets, even though it's
//!   within a larger string).
//!
//! **How many IPs** in your puzzle input support TLS?
//!
//! [IP addresses]: https://en.wikipedia.org/wiki/IP_address
//! [IPv6]: https://en.wikipedia.org/wiki/IPv6

use anyhow::Result;

pub const INPUT: &str = include_str!("d07.txt");

pub fn solve_part_one(input: &str) -> Result<i64> {
    Ok(0)
}

pub fn solve_part_two(input: &str) -> Result<i64> {
    Ok(0)
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn part_one() {}

    #[test]
    fn part_two() {}
}